ZapyFlow/Documentación de la APIopenapi.json

Conversations

Conversaciones y mensajes

GET/api/conversation-stages

Etapas comerciales del equipo

Ámbito requerido: conversations.read

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

POST/api/conversation-stages

Crear una etapa comercial

Ámbito requerido: conversation_stages.write

Cuerpo de la petición

CampoTipoObligatorioRestricciones
namestringsímin 1, max 40
colorstringsí—
bash
curl -X POST "https://api.zapyflow.com.br/api/conversation-stages" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respuestas
  • 201 — Creado
  • 409 — Conflicto con el estado actual
  • 422 — Entendido, pero rechazado por una regla

PATCH/api/conversation-stages/{id}

Renombrar o recolorear una etapa comercial

Ámbito requerido: conversation_stages.write

ParámetroDóndeObligatorio
idpathsí

Cuerpo de la petición

CampoTipoObligatorioRestricciones
namestringnomin 1, max 40
colorstringno—
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 '{ ... }'
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace
  • 409 — Conflicto con el estado actual

DELETE/api/conversation-stages/{id}

Eliminar una etapa comercial

Ámbito requerido: conversation_stages.write

ParámetroDóndeObligatorio
idpathsí
bash
curl -X DELETE "https://api.zapyflow.com.br/api/conversation-stages/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace
  • 409 — Conflicto con el estado actual

GET/api/conversations

Listar las conversaciones del equipo, con filtros

Ámbito requerido: conversations.read

ParámetroDóndeObligatorio
pagequeryno
limitqueryno
statusqueryno
handoffTypequeryno
aiAgentIdqueryno
searchqueryno
assigneequeryno
bash
curl "https://api.zapyflow.com.br/api/conversations" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK

GET/api/conversations/{id}

Detalles de una conversación

Ámbito requerido: conversations.read

ParámetroDóndeObligatorio
idpathsí
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

PATCH/api/conversations/{id}

Actualizar el estado o el responsable de una conversación

Ámbito requerido: conversations.write

ParámetroDóndeObligatorio
idpathsí

Cuerpo de la petición

CampoTipoObligatorioRestricciones
status"ACTIVE" | "RESOLVED" | "HANDED_OFF"no—
handoffTypestringno—
assignedTostringno—
assignedToUserIdstringnullno—
bash
curl -X PATCH "https://api.zapyflow.com.br/api/conversations/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace
  • 422 — Entendido, pero rechazado por una regla

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

Generar análisis con IA sobre una conversación

Ámbito requerido: conversations.write

ParámetroDóndeObligatorio
idpathsí
bash
curl -X POST "https://api.zapyflow.com.br/api/conversations/{id}/ai-insights" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

GET/api/conversations/{id}/messages

Listar los mensajes de una conversación, paginado para el historial antiguo

Ámbito requerido: conversations.read

ParámetroDóndeObligatorio
limitqueryno
cursorqueryno
idpathsí
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}/messages" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 400 — Petición malformada
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

POST/api/conversations/{id}/messages

Enviar un mensaje como agente humano

Ámbito requerido: conversations.write

ParámetroDóndeObligatorio
idpathsí

Cuerpo de la petición

CampoTipoObligatorioRestricciones
contentstringnomin 1
type"TEXT" | "AUDIO" | "IMAGE" | "VIDEO" | "DOCUMENT" | "LOCATION"no—
mediaUrlstringno—
templateobjectno—
replyToMessageIdstringno—
idempotencyKeystringnomin 8, max 160
correlationIdstringnomin 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 '{ ... }'
Respuestas
  • 201 — Creado
  • 400 — Petición malformada
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace
  • 409 — Conflicto con el estado actual
  • 503

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

Reaccionar a un mensaje con un emoji

Ámbito requerido: conversations.write

ParámetroDóndeObligatorio
idpathsí
messageIdpathsí

Cuerpo de la petición

CampoTipoObligatorioRestricciones
emojistringsímax 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 '{ ... }'
Respuestas
  • 200 — OK
  • 400 — Petición malformada
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

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

Disponibilidad de ventana y cuotas por categoría de plantilla

