Si está creando un agente de Dialogflow que utiliza Dialogflow Fulfillment ampliamente, encontrará que los datos pasados por el proveedor del canal son útiles para su aplicación. Estos datos se envían de la plataforma respond.io a Dialogflow usando el campo originalDetectIntentRequest.
Para permitir casos de uso más avanzados de la API, el objeto Contacto es anexado a la solicitud por la plataforma. El elemento cId en el objeto Contacto refleja el mismo valor utilizado en la API de Contactos.
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
}
"originalDetectIntentRequest": {
"payload": {
"source": "facebook",
"contact": {
"cId": "3854977680200098",
"contactId": "123456",
"channelId": "7890"
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"entry": [
{
"messaging": [
{
"recipient": {
"id": "177689475607202"
},
"message": {
"text": "Hola",
"mid": "D3DJuA0YlOgDgOybFG1M2ZHoJg9hq9IAjMQE2ps6RIN4QJ25rNPMi"
},
"timestamp": 1564743055901,
"sender": {
"id": "2254108171328398"
}
}
],
"id": "177689475607202",
"time": 1564743056313
}
],
"object": "page"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "line",
"contact": {
"cId": "U905251b5f5759acde5e4788681c04269",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"events": [
{
"type": "message",
"replyToken": "16a59224c65b4c5cbecedc4f3504599b",
"source": {
"userId": "U905251b5f5759bbde5e4788681c04170",
"type": "user"
},
"timestamp": 1593146060317,
"mode": "active",
"message": {
"type": "text",
"id": "12211455206333",
"text": "Hola"
}
}
],
"destination": "U5698920083824716136c04633a9e1710"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "twilio",
"contact": {
"cId": "+12262120005",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"ToCountry": "CA",
"ToState": "Ontario",
"SmsMessageSid": "SM1f1c9a30ff67cf5b1a89d5b1e0735a2b",
"NumMedia": "0",
"ToCity": "",
"FromZip": "",
"SmsSid": "SM1f1c9a30ff67cf5b1a89d5b1e0735a2b",
"FromState": "Ontario",
"SmsStatus": "recibido",
"FromCity": "St Thomas",
"Body": "Hola",
"FromCountry": "CA",
"To": "+12267022870",
"ToZip": "",
"NumSegments": "1",
"MessageSid": "SM1f1c9a30ff67cf5b1a89d5b1e0735a2b",
"AccountSid": "AC75bcf6cd15a35c46c6e5fa6d6dde6028",
"From": "+12262121015",
"ApiVersion": "2010-04-01"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "message_bird",
"contact": {
"cId": "16364923690"
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"body": "Hola",
"createdDatetime": "2020-06-26T07:51:30+00:00",
"date": "1593186690",
"date_utc": "1593157890",
"id": "6c4c8c58eb204e69ae7d07e309c5a11c",
"invocationId": "477a8bc9-a4ec-45db-98e0-3b982898945a",
"message": "Hola",
"message_id": "026a4c0e38954e5684757ba1de645130",
"originator": "12267022870",
"payload": "Hola",
"receiver": "12262121015",
"recipient": "12262121015",
"reference": "88003423322",
"sender": "12267022870"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "nexmo",
"contact": {
"cId": "60133386712"
},
"body": {
"msisdn": "12012938397",
"to": "12012938397",
"messageId": "16000002AB5DBF42",
"text": "Hola",
"type": "text",
"keyword": "HI",
"api-key": "2787fb30",
"message-timestamp": "2020-04-27 09:00:08"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "telegram",
"contact": {
"cId": "928825753",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"update_id": 68062810,
"message": {
"message_id": 358,
"from": {
"id": 921815852,
"is_bot": false,
"first_name": "Leo",
"language_code": "en"
},
"chat": {
"id": 921815852,
"first_name": "Leo",
"type": "private"
},
"date": 1593415824,
"text": "Hola"
}
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "twitter",
"contact": {
"cId": "800244779787258095",
"contactId": 123456,
"channelId": 7890
},
"body": {
"for_user_id": "800244779786258096",
"direct_message_events": [
{
"type": "message_create",
"id": "1277881813680091140",
"created_timestamp": "1593505740934",
"message_create": {
"target": {
"recipient_id": "800244779786258096"
},
"sender_id": "1236829623670812661",
"message_data": {
"text": "Hola",
"entities": {
"hashtags": [],
"símbolos": [],
"usuario_menciones": [],
"urls": []
}
}
}
}
],
"users": {
"1236829623670812661": {
"id": "1236829623670812661",
"created_timestamp": "1583718145786",
"nombre": "leoawesome",
"screen_name": "leoawesome21",
"protegido": false,
"verificado": false,
"seguidores_count": 0,
"amigos_count": 1,
"estados_count": 0,
"profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png",
"profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png"
},
"800244779786258096": {
"id": "800244779786258096",
"created_timestamp": "1479628198125",
"nombre": "respond.io",
"screen_name": "respond_io",
"description": "https://t.co/8AN2CVzhwJ es una plataforma de mensajería empresarial que conecta a los clientes desde cualquier canal a cada equipo.",
"url": "https://t.co/vE593YRZwo",
"protegido": false,
"verificado": false,
"seguidores_count": 246,
"amigos_count": 23,
"estados_count": 1527,
"profile_image_url": "http://pbs.twimg.com/profile_images/1250330944067653632/3KiCeUhc_normal.jpg",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1250330944067653632/3KiCeUhc_normal.jpg"
}
}
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "viber",
"contact": {
"cId": "T1yTBK3PQTHAFchsDh1skA==",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"event": "message",
"timestamp": 1593420787910,
"chat_hostname": "BN-CHAT-14_",
"message_token": 5458312086267550000,
"sender": {
"id": "T1yTBK3PQFGAGdhsDh1skA==",
"name": "Leo",
"avatar": "https://media-direct.cdn.viber.com/download_photo?dlid=tHBOJafTJ8WSwoFLCQ0x1lmS8RXeDXXyUVoAoLmmOGPIMprwqNCUO6BH3cG-VoAYd3WetLrBK4nP7C86ZN3MxG5T40A1lduzChAts-ULz0oO9l7FjW3bAYljiLyTGkYbaCRjcQ&fltp=jpg&imsz=0000",
"language": "en",
"country": "MY",
"api_version": 8
},
"message": {
"text": "Hola",
"type": "text"
},
"silent": false
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "wechat",
"contacto": {
"cId": "ovYOJv8eZlJ5efKToATGeOk5hBQM",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"xml": {
"ToUserName": \[
"gh\_5b17802cd972"
\],
"FromUserName": \[
"ovYOJv8eZlJ5evMToATGePk5hAQM"
\],
"CreateTime": \[
"1593421765"
\],
"MsgType": \[
"texto"
\],
"Contenido": \[
"Hola"
\],
"MsgId": \[
"22812312807562437"
\]
}
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "webchat",
"contact": {
"cId": "e6507476-e507-4503-9652-bcde24e8ea88",
"contactId": 123456,
"channelId": 7890
},
"body": {
"sender": {
"id": "07f1e397-12a8-485b-a417-14d7e3837608",
"locale": "es_US"
},
"recipient": {
"id": "4db00a5db70efbb51a0cd6a6635918390dd1945a89ce77898ab66b82d5c15344"
},
"query": \[
{
"type": "query",
"text": "Hola"
}
\]
}
}
}
"originalDetectIntentRequest": {
"payload": {
"body": {
"object": "whatsapp\_business\_account",
"entry": \[
{
"changes": \[
{
"value": {
"contacts": \[
{
"wa\_id": "60124438291",
"perfil": {
"nombre": "Shahzad"
}
}
\],
"metadata": {
"display\_phone\_number": "15550468615",
"teléfono\_número\_id": "106875742284151"
},
"messaging\_product": "whatsapp",
"messages": \[
{
"id": "wamid.HBgLNjAxMjQ0MzgyOTEVAgASGBYzRUIwOTA1ODAxRUQ5MDAxOTI1QTcxAA==",
"type": "text",
"from": "60124438291",
"timestamp": "1680061817",
"text": {
"body": "Dime una broma"
}
}
\]
},
"field": "messages"
}
\],
"id": "106024152370383"
}
\]
},
"source": "whatsapp\_business",
"contact": {
"cId": "60124438291",
"contactId": 38,
"channelId": 59
}
}
}
"originalDetectIntentRequest": {
"payload": {
"body": {
"entry": \[
{
"id": "106024152370383",
"changes": \[
{
"field": "messages",
"value": {
"messaging_product": "whatsapp",
"messages": \[
{
"id": "wamid.HBgLNjAxMjQ0MzgyOTEVAgASGBYzRUIwMjM1OUQ4NkE4MUJDRDY1QkE0AA==",
"timestamp": "1680063507",
"text": {
"body": "Dime un chiste"
},
"from": "60124438291",
"type": "texto"
}
\],
"metadata": {
"display_phone_number": "15550468615",
"phone_number_id": "106875742284151"
},
"contacts": \[
{
"wa_id": "60124438291",
"profile": {
"name": "Shahzad"
}
}
\]
}
}
\]
}
\],
"object": "whatsapp_business_account"
},
"contact": {
"cId": "60124438291",
"channelId": 45,
"contactId": 43
},
"source": "whatsapp_cloud"
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "twilio_whatsapp",
"contact": {
"cId": "whatsapp:+60133385703",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"SmsMessageSid": "SMb16231017683857d42ca62aafabcf205",
"NumMedia": "0",
"SmsSid": "SMb16231017683857d42ca62aafabcf205",
"SmsStatus": "recibido",
"Body": "Hola",
"To": "whatsapp:+14155238886",
"NumSegments": "1",
"MessageSid": "SMb16231017683857d42ca62aafabcf205",
"AccountSid": "AC75bcf6cd15a35c46c6e5fa6d6dde6028",
"From": "whatsapp:+60144486813",
"ApiVersion": "2010-04-01"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "message_bird_whatsapp",
"contact": {
"cId": "60133385712",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"contact": {
"attributes": {},
"createdDatetime": "2020-05-18T03:02:01Z",
"customDetails": {},
"displayName": "60123376813",
"firstName": "",
"href": "https://contacts.messagebird.com/v2/contacts/32845951f19c43d0b4e3371df0da941a",
"id": "32845951f19c43d0b4e3371df0da941a",
"lastName": "",
"msisdn": 60123376813,
"updatedDatetime": "2020-05-18T03:02:01Z"
},
"conversation": {
"contactId": "32845951f19c43d0b4e3371df0da941a",
"createdDatetime": "2020-05-18T03:02:01Z",
"id": "64d59ed4cb4f419ca39114c292c1a597",
"lastReceivedDatetime": "2020-06-26T08:58:55.7451283Z",
"status": "active",
"updatedDatetime": "2020-06-25T08:59:30.877791342Z"
},
"message": {
"channelId": "f4b115e89415407ab2b97fe85ad3d191",
"content": {
"text": "Hola"
},
"conversationId": "64d59ed4cb4f419ca39114c292c1a597",
"createdDatetime": "2020-06-26T08:58:55Z",
"direction": "recibido",
"from": "+60123376813",
"id": "91c8268bb72b412cab3b4080a974c5dc",
"platform": "whatsapp",
"status": "recibido",
"to": "+6531290788",
"type": "text",
"updatedDatetime": "2020-06-26T08:58:55.750324338Z"
},
"type": "mensaje.creado"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "nexmo_whatsapp",
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"message_uuid": "2b53f909-1640-471f-a44d-e4cb9bd00c44",
"to": {
"type": "whatsapp",
"number": "12012938397"
},
"from": {
"type": "whatsapp",
"number": "60133285813"
},
"timestamp": "2020-06-29T04:37:21.876Z",
"message": {
"content": {
"type": "text",
"text": "Hola"
}
},
"direction": "inbound"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "message_pipe_whatsapp",
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"environment": {
"app_id": "476"
},
"events": \[
{
"name": "d360_whatsapp_message_in",
"properties": {
"stack_id": "85256128299",
"message_id": "IY2Cx8lhx0E0M",
"conversation_id": "K7SWYeCmed07C",
"type": "text",
"content": {
"body": "Hola"
}
},
"timestamp": "1593502341000",
"id": "7a104e27-d4d2-4e5d-8c8a-c74f3ba8e6c1"
}
\],
"device": {
"mdn": "60133286713",
"profile_name": "Leo"
},
"recipient_id": "64f0699c-e005-409d-b177-6a975c61ba60"
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "360dialog_whatsapp",
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
},
"attachments": \[
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Centro de Kuala Lumpur"
}
}
\],
"body": {
"contacts": \[
{
"profile": {
"name": "John Don"
},
"wa_id": "923339883320"
}
\],
"messages": \[
{
"from": "923339885509",
"id": "ABEGkjM5iFUJAhDGiqsifkiyZkH6HzvBfO2m",
"text": {
"body": "Hola"
},
"timestamp": "1595240228",
"type": "text"
}
\]
}
}
}
Cualquier carga útil no soportada, por ejemplo, tarjetas asistentes de Google, no aparecerá en la plataforma y será ignorada por respond.io.
Los formatos de carga útil son estrictos y cualquier valor de clave que falte resultaría en resultados indeseables, es decir, no aparecer en la plataforma, aparecer incorrectamente, etc.
Si tienes un criterio de cumplimiento complejo, p. ej. conectarte a algún servicio de terceros que hace consultas antes de devolver una respuesta, entonces debes considerar la latencia de tiempo como se describe en la documentación de Dialogflow aquí. La respuesta debe ser devuelta dentro de los 5 segundos; de lo contrario, el webhook fallará y no se devolverá ninguna respuesta a DialogFlow ni a respond.io.
Artículos relacionados 👩💻