facebook bots messenger facebook-messenger

facebook - messenger message



Error extraño con Facebook Messenger Platform/bot Welcome Confugration (4)

Recibo un error extraño al configurar el mensaje de bienvenida para mi bot de Messenger. He estado usando el mismo código (como se muestra a continuación) y ha estado funcionando bien hasta la noche anterior. Lo probé tanto con cURL como con Postman . Ninguno de los dos funciona.

curl -X POST -H "Content-Type: application/json" -d ''{ "setting_type":"call_to_actions", "thread_state":"new_thread", "call_to_actions":[ { "message":{ "text":"Welcome to My Company!" } } ] }'' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_ACCESS_TOKEN>"

Mensaje de error al ejecutar el código anterior:

{"error":{"message":"(#100) Invalid keys /"message/" were found in param /"call_to_actions[0]/".","type":"OAuthException","code":100,"fbtrace_id":"Hn42Wa+hapI"}}%

Puedo confirmar que tanto PAGE_ID como PAGE_ACCESS_TOKEN son correctos, ya que intentar eliminar el mensaje de bienvenida con el siguiente código funciona bien.

curl -X POST -H "Content-Type: application/json" -d ''{ "setting_type":"call_to_actions", "thread_state":"new_thread", "call_to_actions":[ { "message":{ "text":"Welcome to My Company!" } } ] }'' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_ACCESS_TOKEN>"

Además, el código que estoy usando es exactamente el mismo que se muestra en el documento oficial de la API de Facebook . No entiendo por qué dice "mensaje" no es una clave válida. ¿Alguien está experimentando el mismo problema? ¿Facebook cambió su api?

¡Cualquier ayuda será muy apreciada!



Este error se debió a un cambio de API.

Nueva llamada:

curl -X POST -H "Content-Type: application/json" -d ''{ "setting_type":"call_to_actions", "thread_state":"new_thread", "call_to_actions":[{ "payload":"START" }] }'' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_TOKEN>"

Solo agregue una carga útil como {"payload":"START"}

Si un usuario presiona el botón "Comenzar", recibirá esta carga útil en su MessageHandler (webhook). Verifique si $incomingMessage == "START" y envíe su mensaje estructurado, o lo que desee.

Mensajes como antes ya no son compatibles

Informe de error: developers.facebook.com/bugs/1751749508372552


Los documentos ahora están actualizados, necesita definir su carga útil en el parámetro de payload ahora (una cadena codificada en UTF-8), por ejemplo:

"call_to_actions":[ { "payload":"USER_DEFINED_PAYLOAD" } ]


Me sale el mismo problema y lo soluciono. Creo que tu elección es

let messageData = { "setting_type":"call_to_actions", "thread_state":"new_thread", "call_to_actions":[ { "payload":"welcome_payload" } ] } request({ url: ''https://graph.facebook.com/v2.6/me/thread_settings'', qs: {access_token:token}, method: ''POST'', json: { messageData } }

pero no funcionará y el registro dirá que no tiene "setting_type" = = intente este

request({ url: ''https://graph.facebook.com/v2.6/me/thread_settings'', qs: {access_token:token}, method: ''POST'', json: { setting_type:"call_to_actions", thread_state:"new_thread", call_to_actions:[ { "payload":"welcome_payload" } ] } }

funciona para mi