Diese Diskussion gilt für jede Integration, aber als Beispiel werde ich über Messenger sprechen. Um Kontext zu geben, ist mein Backend auch in Java geschrieben.API.AI Fluss der Logik
Von dem, was ich gelesen habe, für kundenspezifische Szenarien (z Kontoverknüpfung), wir nicht API.AI direkt verwenden sollten. Stattdessen sollte die „Callback-URL“ in Messenger-Einstellungen (developer.facebook.com
) weist auf eigene gehosteten Anwendung, die wiederum api.api.ai/v1/query
nennt. Ist das korrekt?
Zweitens meine Absicht in API.AI hat bereits Use webhook
abgehakt. Ich nehmen der Fluss der Logik wäre wie folgt:
Messenger → my app (webhook for Messenger) → api.ai → my app (webhook for api.ai)
Offenbar ist es nicht das case-API.AI nie die Webhook nennt.
Dies ist die JSON ich zu API.AI gesendet:
{"query":"hey","originalRequest":{"source":"facebook","data":{"object":"page","entry":[{"id":"xxx","time":yyy,"messaging":[{"sender":{"id":"zzz"},"recipient":{"id":"xxx"},"timestamp":yyy,"message":{"mid":"aaa","seq":bbb,"text":"hey"}}]}]}},"v":"20170704","sessionId":"1","lang":"en"}
Und das ist die Antwort von API.AI:
{
"id": "xxx",
"timestamp": "yyy",
"lang": "en",
"result": {
"source": "agent",
"resolvedQuery": "hey",
"speech": "",
"action": "",
"parameters": {
"greeting": "hey"
},
"metadata": {
"inputContexts": [],
"outputContexts": [],
"intentName": "greeting",
"intentId": "zzz",
"webhookUsed": "true",
"webhookForSlotFillingUsed": "false",
"contexts": []
},
"score": 1.0
},
"status": {
"code": 200,
"errorType": "success"
},
"sessionId": "1"
}
es, dass meine app bedeutet dies sollte Rufen Sie den Webhook selbst an (welche dieselbe App, aber einen anderen Endpunkt hat)?
Ich habe getickt „Use Webhook“ und haben meine Frage mit einer besseren Ablaufplan aktualisiert, lesen Sie bitte das Update. – wiradikusuma
Ihre Aktion fehlt. – MrOerni
@wiradikusuma Ich habe eine andere Möglichkeit hinzugefügt, die Verknüpfung mit api.ai zu verwenden. API.ai verhält sich wie es die Nachrichten direkt von Facebook bekommt. (Rufen Sie den Webhook für die Logik auf.) – MrOerni