- Zapis JSON
- Oczekiwane dane wejściowe
- InputPrompt
- SpeechResponse
- RichResponse
- Element
- SimpleResponse
- BasicCard
- Przycisk
- StructuredResponse
- OrderUpdate
- Działanie
- Rachunek
- Informacje o odrzuceniu
- CancelInfo
- IntransitInfo
- FulfillmentInfo
- ReturnInfo
- UserNotification
- MediaResponse
- MediaObject
- Karuzela
- Element
- TableCard
- Właściwości kolumny
- Wiersz
- Komórka
- HtmlResponse
- Sugestia
- LinkOutSuggestion
- ExpectedIntent
- FinalResponse
- CustomPushMessage
- UserNotification
- Cel
AppResponse to odpowiedź wysłana do realizacji przez Asystenta Google. Przykłady użycia tej funkcji w Actions on Google znajdziesz na stronie https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json#conversation-response-body.
Zapis JSON | |
---|---|
{ "conversationToken": string, "userStorage": string, "resetUserStorage": boolean, "expectUserResponse": boolean, "expectedInputs": [ { object ( |
Pola | |
---|---|
conversationToken |
Nieprzejrzysty token recyrkulowany w akcji podczas każdej rozmowy. |
userStorage |
Nieprzejrzysty token kontrolowany przez działanie, który jest zapisywany w różnych rozmowach danego użytkownika. Jeśli token jest pusty lub nieokreślony, dotychczasowy zachowany token pozostanie niezmieniony. Maksymalny rozmiar ciągu znaków to 10 tys. bajtów. Jeśli w przypadku tego samego użytkownika występuje wiele okien dialogowych, aktualizacje tego tokena mogą nieoczekiwanie zostać zastąpione. |
resetUserStorage |
Określa, czy chcesz zachować przechowywane dane użytkownika. Jeśli zasada ma wartość Prawda, podczas następnej interakcji z użytkownikiem pole userStorage jest puste. |
expectUserResponse |
Wskazuje, czy działanie oczekuje na odpowiedź użytkownika. Dzieje się tak, gdy rozmowa jest trwająca, a fałsz po jej zakończeniu. |
expectedInputs[] |
Lista danych wejściowych, których oczekuje działanie, każde z nich może być typowym działaniem w przypadku intencji Google (zaczynać się od „działań”) lub podawać listę potencjalnych zamiarów. Obecnie obsługiwane jest tylko jedno wejście. |
finalResponse |
Ostateczna odpowiedź, gdy działanie nie oczekuje od użytkownika. |
customPushMessage |
Niestandardowy komunikat push, który pozwala deweloperom wysyłać uporządkowane dane do działań w Google. |
isInSandbox |
Wskazuje, czy odpowiedź powinna być obsługiwana w trybie piaskownicy. Ten fragment jest potrzebny do przekazywania uporządkowanych danych do Google w trybie piaskownicy. |
Oczekiwane dane wejściowe
Zapis JSON | |
---|---|
{ "inputPrompt": { object ( |
Pola | |
---|---|
inputPrompt |
Dostosowany komunikat przypominający prośbę o podanie danych. |
possibleIntents[] |
Lista intencji, które mogą zostać użyte do wdrożenia tych danych. Aby działania w Google zwracały tylko nieprzetworzone dane wejściowe użytkownika, aplikacja powinna prosić o zamiar |
speechBiasingHints[] |
Lista wyrażeń używanych przez Google do promowania ze względu na mowę. Dozwolonych jest maksymalnie 1000 wyrażeń. |
Komunikat wejściowy
Komunikat wejściowy używany przez Asystenta do przekazania użytkownikowi pytania dotyczącego aplikacji.
Zapis JSON | |
---|---|
{ "initialPrompts": [ { object ( |
Pola | |
---|---|
initialPrompts[] |
Początkowo pojawi się prośba o podanie danych. Obsługiwany jest tylko pojedynczy inicjał. |
richInitialPrompt |
Pytaj o ładunek. |
noInputPrompts[] |
Komunikat wyświetlany, gdy użytkownik nie chce wprowadzić danych wejściowych. |
Reakcja na mowę
Odpowiedź zawierająca tylko mowę. WYCOFANO.
Zapis JSON | |
---|---|
{ // Union field |
Pola | ||
---|---|---|
Pole sumy type . Typy danych głosowych: zamiana tekstu na mowę lub SSML. type może mieć tylko jedną z tych wartości: |
||
textToSpeech |
Zwykły tekst mowy, np. „Gdzie chcesz iść?”./ |
|
ssml |
Uporządkowana odpowiedź głosowa użytkownika w formacie SSML, np. „ |
Reakcja na rich media
Szczegółowa odpowiedź, która może zawierać dźwięk, tekst, karty, sugestie i uporządkowane dane.
Zapis JSON | |
---|---|
{ "items": [ { object ( |
Pola | |
---|---|
items[] |
Lista elementów interfejsu, które tworzą odpowiedź. Elementy muszą spełniać następujące wymagania: 1. Pierwszym elementem musi być |
suggestions[] |
Lista sugerowanych odpowiedzi. Będą one zawsze widoczne na końcu odpowiedzi. Jeśli użyjesz go w polu |
linkOutSuggestion |
Dodatkowy element z sugestią, który może prowadzić do powiązanej aplikacji lub witryny. |
Element
Elementy odpowiedzi.
Zapis JSON | |
---|---|
{ "name": string, // Union field |
Pola | ||
---|---|---|
name |
Opcjonalny identyfikator elementu. |
|
Pole sumy item . Typ produktu. item może mieć tylko jedną z tych wartości: |
||
simpleResponse |
Odpowiedź głosowa i tekstowa. |
|
basicCard |
Karta podstawowa. |
|
structuredResponse |
Uporządkowany ładunek do przetworzenia przez Google. |
|
mediaResponse |
Odpowiedź wskazująca zestaw multimediów do odtworzenia. |
|
carouselBrowse |
Karta karuzeli z przeglądaniem – zamiast niej użyj zasady kolekcji przeglądania. |
|
tableCard |
Karta tabel. |
|
htmlResponse |
Odpowiedź HTML używana do renderowania w Canvas. |
Prosta odpowiedź
Prosta odpowiedź zawierająca mowę lub tekst do zaprezentowania użytkownikowi.
Zapis JSON | |
---|---|
{ "textToSpeech": string, "ssml": string, "displayText": string } |
Pola | |
---|---|
textToSpeech |
Zwykły tekst mowy, np. „Gdzie chcesz iść?” Wzajemnie wykluczające się ssml. |
ssml |
Uporządkowana odpowiedź głosowa użytkownika w formacie SSML, np. |
displayText |
Opcjonalny tekst do wyświetlenia w dymku czatu. Jeśli nie zostanie wyświetlony, zostanie użyte renderowanie tekstu TextToSpeech lub ssml powyżej. Limit wynosi 640 znaków. |
Karta podstawowa
Podstawowa karta do wyświetlania niektórych informacji, takich jak obraz lub tekst.
Zapis JSON | |
---|---|
{ "title": string, "subtitle": string, "formattedText": string, "image": { object ( |
Pola | |
---|---|
title |
Ogólny tytuł karty. Opcjonalnie. |
subtitle |
Opcjonalnie. |
formattedText |
Tekst główny karty. Obsługuje ograniczony zestaw składni Markdown na potrzeby formatowania. Wymagane, chyba że obraz jest dostępny. |
image |
Baner powitalny karty. Wysokość: 192 dp. Opcjonalnie. |
buttons[] |
Przyciski. Obecnie możesz dodać maksymalnie 1 przycisk. Opcjonalnie. |
imageDisplayOptions |
typ wyświetlania obrazu. Opcjonalnie. |
Przycisk
Obiekt przycisku, który zwykle wyświetla się na dole karty.
Zapis JSON | |
---|---|
{
"title": string,
"openUrlAction": {
object ( |
Pola | |
---|---|
title |
tytuł przycisku. Wymagany. |
openUrlAction |
Działanie, które ma zostać wykonane, gdy użytkownik kliknie przycisk. Wymagany. |
StructuredResponse
Odpowiedź zdefiniowana w aplikacji, na którą mają trafiać uporządkowane dane.
Zapis JSON | |
---|---|
{ // Union field |
Pola | ||
---|---|---|
Pole sumy data . Kontener odpowiedzi ładunku z agentów zewnętrznych. data może mieć tylko jedną z tych wartości: |
||
orderUpdate |
Aplikacja zapewnia aktualizację zamówienia (np. |
|
orderUpdateV3 |
Aplikacja otrzymuje aktualizację zamówienia w formacie API v3 po otrzymaniu zamówienia. |
Aktualizacja zamówienia
Wycofane: użyj wersji V3 Proto. Zmień zamówienie.
Zapis JSON | |
---|---|
{ "googleOrderId": string, "actionOrderId": string, "orderState": { object ( |
Pola | ||
---|---|---|
googleOrderId |
Identyfikator zamówienia to identyfikator wydany przez Google. |
|
actionOrderId |
Wymagany. Kanoniczny identyfikator zamówienia odnoszący się do tego zamówienia. Jeśli integrator nie generuje kanonicznego identyfikatora zamówienia w swoim systemie, może po prostu skopiować umieszczony w nim ciąg googleOrderId. |
|
orderState |
Nowy stan zamówienia. |
|
orderManagementActions[] |
Zaktualizowano odpowiednie działania związane z zarządzaniem zamówieniem, np. zarządzanie, modyfikowanie, kontakt z pomocą techniczną. |
|
receipt |
Potwierdzenie zamówienia. |
|
updateTime |
Kiedy zamówienie zostało zaktualizowane z poziomu aplikacji. Znacznik czasu w formacie RFC3339 UTC „Zulu”, z dokładnością do nanosekund. Przykład: |
|
totalPrice |
Nowa łączna cena zamówienia |
|
lineItemUpdates |
Mapa zmian na poziomie elementu zamówienia według klucza identyfikatora elementu. Opcjonalnie. Obiekt zawierający listę par |
|
userNotification |
Jeśli jest skonfigurowana, wyświetla użytkownikowi powiadomienie z określonym tytułem i tekstem. Wskazanie powiadomienia jest sugestią jego wysłania. Nie ma gwarancji, że powiadomienie się wyświetli. |
|
infoExtension |
Dodatkowe dane oparte na niestandardowym stanie zamówienia lub oprócz informacji o standardowym stanie. Obiekt zawierający pola dowolnego typu. Dodatkowe pole |
|
Pole sumy info . Dodatkowe informacje związane ze stanem zamówienia. info może mieć tylko jedną z tych wartości: |
||
rejectionInfo |
Informacje o stanie odrzucenia. |
|
cancellationInfo |
Informacje o stanie anulowania. |
|
inTransitInfo |
Informacje o stanie transportu. |
|
fulfillmentInfo |
Informacje o stanie realizacji. |
|
returnInfo |
Informacje o stanie zwrotu. |
Czynność
Dalsze działanie związane z aktualizacją zamówienia.
Zapis JSON | |
---|---|
{ "type": enum ( |
Pola | |
---|---|
type |
typ działania. |
button |
Etykieta i przycisk. |
Rachunek
Wycofane: użyj wersji V3 Proto. Rachunek, który ma stan POTWIERDZONO, lub dowolny inny stan (np. IN_TRANSIT, FULFILLED) włącznie.
Zapis JSON | |
---|---|
{ "confirmedActionOrderId": string, "userVisibleOrderId": string } |
Pola | |
---|---|
confirmedActionOrderId |
Potwierdzony identyfikator zamówienia po otrzymaniu zamówienia przez integratora. Jest to kanoniczny identyfikator zamówienia używany w systemie integratora, który odwołuje się do zamówienia, a następnie może być używany do identyfikowania zamówienia jako To pole zostało wycofane. Zamiast tego przekaż pole przez element UpdateUpdate.action_order_id. |
userVisibleOrderId |
Opcjonalnie. Identyfikator użytkownika odnoszący się do bieżącego zamówienia, który pojawi się na karcie z potwierdzeniem zakupu, jeśli jest dostępny. Powinien to być identyfikator, który zwykle znajduje się na wydrukowanym pokwitowaniu, wysłanym na adres e-mail użytkownika. Użytkownik powinien móc korzystać z identyfikatora odwołującego się do informacji o jego zamówieniu dotyczącym obsługi klienta dostarczanej przez integratorów. Pamiętaj, że to pole musi zostać wypełnione, jeśli integrator generuje identyfikator widoczny dla użytkowników w przypadku zamówienia z drukowanym potwierdzeniem zakupu lub e-mailem. |
Informacje o odrzuceniu
Informacje o odrzuceniu, gdy stan jest ODRZUCONY. Ta wiadomość może zostać uzupełniona w ramach początkowej aktualizacji zamówienia w wątku lub przez kolejną aktualizację zamówienia asynchronicznego.
Zapis JSON | |
---|---|
{
"type": enum ( |
Pola | |
---|---|
type |
Typ odrzucenia. |
reason |
Przyczyna błędu. |
Informacje o anulowaniu
Wycofane: użyj wersji V3 Proto. Informacje o stanie anulowania, gdy stan jest ANULOWANY.
Zapis JSON | |
---|---|
{ "reason": string } |
Pola | |
---|---|
reason |
Przyczyna anulowania. |
Informacje o transporcie publicznym
Wycofane: użyj wersji V3 Proto. Informacje o transporcie publicznym, gdy stan to IN_TRANSIT.
Zapis JSON | |
---|---|
{ "updatedTime": string } |
Pola | |
---|---|
updatedTime |
Ostatnia aktualizacja transportu publicznego. Znacznik czasu w formacie RFC3339 UTC „Zulu”, z dokładnością do nanosekund. Przykład: |
Informacje o realizacji
Wycofane: użyj wersji V3 Proto. Informacje o realizacji, które mają stan FULFILLED.
Zapis JSON | |
---|---|
{ "deliveryTime": string } |
Pola | |
---|---|
deliveryTime |
Kiedy zamówienie zostanie zrealizowane. Znacznik czasu w formacie RFC3339 UTC „Zulu”, z dokładnością do nanosekund. Przykład: |
Informacje zwrotne
Wycofane: użyj wersji V3 Proto. Informacje o tym, kiedy stan ma stan ODRZUCONO.
Zapis JSON | |
---|---|
{ "reason": string } |
Pola | |
---|---|
reason |
Przyczyna zwrotu. |
Powiadomienie użytkownika
Opcjonalne powiadomienie użytkownika wyświetlane w ramach aktualizacji zamówienia.
Zapis JSON | |
---|---|
{ "title": string, "text": string } |
Pola | |
---|---|
title |
Tytuł powiadomienia użytkownika. |
text |
Treść powiadomienia. |
Odpowiedź MediaMedia
Odpowiedź wskazująca zestaw multimediów do odtworzenia w rozmowie.
Zapis JSON | |
---|---|
{ "mediaType": enum ( |
Pola | |
---|---|
mediaType |
typ multimediów w tej odpowiedzi. |
mediaObjects[] |
Lista obiektów multimedialnych. |
Obiekt multimedialny
Reprezentuje jeden obiekt multimedialny, który jest zwracany przez MediaResponse. Zawiera informacje o multimediach, takie jak nazwa, opis, adres URL itp.
Zapis JSON | |
---|---|
{ "name": string, "description": string, "contentUrl": string, // Union field |
Pola | ||
---|---|---|
name |
nazwa tego obiektu multimedialnego. |
|
description |
ten obiekt multimedialny. |
|
contentUrl |
Adres URL zawartości multimedialnej. |
|
Pole sumy image . Obraz do wyświetlenia na karcie multimediów. image może mieć tylko jedną z tych wartości: |
||
largeImage |
Duży obraz, na przykład okładka albumu itp. |
|
icon |
Mała ikona obrazu wyświetlana po prawej stronie tytułu. Rozmiar ekranu został zmieniony na 36 x 36 dp. |
Przeglądaj karuzelę
Wyświetla zestaw dokumentów AMP jako karuzelę z dużymi kafelkami. Możesz wybrać elementy do uruchamiania powiązanych dokumentów AMP w przeglądarce AMP.
Zapis JSON | |
---|---|
{ "items": [ { object ( |
Pola | |
---|---|
items[] |
Min.: 2. Maks.: 10. |
imageDisplayOptions |
typ wyświetlania obrazu. Opcjonalnie. |
Element
Element w karuzeli.
Zapis JSON | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
Pola | |
---|---|
title |
tytuł elementu karuzeli. Wymagany. |
description |
opis elementu karuzeli. Opcjonalnie. |
footer |
Tekst stopki elementu karuzeli, wyświetlany pod opisem. Pojedynczy wiersz tekstu obcięty z wielokropkiem. Opcjonalnie. |
image |
Baner powitalny elementu karuzeli. Opcjonalnie. |
openUrlAction |
Adres URL dokumentu powiązanego z elementem karuzeli. Dokument może zawierać treści HTML lub, jeśli parametr „urlTypeHint” ma wartość AMP_CONTENT, jest to format AMP. Wymagany. |
KartaTabeli
Karta tabeli z tabelą.
Zapis JSON | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Pola | |
---|---|
title |
Ogólny tytuł tabeli. Opcjonalny, ale musi być ustawiony, jeśli podtytuł jest ustawiony. |
subtitle |
Napisy do tabeli. Opcjonalnie. |
image |
Obraz powiązany z tabelą. Opcjonalnie. |
columnProperties[] |
Nagłówki i wyrównanie kolumn. |
rows[] |
Dane wiersza z tabeli. Pierwsze 3 wiersze będą widoczne, ale inne mogą zostać ucięte. Przeprowadź test, aby zobaczyć, które wiersze będą wyświetlane na danej powierzchni. Na platformach obsługujących funkcję WEB_BROWSER możesz wskazać użytkownikowi stronę internetową zawierającą więcej danych. |
buttons[] |
Przyciski. Obecnie możesz dodać maksymalnie 1 przycisk. Opcjonalnie. |
Właściwości kolumny
Zachowuje właściwości kolumn (łącznie z nagłówkami).
Zapis JSON | |
---|---|
{
"header": string,
"horizontalAlignment": enum ( |
Pola | |
---|---|
header |
Tekst nagłówka kolumny. |
horizontalAlignment |
Wyrównanie w poziomie do kolumny z treścią. Jeśli nie określisz stanu treści, zostaną wyrównane względem krawędzi. |
Wiersz
Opisuje wiersz w tabeli.
Zapis JSON | |
---|---|
{
"cells": [
{
object ( |
Pola | |
---|---|
cells[] |
Komórki w tym wierszu. Pierwsze 3 komórki będą widoczne, ale inne mogą zostać ucięte. Przeprowadź test za pomocą symulatora, aby zobaczyć, które komórki pojawią się na danej powierzchni. |
dividerAfter |
Wskazuje, czy po każdym wierszu powinien być separator. |
Komórka
Opisuje komórkę z rzędu.
Zapis JSON | |
---|---|
{ "text": string } |
Pola | |
---|---|
text |
Zawartość tekstowa komórki. |
odpowiedź HTML
Odpowiedź wyświetlająca kod HTML za pomocą funkcji interaktywnego obszaru roboczego. Maksymalny rozmiar odpowiedzi to 50 bajtów.
Zapis JSON | |
---|---|
{ "updatedState": value, "suppressMic": boolean, "url": string } |
Pola | |
---|---|
updatedState |
Przekaż tej aplikacji obiekt JSON w aplikacji. |
suppressMic |
Podaj opcję, aby mikrofon nie włączał się po tej reakcji. |
url |
Adres URL aplikacji. |
Sugestia
Element sugestii, który użytkownik może kliknąć, aby szybko opublikować odpowiedź w rozmowie.
Zapis JSON | |
---|---|
{ "title": string } |
Pola | |
---|---|
title |
Tekst pokazuje element z podpowiedzi. Po kliknięciu tekst zostanie opublikowany w wątku w sposób wyglądający tak, jakby użytkownik go wpisał. Każdy tytuł musi być unikalny wśród zestawu elementów sugestii. Wymagany jest maksymalnie 25 znaków |
Propozycja linku wychodzącego
Tworzy element z sugestią, który pozwala użytkownikowi przejść do aplikacji lub strony powiązanej z danym agentem.
Zapis JSON | |
---|---|
{
"destinationName": string,
"url": string,
"openUrlAction": {
object ( |
Pola | |
---|---|
destinationName |
Nazwa aplikacji lub strony, z którą połączony jest ten element. Element zostanie wyrenderowany z tytułem „Otwórz |
url |
Rola wycofana. Zamiast tego użyj OpenUrlAction. |
openUrlAction |
Adres URL aplikacji lub witryny, która ma się otworzyć, gdy użytkownik kliknie element z sugestią. Własność tej aplikacji/adresu URL musi zostać zweryfikowana w działaniach w konsoli programisty Google. W przeciwnym razie sugestia nie będzie wyświetlana użytkownikowi. Akcja otwartego adresu URL obsługuje adresy URL dotyczące http, https i intencji. W przypadku adresów URL intencji intencji znajdziesz tutaj: https://developer.chrome.com/multidevice/android/intents |
ExpectedIntent
Oczekiwana intencja, o którą aplikacja prosi Asystenta.
Zapis JSON | |
---|---|
{ "intent": string, "inputValueData": { "@type": string, field1: ..., ... }, "parameterName": string } |
Pola | |
---|---|
intent |
Wbudowana nazwa intencji, np. |
inputValueData |
Dodatkowe dane konfiguracji wymagane przez wbudowaną intencję. Możliwe wartości wbudowanych intencji: Obiekt zawierający pola dowolnego typu. Dodatkowe pole |
parameterName |
Opcjonalnie parametr odpowiedniej intencji. Dotyczy tylko intencji intencji. Używana do promowania mowy. |
Ostateczna odpowiedź
Ostateczna odpowiedź, która nie powinna się pojawić.
Zapis JSON | |
---|---|
{ // Union field |
Pola | ||
---|---|---|
Pole sumy response . Możliwe typy odpowiedzi. response może mieć tylko jedną z tych wartości: |
||
speechResponse |
Komunikaty głosowe, gdy użytkownik nie musi podawać danych wejściowych. |
|
richResponse |
Szczegółowa odpowiedź, gdy użytkownik nie musi podawać danych wejściowych. |
Komunikat push
Niestandardowy komunikat push, który zawiera uporządkowane dane potrzebne do działania interfejsu Fulfillment API.
Zapis JSON | |
---|---|
{ "target": { object ( |
Pola | ||
---|---|---|
target |
Podany element docelowy żądania push. |
|
Pole sumy content . Różne rodzaje ładunków. content może mieć tylko jedną z tych wartości: |
||
orderUpdate |
Zaktualizowano zamówienie złożone za pomocą interfejsów API transakcji. |
|
userNotification |
Jeśli jest skonfigurowana, wyświetla użytkownikowi powiadomienie z określonym tytułem i tekstem. |
Powiadomienie użytkownika
Powiadomienie użytkownika wyświetlane wraz z prośbą.
Zapis JSON | |
---|---|
{ "title": string, "text": string } |
Pola | |
---|---|
title |
Tytuł powiadomienia. |
text |
Treść powiadomienia. |
Cel
Podany element docelowy żądania push.
Zapis JSON | |
---|---|
{
"userId": string,
"intent": string,
"argument": {
object ( |
Pola | |
---|---|
userId |
Użytkownik, na którego mają być kierowane reklamy. |
intent |
Intencja, na którą mają być kierowane reklamy. |
argument |
Argument dotyczący intencji. W wersji 1 obsługiwany jest tylko 1 argument. |
locale |
Język, na który chcesz kierować reklamy. Jest zgodny z kodem języka IETF BCP-47. W przypadku aplikacji wielojęzycznych można kierować reklamy na użytkowników w konkretnej zlokalizowanej aplikacji. Jeśli nie podasz wartości, zostanie użyta domyślna wartość en-US. |