ZapyFlow/Documentação da APIopenapi.json

Conversations

Conversas e mensagens

GET/api/conversation-stages

Etapas comerciais do time

Escopo exigido: conversations.read

bash
curl "https://api.zapyflow.com.br/api/conversation-stages" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK

POST/api/conversation-stages

Criar etapa comercial

Escopo exigido: conversation_stages.write

Corpo da requisição

CampoTipoObrigatórioRestrições
namestringsimmin 1, max 40
colorstringsim—
bash
curl -X POST "https://api.zapyflow.com.br/api/conversation-stages" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 201 — Criado
  • 409 — Conflito com o estado atual
  • 422 — Entendido, mas recusado por uma regra

PATCH/api/conversation-stages/{id}

Renomear ou repintar uma etapa comercial

Escopo exigido: conversation_stages.write

ParâmetroOndeObrigatório
idpathsim

Corpo da requisição

CampoTipoObrigatórioRestrições
namestringnãomin 1, max 40
colorstringnão—
bash
curl -X PATCH "https://api.zapyflow.com.br/api/conversation-stages/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace
  • 409 — Conflito com o estado atual

DELETE/api/conversation-stages/{id}

Excluir etapa comercial

Escopo exigido: conversation_stages.write

ParâmetroOndeObrigatório
idpathsim
bash
curl -X DELETE "https://api.zapyflow.com.br/api/conversation-stages/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace
  • 409 — Conflito com o estado atual

GET/api/conversations

Listar conversas do time com filtros

Escopo exigido: conversations.read

ParâmetroOndeObrigatório
pagequerynão
limitquerynão
statusquerynão
handoffTypequerynão
aiAgentIdquerynão
searchquerynão
assigneequerynão
bash
curl "https://api.zapyflow.com.br/api/conversations" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK

GET/api/conversations/{id}

Detalhes de uma conversa

Escopo exigido: conversations.read

ParâmetroOndeObrigatório
idpathsim
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

PATCH/api/conversations/{id}

Atualizar status ou assignedTo de uma conversa

Escopo exigido: conversations.write

ParâmetroOndeObrigatório
idpathsim

Corpo da requisição

CampoTipoObrigatórioRestrições
status"ACTIVE" | "RESOLVED" | "HANDED_OFF"não—
handoffTypestringnão—
assignedTostringnão—
assignedToUserIdstringnullnão—
bash
curl -X PATCH "https://api.zapyflow.com.br/api/conversations/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace
  • 422 — Entendido, mas recusado por uma regra

POST/api/conversations/{id}/ai-insights

Gerar insights IA sobre uma conversa

Escopo exigido: conversations.write

ParâmetroOndeObrigatório
idpathsim
bash
curl -X POST "https://api.zapyflow.com.br/api/conversations/{id}/ai-insights" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

GET/api/conversations/{id}/messages

Listar mensagens de uma conversa com paginacao para historico antigo

Escopo exigido: conversations.read

ParâmetroOndeObrigatório
limitquerynão
cursorquerynão
idpathsim
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}/messages" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 400 — Requisição malformada
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

POST/api/conversations/{id}/messages

Enviar mensagem como agente humano na conversa

Escopo exigido: conversations.write

ParâmetroOndeObrigatório
idpathsim

Corpo da requisição

CampoTipoObrigatórioRestrições
contentstringnãomin 1
type"TEXT" | "AUDIO" | "IMAGE" | "VIDEO" | "DOCUMENT" | "LOCATION"não—
mediaUrlstringnão—
templateobjectnão—
replyToMessageIdstringnão—
idempotencyKeystringnãomin 8, max 160
correlationIdstringnãomin 8, max 160
bash
curl -X POST "https://api.zapyflow.com.br/api/conversations/{id}/messages" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 201 — Criado
  • 400 — Requisição malformada
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace
  • 409 — Conflito com o estado atual
  • 503

POST/api/conversations/{id}/messages/{messageId}/react

Reagir a uma mensagem com emoji

Escopo exigido: conversations.write

ParâmetroOndeObrigatório
idpathsim
messageIdpathsim

Corpo da requisição

CampoTipoObrigatórioRestrições
emojistringsimmax 16
bash
curl -X POST "https://api.zapyflow.com.br/api/conversations/{id}/messages/{messageId}/react" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 200 — OK
  • 400 — Requisição malformada
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

GET/api/conversations/{id}/template-availability

Disponibilidade de janela e cotas por categoria de modelo

