Payload de webhook de Instagram
Los webhooks de Instagram se envían para mensajes directos, reacciones y confirmaciones de lectura.
Payload de ejemplo
{"event": {"id": "evt_ig_abc123","channel": "instagram","timestamp": 1706640000.0,"data": {"timestamp": 1706640000.0,"direction": "inbound","platform": "instagram","message_id": "igmid_xyz789","chat_id": "chat_456","content": "Hey! I saw your post about coaching services","is_from_account": false,"account_id": "acc_123","sender_attendee": {"attendee_id": "att_789","attendee_name": "johndoe","attendee_provider_id": "17841234567890","attendee_profile_url": "https://instagram.com/johndoe"},"social_event_type": "message_received","attendees": [{"attendee_id": "att_789","attendee_name": "johndoe","attendee_provider_id": "17841234567890"}],"attachments": [],"usage_data": {"prompt_tokens": 180,"completion_tokens": 55,"model": "gpt-4"},"tools_called": [],"analysis_result": {"sentiment": "curious","intent": "inquiry"}}},"lead_id": "lead_123","lead_contact": {"number": "","email": "","name": "johndoe"},"business_id": "biz_456","lead_created": true}
Referencia de campos
Campos principales
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
timestamp | float | Sí | Marca de tiempo Unix epoch |
direction | string | Sí | inbound o outbound |
platform | string | Sí | Siempre instagram |
message_id | string | Sí | ID de mensaje de Instagram |
chat_id | string | Sí | ID del hilo de conversación |
content | string | Sí | Contenido del mensaje |
is_from_account | boolean | Sí | True si fue enviado por la cuenta conectada |
account_id | string | Sí | ID de cuenta de Instagram conectada |
social_event_type | string | Sí | Tipo de evento |
Valores de social_event_type
| Valor | Descripción |
|---|---|
message_received | Nuevo mensaje recibido |
message_reaction | Reacción añadida al mensaje |
message_read | Mensaje marcado como leído |
message_edited | Mensaje fue editado |
message_deleted | Mensaje fue eliminado |
Objeto sender_attendee
| Campo | Tipo | Descripción |
|---|---|---|
attendee_id | string | ID interno del asistente |
attendee_name | string | Nombre de usuario de Instagram |
attendee_provider_id | string | ID de usuario de Instagram |
attendee_profile_url | string | URL del perfil (opcional) |
Campos opcionales
| Campo | Tipo | Descripción |
|---|---|---|
attendees | array | Participantes de la conversación |
attachments | array | Adjuntos de medios |
usage_data | object | Uso de tokens LLM |
tools_called | array | Nombres de herramientas ejecutadas |
tool_calls | array | Datos sin procesar de llamadas a herramientas |
tool_results | object | Resultados de ejecución de herramientas |
analysis_result | object | Resultado del análisis de IA |
appointments | array | Citas extraídas |
execution_context | object | Contexto del activador de origen |
reaction | string | Emoji (para reacciones) |
reaction_sender | object | Información del remitente de la reacción |
Array de attachments
| Campo | Tipo | Descripción |
|---|---|---|
id | string | ID del adjunto |
type | string | image, video, audio, story_mention, reel |
url | string | URL de descarga |
mimetype | string | Tipo MIME |
unavailable | boolean | True si expiró |
size | object | Dimensiones |
Los prospectos de Instagram pueden no tener teléfono o correo inicialmente. Usa la conversación para recopilar información de contacto.