Con la integración de LINE de Dialogflow, puedes usar tu agente de Dialogflow como un bot de LINE.
Limitaciones
Esta integración solo admite el idioma predeterminado del agente.
Cómo funciona
La integración funciona de la siguiente manera:
- Debes crear un canal de LINE.
- Debes asociar tu agente de Dialogflow con ese canal para que se comunique entre sí.
- La integración de Dialogflow envía mensajes al usuario final con la API de LINE Messaging.
- La integración de Dialogflow actúa como un webhook de LINE para recibir mensajes del usuario final.
Configuración
Para configurar la integración, debes realizar las siguientes acciones:
- Sigue los pasos para crear un canal de LINE: Comienza a usar la API de mensajería.
- Obtén la URL de webhook de LINE desde la consola de Dialogflow:
- Ve a la consola de Dialogflow ES.
- Haz clic en Integrations, en el menú de la barra lateral izquierda.
- Haz clic en LINE.
- Copia el valor de la URL de webhook. Lo necesitarás para configurar tu webhook de LINE.
- Configura un webhook de LINE:
- Sigue los pasos para configurar un webhook de LINE para tu canal: Recibe mensajes de LINE (webhooks).
- Proporciona la configuración del webhook de LINE con la URL de webhook que se copió antes.
- Copia los valores de ID del canal, Secreto de canal y Token de acceso al canal. Necesitarás estos valores para configurar tu integración de Dialogflow.
- Configura la integración de Dialogflow:
- Ve a la consola de Dialogflow ES.
- Haz clic en Integrations, en el menú de la barra lateral izquierda.
- Haz clic en LINE.
- Pega el ID de canal, el secreto de canal y token de acceso al canal en los campos respectivos.
- Elige un entorno, según corresponda.
- Haz clic en INICIAR.
Verificación de firmas de webhook
Dialogflow ES valida el encabezado de la solicitud HTTP X-Line-Signature en cada
solicitud de webhook entrante con el secreto del canal de LINE.
Para verificar la autenticidad de la solicitud, Dialogflow ES calcula un resumen
HMAC-SHA256 codificado en Base64 del cuerpo de la solicitud POST de HTTP sin procesar con el secreto de tu canal
y lo compara con el encabezado X-Line-Signature. Para obtener detalles sobre cómo
LINE firma las cargas útiles de webhook, consulta la
documentación de validación de firmas de LINE.
Si una solicitud de webhook tiene un encabezado X-Line-Signature faltante, duplicado o no válido, Dialogflow ES rechaza la solicitud con un código de estado HTTP 400 Bad Request.
Para que la verificación de firmas de webhook siga funcionando, haz lo siguiente:
- Asegúrate de que el secreto del canal configurado en la consola de Dialogflow ES coincida con el secreto del canal activo en la configuración del canal de la API de LINE Messaging. Si rotas o vuelves a emitir el secreto de tu canal de LINE, actualízalo en la consola de Dialogflow ES y reinicia la integración.
- Si enrutas el tráfico de webhook a través de un proxy, un API Gateway o un servicio de middleware antes de reenviarlo a Dialogflow ES, reenvía el encabezado
X-Line-Signaturesin modificar y envía los bytes exactos del cuerpo de la solicitud sin procesar sin volver a serializar ni alterar los espacios en blanco. - No envíes solicitudes sin firmar directamente a la URL del webhook de LINE de Dialogflow ES.
Pruebas
Para probar tu agente, presiona los tres puntos horizontales de pantalla principal de la app de LINE. Luego, presiona el ícono de código QR y escanea el código QR de la página de configuración de tu bot. Esto agrega tu bot a la lista de conversaciones.
Mensajes de respuesta enriquecida
Se admiten los siguientes mensajes de respuesta enriquecida.
Respuestas de imagen
Se envía un tipo de respuesta de imagen de Dialogflow a LINE como un tipo de mensaje de imagen de LINE.
Los formatos y tamaños admitidos son los siguientes:
- jpeg
- tamaño máximo de 1 MB
- Dimensiones máximas de 240 x 240
Respuestas con tarjeta
Se envía un tipo de respuesta con tarjeta de Dialogflow a LINE como un tipo de mensaje de plantilla de LINE.
Respuestas rápidas
Se envía un tipo de respuesta rápida de Dialogflow a LINE como un tipo de mensaje de plantilla de LINE.
Respuestas con carga útil personalizada
Puedes enviar la mayoría de los tipos de mensajes de LINE con una respuesta de carga útil personalizada.
Por ejemplo, la siguiente carga útil personalizada proporciona un mensaje de plantilla de LINE:
{ "type": "template", "altText": "this is a buttons template", "template": { "type": "buttons", "thumbnailImageUrl": "https://example.com/bot/images/image.jpg", "title": "Menu", "text": "Please select", "actions": [ { "type": "postback", "label": "Buy", "data": "action=buy&itemid=123" }, { "type": "postback", "label": "Add to cart", "data": "action=add&itemid=123" }, { "type": "uri", "label": "View detail", "uri": "http://example.com/page/123" } ] } }