Działania konwersacyjne zostaną wycofane 13 czerwca 2023 r. Więcej informacji znajdziesz w artykule o zachodzie słońca między rozmowami.

Formaty webhooka Actions on Google (Dialogflow)

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W tym dokumencie opisano format webhooka do komunikacji między usługą Actions on Google i usługą realizacji określającą niestandardowy interfejs konwersacyjny.

Ważne jest, aby rozumieć, w jaki sposób Actions on Google i jego realizacja korzystają z formatów webhooka Actions on Google:

  • Jeśli chcesz uczestniczyć w rozmowach z Actions on Google, Twoja realizacja wprowadza webhook, który może odpowiadać na żądania HTTP z Actions on Google.
  • Gdy użytkownicy wywołają działanie, Twoja realizacja otrzyma HTTP POST z ładunkiem JSON opisującym żądanie użytkownika.
  • Z kolei realizacja odpowiada za odczytanie parametrów z ładunku żądania, wygenerowanie odpowiedniej odpowiedzi w formacie JSON i wysłanie odpowiedzi do Asystenta.

Typy żądań

Ta tabela zawiera podsumowanie typów żądań, które webhook może otrzymywać od Asystenta:

Typ Opis Przykłady JSON
Żądania wywołania Wyrażenia użytkownika, które inicjują rozmowę z realizacją oferty lub wywołują działania z użyciem precyzyjnych linków (np. „Porozmawiaj z osobistym szefem kuchni, aby znaleźć przepisy na obiad”).
  • Jeśli używasz Dialogflow, te żądania odpowiadają intencji zdefiniowanymi w sekcji Discovery w ustawieniach integracji Asystenta Google.
  • Jeśli używasz pakietu SDK Actions, te żądania odpowiadają intencji z Twojego pakietu działań.
Prośby o rozmowę Wrażenia użytkowników w tej samej sesji po rozpoczęciu rozmowy z realizację. W formacie webhooka rozmowy są nieprzetworzone odpowiedzi tekstowe użytkownika odpowiadające intencjom actions.intent.TEXT, które zostały zrealizowane w poprzedniej turze.
Wyniki pomocnicze Prośby wysyłane przez Asystenta do Twojej realizacji, gdy webhook poprosi o intencję pomocnika w poprzednim rzędzie rozmowy, aby obsłużyć jej część (na przykład actions.intent.OPTION i actions.intent.PERMISSION).

Prośby o rozmowę i odpowiedzi

W typowym scenariuszu interakcji w Actions on Google użytkownicy wywołują wyrażenie, aby wywołać działanie. Aby uzyskać odpowiedź, narzędzie Actions on Google znajduje realizację zgodną z działaniem wywołanym przez użytkownika i wysyła tam żądanie.

Gdy Actions on Google stwierdzi, że realizacja jest odpowiednia do wywołania użytkownika, rozpoczyna sesję rozmowy, wysyłając żądanie HTTP zawierające ładunek JSON z informacjami o żądaniach użytkownika do punktu końcowego realizacji. Twoja realizacja analizuje żądanie i zwraca odpowiedź zawierającą ładunek JSON. Actions on Google konwertuje ładunek na wyrenderowaną mowę i multimedia wyjściowe dla użytkowników.

Ilustracja 1. Actions on Google wywołujący realizację za pomocą pakietu SDK Actions.

Więcej informacji o formacie ładunku JSON, gdy Actions on Google wywoła realizację przez pakiet SDK Actions, znajdziesz w artykule Format webhooka rozmowy.

Żądania i odpowiedzi Dialogflow

Podczas tworzenia działań możesz opcjonalnie użyć Dialogflow, aby uprościć zadanie tworzenia interfejsów konwersacyjnych. W tym scenariuszu Dialogflow pełni funkcję serwera proxy między Actions on Google a Twoją realizacją. Zamiast wysyłać żądanie HTTP/JSON bezpośrednio do punktu końcowego realizacji, usługa Actions on Google wysyła je do Dialogflow.

Dialogflow dodaje ładunek JSON zawarty w pierwotnym żądaniu do formatu webhooka Dialogflow i przekazuje uzyskane żądanie do realizacji Dialogflow.

I odwrotnie, gdy Twoja realizacja wysyła odpowiedź do Dialogflow, ładunek JSON odpowiedzi musi być zgodny z formatem webhooka Dialogflow. Twoja realizacja analizuje parametry z żądania JSON Dialogflow i generuje odpowiedź w formacie webhooka Dialogflow. Dialogflow przekształca odpowiedź z Twojej realizacji w odpowiedź, którą Asystent może zinterpretować.

Ilustracja 2. Actions on Google wywołujący realizację przez Dialogflow.

Więcej informacji o formacie ładunku JSON, gdy Actions on Google wywoła realizację przez Dialogflow, znajdziesz w artykule Format webhooka Dialogflow.