2016-06-29 50 views
16

Si verifica un errore strano durante la configurazione del messaggio di benvenuto per il mio bot Messenger. Ho usato lo stesso codice (come mostrato di seguito) e ha funzionato fino a ieri sera. Ho provato con entrambi cURL e Postman. Nessuno di loro funziona.Errore strano con Facebook Messenger Platform/bot Confugration di benvenuto

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>" 

Messaggio di errore durante l'esecuzione del codice di cui sopra:

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

posso confermare sia page_id e PAGE_ACCESS_TOKEN siano corrette come cercare di eliminare il messaggio di benvenuto con il seguente codice funziona bene.

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>" 

Inoltre, il codice che sto utilizzando è esattamente lo stesso come indicato sul Facebook official API doc. Non capisco perché sta dicendo che "messaggio" non è una chiave valida. Qualcuno sta vivendo lo stesso problema? Facebook ha cambiato la loro api?

Qualsiasi aiuto sarà molto apprezzato!

+1

State cercando di risolvere questo per ore. Sono contento di vedere persone con lo stesso problema, in un modo in cui possiamo confermare che questo errore non è causato da noi. Forse un cambiamento API non documentato? – ericls

+1

@ericls Ritengo che si tratti di una modifica API non documentata. Spero che ulteriori notifiche saranno fornite presto. –

+1

Bug è stato segnalato qui: https://developers.facebook.com/bugs/1751749508372552/ – sigmus

risposta

-1

Questo errore era dovuto a una modifica dell'API.

Nuova chiamata:

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>" 

Basta aggiungere un carico utile come {"payload":"START"}

Se un utente preme il pulsante "Getting started", si riceve questo payload nel messageHandler (webhook). Verifica se $incomingMessage == "START" e rispedisci il tuo messaggio strutturato o quello che vuoi.

I messaggi come prima non sono più supportati.

Bug report: https://developers.facebook.com/bugs/1751749508372552/

7

Il docs sono ora aggiornati, è necessario definire il carico utile in payload parametro now (una stringa codifica UTF-8), ad esempio:

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

Il documento aggiornato non funziona neanche. Ho ricevuto il seguente errore: '{" errore ": {" messaggio ":" (# 3) L'app deve essere in whitelist "," tipo ":" OAuthException "," codice ": 3," fbtrace_id ":" FiDgnEghdY \/"}}' –

+0

Lo stesso per me - l'endpoint "thread_settings" ha funzionato bene solo 2 giorni fa. Ora, dopo aver usato "payload", ricevo l'errore della lista bianca. – andy250

+1

te @ leihe, sei sicuro che la tua app non sia in modalità sandbox (test)? –

1

Ho lo stesso problema e lo aggiusto. Credo che la vostra JSON di richiesta è

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 
    } 
} 

ma non funziona e accedere diranno non hai "setting_type" = = a provare questo

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" 
       } 
      ] 
     } 
    } 

il lavoro per me.

Problemi correlati