Cómo usar Webhooks
Los webhooks son callbacks HTTP configurados por cada cuenta. Se disparan cuando ocurren acciones dentro de Redchat,
como la creación de un mensaje. Una misma cuenta puede tener múltiples webhooks configurados.
Cómo agregar un webhook
Paso 1.
Ir a Configuración → Integraciones → Webhooks y hacer clic en el botón "Configurar".
Paso 2.
Hacer clic en "Añadir nuevo webhook".
Se abrirá un modal donde tenés que ingresar:
- URL a la cual se enviará el POST.
- Eventos a los que te querés suscribir.
Esto te permite recibir solo los eventos que te interesan.
Redchat enviará una petición POST a la URL configurada con un payload similar al siguiente, dependiendo del evento.
Ejemplo de payload de webhook
{
"event": "message_created",
"id": "1",
"content": "Hi",
"created_at": "2020-03-03 13:05:57 UTC",
"message_type": "incoming",
"content_type": "enum",
"content_attributes": {},
"source_id": "",
"sender": {
"id": "1",
"name": "Agent",
"email": "[email protected]"
},
"contact": {
"id": "1",
"name": "contact-name"
},
"conversation": {
"display_id": "1",
"additional_attributes": {
"browser": {
"device_name": "Macbook",
"browser_name": "Chrome",
"platform_name": "Macintosh",
"browser_version": "80.0.3987.122",
"platform_version": "10.15.2"
},
"referer": "http://www.Redchat.com",
"initiated_at": "Tue Mar 03 2020 18:37:38 GMT-0700 (Mountain Standard Time)"
}
},
"account": {
"id": "1",
"name": "Redchat"
}
}
Eventos soportados por Webhooks en Redchat
Cada evento tiene su propio formato de payload. A continuación se detallan los objetos principales y los eventos
disponibles.
Objetos incluidos en los eventos
Account
{
"id": "integer",
"name": "string"
}
Inbox
{
"id": "integer",
"name": "string"
}
Contact
{
"id": "integer",
"name": "string",
"avatar": "string",
"type": "contact",
"account": { ... }
}
User
{
"id": "integer",
"name": "string",
"email": "string",
"type": "user"
}
Conversation
Incluye datos como atributos adicionales, estado, canal, inbox, mensajes, remitentes, última actividad, etc.
Message
Contiene contenido, tipo de mensaje, timestamps, si es privado, atributos, remitente, conversación, inbox y cuenta.
Listado de Eventos de Webhook
A continuación, los eventos que Redchat puede enviar a tu servidor.
conversation_created
Se dispara cuando se crea una nueva conversación.
{
"event": "conversation_created"
// ...atributos de conversación
}
conversation_updated
Se dispara cuando algún atributo de la conversación cambia.
{
"event": "conversation_updated",
"changed_attributes": [
{
"<attribute_name>": {
"current_value": "",
"previous_value": ""
}
}
]
}
conversation_status_changed
Se dispara cuando cambia el estado de la conversación.
(Nota: este evento no está soportado en Agent Bot API.)
{
"event": "conversation_status_changed"
}
message_created
Cuando se crea un nuevo mensaje.
{
"event": "message_created"
}
message_updated
Cuando un mensaje es editado.
{
"event": "message_updated"
}
webwidget_triggered
Se dispara cuando un usuario abre el widget del chat.
Incluye:
- contacto
- inbox
- cuenta
- conversación actual
- idioma del widget
- browser info
- referer
- timestamps
conversation_typing_on
Se dispara cuando un agente empieza a tipear (nota interna o mensaje).
{
"event": "conversation_typing_on",
"conversation": { ... },
"user": { ... },
"is_private": true
}
conversation_typing_off
Cuando el agente deja de tipear o sale de la ventana.
{
"event": "conversation_typing_off",
"conversation": { ... },
"user": { ... },
"is_private": true
}