Method: projects.sendInteraction

הפעלת סבב אחד של השיחה.

בקשת HTTP

POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction

בכתובת ה-URL נעשה שימוש בתחביר המרת gRPC.

פרמטרים של נתיב

פרמטרים
project

string

חובה. הפרויקט שנבדק, מצוין באמצעות מזהה הפרויקט. פורמט: פרויקטים/{project}

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
שדות
input

object (UserInput)

חובה. הקלט סופק על ידי המשתמש.

deviceProperties

object (DeviceProperties)

חובה. תכונות המכשיר המשמש לאינטראקציה עם הפעולה.

conversationToken

string

אסימון אטום שיש להעביר כפי שהתקבל מ-SendInteractionResponse באינטראקציה הקודמת. ניתן להשאיר את האפשרות הזו לא מוגדרת כדי להתחיל שיחה חדשה, כאינטראקציה הראשונה בפעילות בדיקה או כדי לנטוש שיחה קודמת ולהתחיל שיחה חדשה.

גוף התגובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:

תשובה לסבב השיחה.

ייצוג JSON
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
שדות
output

object (Output)

הפלט סופק למשתמש.

diagnostics

object (Diagnostics)

מידע אבחון שמסביר איך טופלה הבקשה.

conversationToken

string

אסימון אטום שיוגדר ב-SendInteractionRequest בקריאה הבאה ל-RPC כדי להמשיך את אותה שיחה.

UserInput

קלט שהמשתמש קיבל בסבב שיחה.

ייצוג JSON
{
  "query": string,
  "type": enum (InputType)
}
שדות
query

string

תוכן הקלט שנשלח על ידי המשתמש.

type

enum (InputType)

סוג הקלט.

InputType

מציין את מקור הקלט, השאילתה שהוקלדה או השאילתה הקולית.

טיפוסים בני מנייה (enums)
INPUT_TYPE_UNSPECIFIED מקור הקלט לא צוין.
TOUCH שאילתה מאינטראקציה של ממשק GUI.
VOICE שאילתה קולית.
KEYBOARD שאילתה מוקלדת.
URL הפעולה הופעלה באמצעות קישור לכתובת URL.

DeviceProperties

תכונות של מכשיר שרלוונטיות לסבב שיחה.

ייצוג JSON
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
שדות
surface

enum (Surface)

פני השטח שמשמשים לאינטראקציה עם הפעולה.

location

object (Location)

מיקום המכשיר כמו קו רוחב, קו אורך וכתובת בפורמט המתאים.

locale

string

הלוקאל כפי שמוגדר במכשיר. הפורמט צריך להיות תואם ל-BCP 47: https://tools.ietf.org/html/bcp47. דוגמאות: iw, en-US, es-419 (דוגמאות נוספות זמינות בכתובת https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

אזור הזמן כפי שמוגדר במכשיר. הפורמט צריך להיות תואם למסד הנתונים של אזורי הזמן IANA, לדוגמה: "America/New_York": https://www.iana.org/time-zones

פלטפורמה

שטחי פרסום אפשריים לקיום אינטראקציה עם הפעולה. אפשר לכלול ערכים נוספים בעתיד.

טיפוסים בני מנייה (enums)
SURFACE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
SPEAKER רמקול (למשל, Google Home).
PHONE טלפון.
ALLO צ'אט ב-BigQuery.
SMART_DISPLAY מכשיר תצוגה חכם.
KAI_OS KaiOS.

מיקום

מאגר שמייצג מיקום.

ייצוג JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
שדות
coordinates

object (LatLng)

