Method: projects.sendInteraction

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

בקשת HTTP

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

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

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

פרמטרים
project

string

חובה. הפרויקט שנבדק, מצוין לפי מזהה הפרויקט. פורמט: projects/{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

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

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

מאפייני המכשיר

מאפייני המכשיר שרלוונטיים לסבב שיחה.

ייצוג 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 דוגמאות: en, en-US, es-419 (דוגמאות נוספות מפורטות בכתובת https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

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

פלטפורמה

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

טיפוסים בני מנייה (enum)
SURFACE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
SPEAKER רמקול (למשל, Google Home).
PHONE טלפון.
ALLO צ'אט של Allo.
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

קנבס

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

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

string

כתובת ה-URL של אפליקציית האינטרנט של לוח הציור האינטראקטיבי לטעינה. אם המדיניות לא מוגדרת, ייעשה שימוש חוזר בכתובת ה-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'.

firstSimple

object (Simple)

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

content

object (Content)

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

lastSimple

object (Simple)

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

suggestions[]

object (Suggestion)

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

canvas

object (Canvas)

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

פשוט

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

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

string

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

text

string

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

תוכן

תוכן להצגה.

ייצוג 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

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

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

OpenUrl

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

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

string

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

hint

enum (UrlHint)

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

UrlHint

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

טיפוסים בני מנייה (enum)
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

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

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

TableRow

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

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

object (TableCell)

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

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)

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

mediaObjects[]

object (MediaObject)

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

MediaType

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

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

OptionalMediaControls

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

טיפוסים בני מנייה (enum)
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 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 'Zulu' בפורמט של רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "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)

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

slotValidated

object (SlotValidated)

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

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)

מצב מילוי המשבצות, אם רלוונטי: 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))

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

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

SlotFillingStatus

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

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

משבצת

מייצג משבצת.

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

enum (SlotMode)

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

status

enum (SlotStatus)

הסטטוס של המשבצת.

value

value (Value format)

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

updated

boolean

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

prompt

object (Prompt)

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

SlotMode

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

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

SlotStatus

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

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

סטטוס

הסוג Status מגדיר מודל שגיאות לוגי שמתאים לסביבות תכנות שונות, כולל ממשקי API ל-REST וממשקי API ל-RPC. הוא נמצא בשימוש של 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

שם handler צוין בתנאי שנבדק.

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

מידע על תשובה שהתקבלה מה-webhook 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

מידע על מיקומי מודעות שהותאמו: 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

מידע על המשבצת המבוקשת כרגע: https://developers.google.com/assistant/conversational/scenes#slot_filling

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

string

השם של המשבצת המבוקשת.

prompt

object (Prompt)

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

SlotValidated

אירוע שמתרחש אחרי שאימות ה-webhook של המשבצות הסתיים: 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

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