Integración Chatbot¶
Este es un servicio que se encargará de las integraciones que realicemos con el bot y otros servicios de comunicación como WhatsApp® y otros.
El servicio cumple con el flujo definido para mantener una conversación con el servicio chatbot-core
.
¿Cómo funciona?¶
El servicio requiere una suscripción con el proveedor de comunicación para poder funcionar.
Como estos funcionan a traves de webhooks, cada vez que se reciba un mensaje al endpoint dado al proveedor entonces se obtiene la sesión y se lanza al usuario las opciones del bot como funcionaria en la versión web.
En caso de agentes, hay un endpoint para que se envíe el mensaje al proveedor para que el usuario reciba el mensaje sin pasar por el flujo del bot.
Integración con WhatsApp¶
Se soporta la versión de API v14.0 y v15.0
La integración con WhatsApp por el momento soporta:
- Suscripción del webhook
- Flujo de bot
- Mensajes tipo:
- Text (enviar y recibir)
- Imágenes (enviar y recibir)
- Documentos adjuntos (solo enviar)
- Agentes
Tomar en cuenta
Enviar es desde chatbot-integ hacia usuario y recibir es de usuario a chatbot-integ
Para realizar la integración, se requiere un token de verificación y el id del bot a la cual estará asignado ese webhook.
Al momento de configurar el webhook, la url de devolución de llamada debe ser:
https://aless-intg.ofimatic.net/api/v1/whatsapp/{CUSTOMER_ID}/{BOT_ID}/{PRONE_ID}
El token de verificación debe estar en la tabla whatsapp_bot_config
en la columna verification_token
para dicho bot, la columna subscribed
debe tener el valor 0
. Una vez que se suscribe entonces el token se remueve de la base de datos y subscribed
pasa a tener el valor 1
para el bot.
Luego de registrar, en los Campos del webhook darle a Administrar
y suscribirse al que dice messages
en la versión de api soportada`.
Pruebas¶
Para probar, en la sección de primeros pasos de la aplicación en https://developers.facebook.com/apps
poner el Token de acceso temporal en la columna token
y el Identificador de número de teléfono en la columna phone_id
en la tabla whatsapp_bot_config
. Y la versión del api en api_version
.
Notificación por evento¶
Hay un API protegido para iniciar la conversación sin esperar que el usuario la inicie.
POST: https://aless-intg.ofimatic.net/api/bots/{BOT_ID}/init
X-Api-Key: {{API_KEY}}
Content-Type: application/json
{
"provider": string,
"to": string,
"script_id": int,
"reference_id": string,
"variables": {
string: "URL"
}
}
script_id
y variables
son opcionales.