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!
Documentos actualizados:
https://developers.facebook.com/docs/messenger-platform/thread-settings/greeting-text
Ejemplo:
curl -X POST -H "Content-Type: application/json" -d ''{
"setting_type":"greeting",
"greeting":{
"text":"Welcome to My Company!"
}
}'' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN"
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