Escopo exigido: conversations.read

ParâmetroOndeObrigatório
idpathsim
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}/template-availability" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

POST/api/conversations/{id}/upload-media

Upload de mídia (anexo/áudio) para enviar numa conversa

Escopo exigido: conversations.write

ParâmetroOndeObrigatório
idpathsim
bash
curl -X POST "https://api.zapyflow.com.br/api/conversations/{id}/upload-media" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 400 — Requisição malformada
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

GET/api/conversations/{id}/utility-check

Disponibilidade de janela e cotas por categoria de modelo

Escopo exigido: conversations.read

ParâmetroOndeObrigatório
idpathsim
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}/utility-check" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

POST/api/conversations/new

Iniciar nova conversa com um numero

Escopo exigido: conversations.write

Corpo da requisição

CampoTipoObrigatórioRestrições
contentstringnãomin 1
type"TEXT" | "AUDIO" | "IMAGE" | "VIDEO" | "DOCUMENT" | "LOCATION"não—
mediaUrlstringnão—
templateobjectnão—
replyToMessageIdstringnão—
idempotencyKeystringnãomin 8, max 160
correlationIdstringnãomin 8, max 160
channelIdstringsim—
phoneNumberstringsimmin 10, max 40
bash
curl -X POST "https://api.zapyflow.com.br/api/conversations/new" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 201 — Criado
  • 400 — Requisição malformada
  • 403 — Proibido, ou a chave não tem este escopo
  • 409 — Conflito com o estado atual
  • 503

GET/api/conversations/overview

Métricas de conversas (7 dias) com sparkline e crescimento

Escopo exigido: conversations.read

bash
curl "https://api.zapyflow.com.br/api/conversations/overview" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK

GET/api/media-library

Arquivos reutilizáveis do time

Escopo exigido: library.read

bash
curl "https://api.zapyflow.com.br/api/media-library" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK

POST/api/media-library

Guardar um arquivo na biblioteca

Escopo exigido: library.write

Corpo da requisição

CampoTipoObrigatórioRestrições
idstringsim—
namestringsim—
urlstringsim—
contentTypestringsim—
kind"IMAGE" | "VIDEO" | "AUDIO" | "DOCUMENT"sim—
sizeBytesintegersim—
usageCountintegersim—
bash
curl -X POST "https://api.zapyflow.com.br/api/media-library" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 201 — Criado
  • 400 — Requisição malformada
  • 409 — Conflito com o estado atual

PATCH/api/media-library/{id}

Renomear um arquivo da biblioteca

Escopo exigido: library.write

ParâmetroOndeObrigatório
idpathsim

Corpo da requisição

CampoTipoObrigatórioRestrições
namestringsimmin 1, max 120
bash
curl -X PATCH "https://api.zapyflow.com.br/api/media-library/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

DELETE/api/media-library/{id}

Tirar um arquivo da biblioteca

Escopo exigido: library.write

ParâmetroOndeObrigatório
idpathsim
bash
curl -X DELETE "https://api.zapyflow.com.br/api/media-library/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

POST/api/media-library/{id}/used

Registrar envio de um arquivo da biblioteca

Escopo exigido: library.write

ParâmetroOndeObrigatório
idpathsim
bash
curl -X POST "https://api.zapyflow.com.br/api/media-library/{id}/used" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK

GET/api/quick-replies

Respostas rápidas do time

Escopo exigido: library.read

bash
curl "https://api.zapyflow.com.br/api/quick-replies" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK

POST/api/quick-replies

Criar resposta rápida

Escopo exigido: library.write

Corpo da requisição

CampoTipoObrigatórioRestrições
shortcutstringsimmin 1, max 40
contentstringsimmin 1, max 4000
bash
curl -X POST "https://api.zapyflow.com.br/api/quick-replies" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respostas
  • 201 — Criado
  • 409 — Conflito com o estado atual

DELETE/api/quick-replies/{id}

Excluir resposta rápida

Escopo exigido: library.write

ParâmetroOndeObrigatório
idpathsim
bash
curl -X DELETE "https://api.zapyflow.com.br/api/quick-replies/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK
  • 404 — Não encontrado — também é a resposta quando o recurso é de outro workspace

POST/api/quick-replies/{id}/used

Registrar uso de uma resposta rápida

Escopo exigido: library.write

ParâmetroOndeObrigatório
idpathsim
bash
curl -X POST "https://api.zapyflow.com.br/api/quick-replies/{id}/used" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respostas
  • 200 — OK