קואורדינטות גיאוגרפיות. נדרשת ההרשאה [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

כתובת לתצוגה, לדוגמה: "1600 Amphitheatre Pkwy, Mountain View, CA 94043". נדרשת ההרשאה [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

מיקוד. נדרשת ההרשאה [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] או [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

עיר. נדרשת ההרשאה [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] או [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

LatLng

אובייקט שמייצג צמד של קו רוחב/קו אורך. ערך זה מבוטא כצמד זוגות לייצוג מעלות קו רוחב ומעלות קו אורך. אם לא צוין אחרת, האובייקט הזה חייב לעמוד בתקן WGS84. הערכים חייבים להיות בטווחים מנורמלים.

ייצוג JSON
{
  "latitude": number,
  "longitude": number
}
שדות
latitude

number

קו הרוחב במעלות. הערך חייב להיות בטווח של [ -90.0, +90.0].

longitude

number

קו האורך במעלות. הוא צריך להיות בטווח של [ -180.0, +180.0].

פלט

פלט שמוצג למשתמש בסבב השיחה.

ייצוג JSON
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
שדות
text

string

התשובה המדוברת נשלחת למשתמש כמחרוזת פשוטה.

speech[]

string

תוכן דיבור שהופק על ידי הפעולה. כולל רכיבי סימון כמו SSML.

canvas

object (Canvas)

תוכן אינטראקטיבי של לוח הציור.

actionsBuilderPrompt

object (Prompt)

מצב ההנחיה בסוף השיחה. מידע נוסף על ההנחיה: https://developers.google.com/assistant/conversational/prompts

אזור עריכה

מייצג תגובה אינטראקטיבית של לוח הציור שתישלח למשתמש. אפשר להשתמש בערך הזה בשילוב עם השדה 'firstSimple' בהנחיה שמכילה כדי לדבר אל המשתמש, בנוסף להצגת תגובה אינטראקטיבית בבד ציור. הגודל המקסימלי של התגובה הוא 50,000 בייטים.

ייצוג JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
שדות
url

string

כתובת האתר של אפליקציית האינטרנט של לוח הציור האינטראקטיבי לטעינה. אם היא לא מוגדרת, ייעשה שימוש חוזר בכתובת ה-URL מהקנבס הפעיל הנוכחי.

data[]

value (Value format)

אפשרות. נתוני JSON שיועברו לדף האינטרנט של החוויה הסוחפת כאירוע. אם השדה 'שינוי' בהנחיה שמכילה הוא 'FALSE', ערכי הנתונים שהוגדרו בבקשת ההדפסה על קנבס יתווספו אחרי ערכי הנתונים שהוגדרו בהנחיות הקודמות של לוח הציור.

suppressMic

boolean

אפשרות. ערך ברירת המחדל: false.

enableFullScreen

boolean

אם true, אפליקציית ההדפסה על קנבס תופסת את כל המסך ולא תהיה כותרת בחלק העליון. במסך הטעינה תוצג גם הודעת השקה שכוללת את השם המוצג של הפעולה, שם המפתח והוראות ליציאה מהפעולה. ערך ברירת המחדל: false.

הנחיה

לייצג תשובה למשתמש.

ייצוג JSON
{
  "append": boolean,
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  }
}
שדות
append
(deprecated)

boolean

אפשרות. מצב האופן שבו יש למזג את ההודעה הזו עם הודעות שהוגדרו קודם לכן. הערך 'false' ינקה את כל ההודעות שהוגדרו קודם לכן (הראשונה והאחרונה, תוכן, קישור להצעות ולוח הציור) ויתווסף הודעות שמוגדרות בהודעה הזו. הערך "true" יוסיף הודעות שהוגדרו בהנחיה הזו להודעות שהוגדרו בתשובות הקודמות. הגדרת השדה הזה כ-"true" תאפשר גם הוספה של שדות מסוימים בתוך 'הנחיות פשוטות', 'הנחיית ההצעה' ו'בד ציור' (חלק מהודעת התוכן). הודעות התוכן והקישור תמיד יוחלפו, אם הן הוגדרו בהודעה. ערך ברירת המחדל הוא 'false'.

override

boolean

אפשרות. מצב האופן שבו יש למזג את ההודעה הזו עם הודעות שהוגדרו קודם לכן. הערך "true" מנקה את כל ההודעות שהוגדרו קודם לכן (הראשונה והאחרונה, תוכן, קישור להצעות ולוח הציור) ומוסיף את ההודעות שהוגדרו בהנחיה הזו. ההגדרה "false" מוסיפה הודעות שהוגדרו בהנחיה הזו להודעות שהוגדרו בתשובות הקודמות. השארת השדה הזה כ-"false" תאפשר גם הוספה של שדות מסוימים בהנחיות פשוטות, בהנחיה 'הצעות' ובהנחיה 'בד ציור' (חלק מההנחיה 'תוכן'). הודעות התוכן והקישור תמיד מוחלפות אם הן מוגדרות בהודעה. ערך ברירת המחדל הוא 'false'.

firstSimple

object (Simple)

אפשרות. התגובה הראשונה בקול ובטקסט בלבד.

content

object (Content)

אפשרות. תוכן כמו כרטיס, רשימה או מדיה שאפשר להציג למשתמש.

lastSimple

object (Simple)

אפשרות. התגובה האחרונה בהודעה קולית וטקסט בלבד.

suggestions[]

object (Suggestion)

אפשרות. הצעות שיוצגו למשתמש שתמיד יופיעו בסוף התשובה. אם השדה 'שינוי' בהנחיה שמכילה את הערך הוא 'false', הכותרות שהוגדרו בשדה הזה ייתווספו לכותרות שהוגדרו בכל ההצעות שהוגדרו קודם לכן, וערכים כפולים יוסרו.

canvas

object (Canvas)

אפשרות. מייצג את התגובה האינטראקטיבית של לוח הציור שתישלח למשתמש.

פשוט

מייצג הנחיה פשוטה לשליחה למשתמש.

ייצוג JSON
{
  "speech": string,
  "text": string
}
שדות
speech

string

אפשרות. מייצג את הדיבור שיש לומר למשתמש. אפשר להשתמש בפורמט SSML או המרת טקסט לדיבור. אם השדה ביטול של ההנחיה שמכילה הוא "true", הדיבור שהוגדר בשדה הזה יחליף את הדיבור של ההנחיה הפשוטה הקודמת.

text

string

טקסט אופציונלי שיוצג בבועת הצ'אט. אם לא תספקו, ייעשה שימוש בתצוגה של שדה הדיבור שלמעלה. מוגבל ל-640 תווים. אם השדה 'שינוי' בהנחיה שמכילה הוא "true", הטקסט שמוגדר בשדה הזה יחליף את הטקסט של ההנחיה הפשוטה הקודמת.

Content

התוכן להצגה.

ייצוג JSON
{

  // Union field content can be only one of the following:
  "card": {
    object (Card)
  },
  "image": {
    object (Image)
  },
  "table": {
    object (Table)
  },
  "media": {
    object (Media)
  },
  "canvas": {
    object (Canvas)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  }
  // End of list of possible types for union field content.
}
שדות
שדה איחוד content. תוכן. הערך של content יכול להיות רק אחת מהאפשרויות הבאות:
card

object (Card)

כרטיס בסיסי.

image

object (Image)

תמונה.

table

object (Table)

כרטיס טבלה.

media

object (Media)

תגובה שמציינת קבוצת מדיה להפעלה.

canvas
(deprecated)

object (Canvas)

תשובה שתשמש לחוויית שימוש אינטראקטיבית באזור העריכה.

collection

object (Collection)

כרטיס שמציג אוסף של אפשרויות לבחירה.

list

object (List)

כרטיס שמציג רשימה של אפשרויות לבחירה.

כרטיס

כרטיס בסיסי להצגת מידע מסוים, כמו תמונה או טקסט.

ייצוג JSON
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
שדות
title

string

השם הכולל של הכרטיס. אפשרות.

subtitle

string

אפשרות.

text

string

הטקסט של גוף הכרטיס. יש תמיכה בקבוצה מוגבלת של תחביר Markdown לעיצוב. חובה, אלא אם קיימת תמונה.

image

object (Image)

תמונה ראשית (Hero) של הכרטיס. הגובה קבוע ל-192dp. אפשרות.

imageFill

enum (ImageFill)

איך ימולאו הרקע של התמונה. אפשרות.

button

object (Link)

לחצן. אפשרות.

תמונה

תמונה שמוצגת בכרטיס.

ייצוג JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
שדות
url

string

כתובת ה-URL המקורית של התמונה. התמונות יכולות להיות בפורמט JPG, PNG ו-GIF (מונפשים או ללא אנימציה). לדוגמה,https://www.agentx.com/logo.png. חובה.

alt

string

תיאור טקסטואלי של התמונה שתשמש לצורך נגישות, למשל קוראי מסך. חובה.

height

integer

גובה התמונה בפיקסלים. אפשרות.

width

integer

רוחב התמונה בפיקסלים. אפשרות.

ImageFill

אפשרויות אפשריות להצגת תמונות שמשפיעות על הצגת התמונה. מומלץ להשתמש באפשרות הזו כאשר יחס הגובה-רוחב של התמונה לא תואם ליחס הגובה-רוחב של מאגר התמונה.

טיפוסים בני מנייה (enums)
UNSPECIFIED מילוי תמונה לא מוגדר.
GRAY ממלאים את הפערים בין התמונה למאגר התמונות באמצעות פסים אפורים.
WHITE ממלאים את הפערים בין התמונה למאגר התמונות בפסים לבנים.
CROPPED גודל התמונה משתנה כך שהרוחב והגובה של התמונה תואמים למידות המאגר או חורגים ממנו. פעולה זו עשויה לחתוך את החלק העליון והתחתון של התמונה אם גובה התמונה המותאם גדול יותר מגובה הקונטיינר. לחלופין, אם רוחב התמונה המותאם גדול מרוחב המאגר, ניתן לחתוך את השוליים השמאליים והימניים של התמונה. האפשרות הזו דומה ל'מצב זום' בטלוויזיה עם מסך רחב בזמן צפייה בסרטון ביחס 4:3.

OpenUrl

הפעולה שננקטה כשמשתמש פותח קישור.

ייצוג JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
שדות
url

string

שדה כתובת ה-URL שיכול להיות כל אחד מהפרטים הבאים: - כתובות URL מסוג http/https לפתיחת אפליקציה או דף אינטרנט שמקושרים לאפליקציה

hint

enum (UrlHint)

מציין רמז לסוג כתובת האתר.

UrlHint

סוגים שונים של רמזים לכתובות URL.

טיפוסים בני מנייה (enums)
AMP כתובת URL שמפנה ישירות לתוכן AMP או לכתובת URL קנונית שמפנה לתוכן AMP דרך .

טבלה

כרטיס טבלה להצגת טבלה של טקסט.

ייצוג JSON
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
שדות
title

string

הכותרת הכוללת של הטבלה. אופציונלי, אבל אם מגדירים כותרת משנה, חובה להגדיר אותו.

subtitle

string

כותרת משנה של הטבלה. אפשרות.

image

object (Image)

תמונה שמשויכת לטבלה. אפשרות.

columns[]

object (TableColumn)

כותרות ויישור של עמודות.

rows[]

object (TableRow)

נתוני שורות בטבלה. 3 השורות הראשונות יוצגו בהכרח, אבל יכול להיות שאחרות ייחתכו בפלטפורמות מסוימות. אתם יכולים לבדוק באמצעות הסימולטור אילו שורות יוצגו עבור משטח נתון. בפלטפורמות שתומכות ביכולת WEB_BROWSER, אפשר להפנות את המשתמש לדף אינטרנט שמכיל יותר נתונים.

button

object (Link)

לחצן.

TableColumn

מתאר עמודה בטבלה.

ייצוג JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
שדות
header

string

טקסט הכותרת לעמודה.

align

enum (HorizontalAlignment)

יישור אופקי של עמודת w.r.t של התוכן. אם לא צוין אחרת, התוכן יושר לקצה העליון.

HorizontalAlignment

יישור התוכן בתוך התא.

טיפוסים בני מנייה (enums)
UNSPECIFIED יישור אופקי לא מוגדר.
LEADING הקצה המוביל של התא. (זוהי ברירת המחדל)
CENTER התוכן מיושר למרכז העמודה.
TRAILING התוכן מיושר לקצה האחרון של העמודה.

TableRow

מתאר שורה בטבלה.

ייצוג JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
שדות
cells[]

object (TableCell)

תאים בשורה הזו. 3 התאים הראשונים יוצגו, אבל אחרים עשויים להיחתך בפלטפורמות מסוימות. השתמשו בסימולטור כדי לבדוק אילו תאים יוצגו עבור משטח נתון.

divider

boolean

מציינת אם צריך להיות קו מפריד אחרי כל שורה.

TableCell

מתאר תא בשורה.

ייצוג JSON
{
  "text": string
}
שדות
text

string

תוכן הטקסט של התא.

מדיה

מייצג אובייקט מדיה אחד. מכילה מידע על המדיה, כמו שם, תיאור, כתובת URL וכו'.

ייצוג JSON
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
שדות
mediaType

enum (MediaType)

סוג מדיה.

startOffset

string (Duration format)

היסט ההתחלה של אובייקט המדיה הראשון.

משך זמן בשניות עם עד תשע ספרות עשרוניות, שמסתיים ב-'s'. דוגמה: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

סוגים אופציונליים של פקדי מדיה שסשן התגובה הזה למדיה יכול לתמוך בהם. אם המדיניות מוגדרת, הבקשה תישלח על ידי צד שלישי כשמתרחש אירוע מדיה מסוים. אם היא לא מוגדרת, צד שלישי עדיין צריך לטפל בשני סוגי פקדים שמוגדרים כברירת מחדל, FINISHED ו-FAILED.

mediaObjects[]

object (MediaObject)

רשימה של אובייקטי מדיה

MediaType

סוג המדיה של התשובה הזו.

טיפוסים בני מנייה (enums)
MEDIA_TYPE_UNSPECIFIED סוג מדיה לא צוין.
AUDIO קובץ אודיו.
MEDIA_STATUS_ACK תשובה לאישור דוח סטטוס מדיה.

OptionalMediaControls

סוגים אופציונליים של פקדי מדיה שתגובת המדיה יכולה לתמוך בהם

טיפוסים בני מנייה (enums)
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED ערך לא מוגדר
PAUSED האירוע הושהה. מופעל כשהמשתמש משהה את המדיה.
STOPPED האירוע הופסק. מופעל כשמשתמש יוצא מסשן של צד שלישי במהלך הפעלה של מדיה.

MediaObject

מייצג אובייקט מדיה יחיד

ייצוג JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
שדות
name

string

השם של אובייקט המדיה הזה.

description

string

תיאור של אובייקט המדיה.

url

string

כתובת ה-URL שמפנה לתוכן המדיה.

image

object (MediaImage)

תמונה שתוצג עם כרטיס המדיה.

MediaImage

תמונה שתוצג עם כרטיס המדיה.

ייצוג JSON
{

  // Union field image can be only one of the following:
  "large": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
שדות
שדה איחוד image. תמונה. הערך של image יכול להיות רק אחת מהאפשרויות הבאות:
large

object (Image)

תמונה גדולה, כמו עטיפת האלבום וכו'

icon

object (Image)

סמל תמונה קטן שמוצג משמאל לכותרת. הוא הוקטן ל-36x36dp.

איסוף

כרטיס להצגת מגוון אפשרויות לבחירה.

ייצוג JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
שדות
title

string

שם האוסף. אפשרות.

subtitle

string

כותרת המשנה של האוסף. אפשרות.

items[]

object (CollectionItem)

מינימום: 2 מקסימום: 10

imageFill

enum (ImageFill)

איך ימולאו הרקעים של פריטי הקולקציה. אפשרות.

CollectionItem

פריט באוסף

ייצוג JSON
{
  "key": string
}
שדות
key

string

חובה. מפתח NLU שתואם לשם מפתח הכניסה בסוג המשויך.

רשימה

כרטיס להצגת רשימה של אפשרויות לבחירה.

ייצוג JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
שדות
title

string

שם הרשימה. אפשרות.

subtitle

string

כותרת המשנה של הרשימה. אפשרות.

items[]

object (ListItem)

מינימום: 2 מקסימום: 30

ListItem

פריט ברשימה

ייצוג JSON
{
  "key": string
}
שדות
key

string

חובה. מפתח NLU שתואם לשם מפתח הכניסה בסוג המשויך.

הצעה

הצעה לקלט שתוצג למשתמש.

ייצוג JSON
{
  "title": string
}
שדות
title

string

חובה. הטקסט שמוצג בצ'יפ ההצעות. כשמקישים על קיצור הדרך, אפשר לחזור לשיחה מילה במילה, כאילו המשתמש הקליד אותו. כל שם צריך להיות ייחודי בקבוצת הצ'יפים של ההצעות. 25 תווים לכל היותר

ניתוחים

פרטי אבחון שקשורים לסבב השיחה.

ייצוג JSON
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
שדות
actionsBuilderEvents[]

object (ExecutionEvent)

רשימת אירועים עם פרטים על עיבוד השיחה בכל שלבי מודל האינטראקציה של Actions Builder. השדה הזה מאוכלס רק באפליקציות Actions Builder (בונה) ו-Actions SDK.

ExecutionEvent

מכילה מידע על אירוע ביצוע שקרה במהלך עיבוד בקשת השיחה של Actions Builder. לסקירה כללית של השלבים הכרוכים בבקשת שיחה, תוכלו לעיין בכתובת https://developers.google.com/assistant/conversational/actions.

ייצוג JSON
{
  "eventTime": string,
  "executionState": {
    object (ExecutionState)
  },
  "status": {
    object (Status)
  },
  "warningMessages": [
    string
  ],

  // Union field EventData can be only one of the following:
  "userInput": {
    object (UserConversationInput)
  },
  "intentMatch": {
    object (IntentMatch)
  },
  "conditionsEvaluated": {
    object (ConditionsEvaluated)
  },
  "onSceneEnter": {
    object (OnSceneEnter)
  },
  "webhookRequest": {
    object (WebhookRequest)
  },
  "webhookResponse": {
    object (WebhookResponse)
  },
  "webhookInitiatedTransition": {
    object (WebhookInitiatedTransition)
  },
  "slotMatch": {
    object (SlotMatch)
  },
  "slotRequested": {
    object (SlotRequested)
  },
  "slotValidated": {
    object (SlotValidated)
  },
  "formFilled": {
    object (FormFilled)
  },
  "waitingUserInput": {
    object (WaitingForUserInput)
  },
  "endConversation": {
    object (EndConversation)
  }
  // End of list of possible types for union field EventData.
}
שדות
eventTime

string (Timestamp format)

חותמת הזמן של מועד האירוע.

חותמת זמן בפורמט "זולו" RFC3339 UTC, ברזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

executionState

object (ExecutionState)

מצב הביצוע במהלך האירוע הזה.

status

object (Status)

סטטוס התוצאה של שלב ביצוע מסוים.

warningMessages[]

string

רשימת אזהרות שנוצרו במהלך ביצוע האירוע הזה. האזהרות הן טיפים למפתח שגילה במהלך הבקשה לשיחה. לרוב, בקשות אלה לא קריטיות ולא מונעות את ביצוע הבקשה. לדוגמה, יכול להיות שתיווצר אזהרה כשתגובה לפעולה מאתר אחר (webhook) תנסה לבטל סוג מותאם אישית שלא קיים. שגיאות מדווחות כקוד סטטוס שנכשל, אך אזהרות עשויות להופיע גם כשהסטטוס הוא בסדר.

שדה איחוד EventData. מידע מפורט הספציפי לאירועים שונים שעשויים להיות מעורבים בעיבוד סבב שיחה. השדה שהוגדר כאן מגדיר את סוג האירוע. הערך של EventData יכול להיות רק אחת מהאפשרויות הבאות:
userInput

object (UserConversationInput)

אירוע מסוג טיפול בקלט של משתמשים.

intentMatch

object (IntentMatch)

אירוע התאמת Intent.

conditionsEvaluated

object (ConditionsEvaluated)

אירוע של הערכת המצב.

onSceneEnter

object (OnSceneEnter)

אירוע ביצוע OnSceneEnter.

webhookRequest

object (WebhookRequest)

אירוע שליחת בקשה ל-webhook.

webhookResponse

object (WebhookResponse)

אירוע קבלה של תגובה ל-webhook.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

אירוע מעבר ביוזמת Webhook.

slotMatch

object (SlotMatch)

אירוע שתואם למשבצת הזמן הרצויה.

slotRequested

object (SlotRequested)

בקשת אירוע ביחידת קיבולת (Slot).

slotValidated

object (SlotValidated)

אירוע אימות של יחידת קיבולת (Slot).

formFilled

object (FormFilled)

אירוע של מילוי טופס.

waitingUserInput

object (WaitingForUserInput)

אירוע בהמתנה לקלט המשתמש.

endConversation

object (EndConversation)

אירוע סיום השיחה.

ExecutionState

המצב הנוכחי של הביצוע.

ייצוג JSON
{
  "currentSceneId": string,
  "sessionStorage": {
    object
  },
  "slots": {
    object (Slots)
  },
  "promptQueue": [
    {
      object (Prompt)
    }
  ],
  "userStorage": {
    object
  },
  "householdStorage": {
    object
  }
}
שדות
currentSceneId

string

המזהה של הסצנה שפעילה כרגע.

sessionStorage

object (Struct format)

מצב אחסון הסשן: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

מצב המילוי של יחידות הקיבולת (Slot), אם רלוונטי: https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

תור ההודעות: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

מצב האחסון של המשתמש: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

מצב האחסון בבית: https://developers.google.com/assistant/conversational/storage-home

מכונות מזל

מייצג את המצב הנוכחי של מיקומי המשבצות של הסצנה.

ייצוג JSON
{
  "status": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  }
}
שדות
status

enum (SlotFillingStatus)

הסטטוס הנוכחי של מילוי יחידות הקיבולת.

slots

map (key: string, value: object (Slot))

יחידות הקיבולת (Slot) שמשויכות לסצנה הנוכחית.

אובייקט שמכיל רשימה של "key": value זוגות. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }

SlotFillingStatus

מייצג את הסטטוס הנוכחי של מילוי יחידות הקיבולת.

טיפוסים בני מנייה (enums)
UNSPECIFIED ערך חלופי כששדה השימוש לא מאוכלס.
INITIALIZED יחידות הקיבולת אותחלו, אבל מילוי יחידות הקיבולת (Slot) לא התחיל.
COLLECTING המערכת אוספת את ערכי יחידות הקיבולת (Slot).
FINAL כל הערכים של יחידות הקיבולת (Slot) הם סופיים ואי אפשר לשנות אותם.

משבצת

מייצג יחידת קיבולת (Slot).

ייצוג JSON
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
שדות
mode

enum (SlotMode)

המצב של יחידת הקיבולת (חובה או אופציונלי). יכול להיות מוגדר על ידי המפתח.

status

enum (SlotStatus)

הסטטוס של יחידת הקיבולת (Slot).

value

value (Value format)

הערך של יחידת הקיבולת (Slot). שינוי הערך הזה בתשובה יגרום לשינוי הערך במילוי המשבצת.

updated

boolean

מציין אם ערך המשבצת נאסף בפנייה האחרונה. השדה הזה הוא לקריאה בלבד.

prompt

object (Prompt)

אפשרות. ההנחיה הזו נשלחת למשתמש כשיש צורך למלא יחידת קיבולת (Slot) נדרשת. הבקשה הזו מבטלת את ההנחיה הקיימת שהוגדרה במסוף. השדה הזה לא נכלל בבקשת ה-webhook.

SlotMode

מייצג את המצב של יחידת קיבולת (Slot), כלומר, אם נדרש או לא.

טיפוסים בני מנייה (enums)
MODE_UNSPECIFIED ערך חלופי כששדה השימוש לא מאוכלס.
OPTIONAL שדה זה מציין שלא נדרש מקום כדי להשלים את מילוי יחידות הקיבולת.
REQUIRED שדה זה מציין שמשבצת הזמן נדרשת כדי להשלים את תהליך המילוי של יחידות הקיבולת.

SlotStatus

מייצג את הסטטוס של יחידת קיבולת (Slot).

טיפוסים בני מנייה (enums)
SLOT_UNSPECIFIED ערך חלופי כששדה השימוש לא מאוכלס.
EMPTY מציין שלמשבצת אין ערכים. לא ניתן לשנות את הסטטוס הזה באמצעות התגובה.
INVALID שדה זה מציין שערך יחידת הקיבולת (Slot) לא חוקי. ניתן להגדיר את הסטטוס הזה דרך התגובה.
FILLED מציינת שלמשבצת יש ערך. לא ניתן לשנות את הסטטוס הזה באמצעות התגובה.

סטטוס

הסוג Status מגדיר מודל שגיאה לוגית שמתאים לסביבות תכנות שונות, כולל ממשקי REST API ו-RPC API. הוא משמש את gRPC. כל הודעת Status מכילה שלושה קטעי נתונים: קוד שגיאה, הודעת שגיאה ופרטי שגיאה.

מידע נוסף על מודל השגיאה הזה והסבר על השימוש בו זמין במדריך לעיצוב API.

ייצוג JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
שדות
code

integer

קוד הסטטוס, שצריך להיות ערך 'טיפוסים בני מנייה (enum)' google.rpc.Code.

message

string

הודעת שגיאה למפתחים, שאמורה להיות באנגלית. כל הודעת שגיאה שמוצגת למשתמש צריכה להיות מותאמת לשוק המקומי ולשלוח אותה בשדה google.rpc.Status.details, או לתרגם אותה על ידי הלקוח.

details[]

object

רשימת ההודעות עם פרטי השגיאה. יש קבוצה משותפת של סוגי הודעות שבהם אפשר להשתמש בממשקי API.

אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף "@type" מכיל URI שמזהה את הסוג. דוגמה: { "id": 1234, "@type": "types.example.com/standard/id" }

UserConversationInput

מידע שקשור לקלט של משתמשים.

ייצוג JSON
{
  "type": string,
  "originalQuery": string
}
שדות
type

string

סוג קלט המשתמש. למשל, מקלדת, קול, מגע וכו'.

originalQuery

string

קלט הטקסט המקורי מהמשתמש.

IntentMatch

מידע על התאמה ל-Intent שמופעלת (ברחבי העולם או בסצנה): https://developers.google.com/assistant/conversational/intents

ייצוג JSON
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
שדות
intentId

string

מזהה ה-Intent שהפעיל את האינטראקציה הזו.

intentParameters

map (key: string, value: object (IntentParameterValue))

פרמטרים של Intent שהפעילו את האינטראקציה הזו.

אובייקט שמכיל רשימה של "key": value זוגות. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }

handler

string

שם ה-handler שמצורף לאינטראקציה הזו.

nextSceneId

string

הסצנה שאליה האינטראקציה הזו מובילה.

ConditionsEvaluated

תוצאות ההערכה של התנאים: https://developers.google.com/assistant/conversational/scenes#conditions

ייצוג JSON
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
שדות
failedConditions[]

object (Condition)

רשימת תנאים שהוערכו כ-'false'.

successCondition

object (Condition)

התנאי הראשון שהוערך כ-'true', אם קיים.

תנאי

מצב מוערך.

ייצוג JSON
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
שדות
expression

string

הביטוי שצוין בתנאי הזה.

handler

string

שם הגורם המטפל שצוין במצב המוערך.

nextSceneId

string

סצנת היעד צוינה במצב מוערך.

OnSceneEnter

מידע על הביצוע של שלב onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter

ייצוג JSON
{
  "handler": string
}
שדות
handler

string

שם הגורם המטפל שצוין באירוע onSceneEnter.

WebhookRequest

מידע על בקשה שנשלחה אל ה-Action webhook: https://developers.google.com/assistant/conversational/webhooks#payloads

ייצוג JSON
{
  "requestJson": string
}
שדות
requestJson

string

המטען הייעודי (payload) של בקשת ה-webhook.

WebhookResponse

מידע על תשובה שהתקבלה מה-Action webhook: https://developers.google.com/assistant/conversational/webhooks#payloads

ייצוג JSON
{
  "responseJson": string
}
שדות
responseJson

string

המטען הייעודי (payload) של תגובת ה-webhook.

WebhookInitiatedTransition

אירוע שהופעל על ידי סצנת היעד שהוחזרה מה-webhook: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

ייצוג JSON
{
  "nextSceneId": string
}
שדות
nextSceneId

string

המזהה של הסצנה שאליה מוביל המעבר.

SlotMatch

מידע על יחידות קיבולת(Slot) שמולאו: https://developers.google.com/assistant/conversational/scenes#slot_filling

ייצוג JSON
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
שדות
nluParameters

map (key: string, value: object (IntentParameterValue))

פרמטרים שחולצו על ידי NLU מקלט של משתמש.

אובייקט שמכיל רשימה של "key": value זוגות. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }

SlotRequested

מידע על יחידת הקיבולת (Slot) המבוקשת: https://developers.google.com/assistant/conversational/scenes#slot_filling

ייצוג JSON
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
שדות
slot

string

השם של יחידת הקיבולת הרצויה.

prompt

object (Prompt)

הנחיה של יחידת קיבולת (Slot).

SlotValidated

אירוע שמתרחש אחרי שאימות ה-webhook הסתיים עבור יחידות הקיבולת(Slot): https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

אירוע שמתרחש כשהטופס מולא במלואו: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

אירוע שמתרחש כשמערכת זקוקה לקלט של משתמש: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

האירוע שמודיע שהשיחה עם הנציג הסתיימה.