2016-12-22 26 views
11

Piszę agenta za pomocą interfejsu API.AI Obserwuję, że mój back-end nie jest wywoływany za każdym razem. Widzę to w moich dziennikach dostępu. Masz pomysł, co może spowodować problem?API.AI nie łączy się z moim back-endem

Oto odpowiedź konsoli:

{ 
    "id": "c1902c75-1550-43f6-9cc8-b0461f1dfac7", 
    "timestamp": "2016-12-22T19:58:13.49Z", 
    "result": { 
    "source": "agent", 
    "resolvedQuery": "echo test", 
    "action": "", 
    "actionIncomplete": false, 
    "parameters": { 
     "myInput": "test" 
    }, 
    "contexts": [], 
    "metadata": { 
     "intentId": "062b4383-06a0-40fe-bbeb-9189db49aeb8", 
     "webhookUsed": false, 
     "webhookForSlotFillingUsed": "false", 
     "intentName": "Response" 
    }, 
    "fulfillment": { 
     "speech": "", 
     "messages": [ 
     { 
      "type": 0, 
      "speech": "" 
     } 
     ] 
    }, 
    "score": 0.75 
    }, 
    "status": { 
    "code": 200, 
    "errorType": "success" 
    }, 
    "sessionId": "70be8f65-81f0-40be-a271-84a2d4960224" 
} 

widzę tam żadnego błędu, który wyjaśnia, dlaczego mój backend nie jest tzw.

Oto zrzut ekranu z moich intencji:

my intent with webhook

+1

To jest odpowiedź interfejsu API.AI JSON, która jest zwracana po tym, czy użytkownik skonfigurował dowolny webhook. Czy stworzyłeś webhook do swojego backendu? – Connor

+0

Oczywiście skonfigurowałem czasami wywołanie zwrotne (kiedy usunę luźną integrację i ponownie ją dodam) działa dobrze. Nie jestem pewien, dlaczego przestaje działać. – rekire

+0

Czy masz jakieś logi po swojej stronie zaplecza? Możliwe, że żądania kończą się niepowodzeniem/zwracają kod spoza zakresu 200? – Connor

Odpowiedz

2

Nie podano żadnej wartości w kluczu działanie intent.Give niektóre nazwa akcji i zachować tę samą nazwę funkcji, która będzie akceptować parametry z api.ai

zasadzie przepływu

1) użytkownik wprowadza dane.

2) api.ai próbuje dopasować dane wejściowe użytkownika do zdefiniowanych przez ciebie intencji, jeśli nie zostanie znalezione, to będzie działać w trybie awaryjnym.

3) po odpowiednim dopasowaniu api.ai próbuje wyodrębnić parametry ze zdania użytkownika.

4) po znalezieniu wszystkich wymaganych parametrów wywoła akcję, którą zdefiniowałeś w intencji.

UWAGA: jeśli żaden z parametrów nie jest wymagany w zamierzeniu, wywołuje bezpośrednio akcję.

+0

Sądzę, że masz rację, że zawsze zdefiniowałem to działanie i działa. – rekire