API de Conversaciones y Mensajes: enviar un mensaje y consultar estados
Cómo enviar mensajes por API a una conversación de Omnifox y seguir su estado de entrega.
La API de Conversaciones y Mensajes permite leer, crear y responder conversaciones de cualquier canal conectado (WhatsApp, Instagram, Messenger, Webchat, etc.) desde tu propio backend o herramienta de automatización, sin abrir el Inbox.
Requisitos
- Token Bearer con acceso al workspace.
- Un
conversation_idexistente, o usarfind-or-createpara obtenerlo a partir de un contacto/canal.
Endpoints principales
GET /api/v1/conversations— lista conversaciones (con?workspace_id=y filtros de estado).POST /api/v1/conversations/find-or-create— obtiene o crea la conversación para un contacto+canal.GET /api/v1/conversations/{conversation}— detalle.POST /api/v1/conversations/{conversation}/messages— envía un mensaje.GET /api/v1/conversations/{conversation}/messages— lista los mensajes.GET /api/v1/conversations/{conversation}/messages/{message}— consulta el estado de un mensaje puntual.POST /api/v1/conversations/{conversation}/assign,/close,/reopen— flujo operativo.
Cuerpo para enviar un mensaje
{
"content": "Hola, ¿en qué te puedo ayudar?",
"type": "text",
"is_internal_note": false,
"reply_to_message_id": null
}
Para plantillas de WhatsApp, usá "type": "template" con template_id y template_params.
Estados de un mensaje
Cada mensaje trae un campo status con estos valores: queued, sent, delivered, read, failed. Consultalo con un GET al mensaje o suscribite a los eventos message.sent, message.delivered, message.read y message.failed vía Webhooks salientes.
Ejemplo: enviar un mensaje de texto
curl -X POST "https://app.omnifox.io/api/v1/conversations/101/messages" \
-H "Authorization: Bearer TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Tu pedido ya fue despachado."}'
Consejos
- Usá
is_internal_note: truepara dejar contexto solo visible a agentes, sin enviarlo al cliente. - Si el canal es WhatsApp y pasaron más de 24 h desde el último mensaje del cliente, solo se puede reabrir la conversación con una plantilla aprobada (
type: template).
Solución de problemas
status: failed: revisá el detalle del mensaje; suele indicar plantilla no aprobada, ventana de 24h vencida o número inválido.- 404 en
/messages: elconversation_idno existe o pertenece a otro workspace. - Mensaje enviado pero contacto no lo ve: confirmá que
is_internal_noteno quedó entruepor error.
Artículos relacionados
-
Cómo conectar integraciones y apps externas
Conecta Omnifox con tus herramientas favoritas desde el catálogo de integraciones en pocos pasos.
-
Generar y usar API keys y webhooks
Crea claves de API para acceder a Omnifox por código y configura webhooks para recibir eventos en tiempo real.
-
Introducción a las integraciones (webhook / OAuth / API key)
Conecta Omnifox con tus otras herramientas. Aprende cuándo usar un webhook, una conexión OAuth de la galería o una clave de API.
-
La API REST de Omnifox: introducción y requisitos de plan
Qué es la API REST de Omnifox, qué plan necesitas (desde Crece), cómo autenticar con la cabecera X-API-Key y dónde está la documentación.
-
Crear una clave API personal (PAT)
Aprendé a generar tu primera clave API personal en Omnifox para conectar integraciones, scripts o herramientas externas a tu workspace.