Ámbito requerido: conversations.read

ParámetroDóndeObligatorio
idpathsí
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}/template-availability" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

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

Sube contenido (adjunto o audio) para enviar en una conversación

Ámbito requerido: conversations.write

ParámetroDóndeObligatorio
idpathsí
bash
curl -X POST "https://api.zapyflow.com.br/api/conversations/{id}/upload-media" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 400 — Petición malformada
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

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

Disponibilidad de ventana y cuotas por categoría de plantilla

Ámbito requerido: conversations.read

ParámetroDóndeObligatorio
idpathsí
bash
curl "https://api.zapyflow.com.br/api/conversations/{id}/utility-check" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

POST/api/conversations/new

Iniciar una conversación nueva con un número

Ámbito requerido: conversations.write

Cuerpo de la petición

CampoTipoObligatorioRestricciones
contentstringnomin 1
type"TEXT" | "AUDIO" | "IMAGE" | "VIDEO" | "DOCUMENT" | "LOCATION"no—
mediaUrlstringno—
templateobjectno—
replyToMessageIdstringno—
idempotencyKeystringnomin 8, max 160
correlationIdstringnomin 8, max 160
channelIdstringsí—
phoneNumberstringsímin 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 '{ ... }'
Respuestas
  • 201 — Creado
  • 400 — Petición malformada
  • 403 — Prohibido, o la clave no tiene este ámbito
  • 409 — Conflicto con el estado actual
  • 503

GET/api/conversations/overview

Métricas de conversaciones (7 días) con sparkline y crecimiento

Ámbito requerido: conversations.read

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

GET/api/media-library

Archivos reutilizables del equipo

Ámbito requerido: library.read

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

POST/api/media-library

Guardar un archivo en la biblioteca

Ámbito requerido: library.write

Cuerpo de la petición

CampoTipoObligatorioRestricciones
idstringsí—
namestringsí—
urlstringsí—
contentTypestringsí—
kind"IMAGE" | "VIDEO" | "AUDIO" | "DOCUMENT"sí—
sizeBytesintegersí—
usageCountintegersí—
bash
curl -X POST "https://api.zapyflow.com.br/api/media-library" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Respuestas
  • 201 — Creado
  • 400 — Petición malformada
  • 409 — Conflicto con el estado actual

PATCH/api/media-library/{id}

Renombrar un archivo de la biblioteca

Ámbito requerido: library.write

ParámetroDóndeObligatorio
idpathsí

Cuerpo de la petición

CampoTipoObligatorioRestricciones
namestringsímin 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 '{ ... }'
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

DELETE/api/media-library/{id}

Quitar un archivo de la biblioteca

Ámbito requerido: library.write

ParámetroDóndeObligatorio
idpathsí
bash
curl -X DELETE "https://api.zapyflow.com.br/api/media-library/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

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

Registrar el envío de un archivo de la biblioteca

Ámbito requerido: library.write

ParámetroDóndeObligatorio
idpathsí
bash
curl -X POST "https://api.zapyflow.com.br/api/media-library/{id}/used" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK

GET/api/quick-replies

Respuestas rápidas del equipo

Ámbito requerido: library.read

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

POST/api/quick-replies

Crear una respuesta rápida

Ámbito requerido: library.write

Cuerpo de la petición

CampoTipoObligatorioRestricciones
shortcutstringsímin 1, max 40
contentstringsímin 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 '{ ... }'
Respuestas
  • 201 — Creado
  • 409 — Conflicto con el estado actual

DELETE/api/quick-replies/{id}

Eliminar una respuesta rápida

Ámbito requerido: library.write

ParámetroDóndeObligatorio
idpathsí
bash
curl -X DELETE "https://api.zapyflow.com.br/api/quick-replies/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK
  • 404 — No encontrado — también es la respuesta cuando el recurso es de otro workspace

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

Registrar el uso de una respuesta rápida

Ámbito requerido: library.write

ParámetroDóndeObligatorio
idpathsí
bash
curl -X POST "https://api.zapyflow.com.br/api/quick-replies/{id}/used" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Respuestas
  • 200 — OK