Method: projects.sendInteraction

เล่นการสนทนา 1 รอบ

คำขอ 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

โทเค็นทึบแสงที่ต้องส่งผ่านตามที่ได้รับจาก SendMediationResponse ในการโต้ตอบก่อนหน้า ช่องนี้สามารถปล่อยว่างไว้เพื่อเริ่มการสนทนาใหม่ โดยอาจเป็นการโต้ตอบแรกของเซสชันทดสอบ หรือละทิ้งการสนทนาก่อนหน้าและเริ่มการสนทนาใหม่ก็ได้

เนื้อหาการตอบกลับ

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ตอบกลับการสนทนาตามรอบ

การแสดง 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

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 เช่น 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 Chat
SMART_DISPLAY อุปกรณ์ 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

วัตถุที่แสดงคู่ละติจูด/ลองจิจูด ค่านี้แสดงเป็นเลขคู่ 1 คู่เพื่อแสดงองศาละติจูดและลองจิจูดองศา ออบเจ็กต์นี้ต้องเป็นไปตามมาตรฐาน 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)

เนื้อหา Canvas แบบอินเทอร์แอกทีฟ

actionsBuilderPrompt

object (Prompt)

สถานะของข้อความแจ้งเมื่อสิ้นสุดรอบการสนทนา ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อความแจ้งนี้ได้ที่ https://developers.google.com/assistant/conversational/prompts

ผืนผ้าใบ

แสดงการตอบกลับ Canvas แบบอินเทอร์แอกทีฟที่จะส่งถึงผู้ใช้ ซึ่งสามารถใช้ร่วมกับช่อง "firstSimple" ในพรอมต์ที่มีเพื่อสื่อสารกับผู้ใช้นอกเหนือจากการแสดงคำตอบ Canvas แบบอินเทอร์แอกทีฟ ขนาดสูงสุดของการตอบสนองคือ 50 กิโลไบต์

การแสดง JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
ช่อง
url

string

URL ของเว็บแอป Canvas แบบอินเทอร์แอกทีฟที่จะโหลด หากไม่ได้ตั้งค่า ระบบจะนำ URL จาก Canvas ที่ใช้งานอยู่ปัจจุบันมาใช้ซ้ำ

data[]

value (Value format)

ไม่บังคับ ข้อมูล JSON ที่จะส่งไปยังหน้าเว็บประสบการณ์ที่สมจริงในรูปแบบเหตุการณ์ หากช่อง "ลบล้าง" ในพรอมต์ที่มีคือ "เท็จ" ค่าข้อมูลที่กำหนดไว้ในข้อความแจ้งของ Canvas นี้จะเพิ่มเข้ามาหลังค่าข้อมูลที่กำหนดไว้ในข้อความแจ้งของ Canvas ก่อนหน้านี้

suppressMic

boolean

ไม่บังคับ ค่าเริ่มต้นคือ false

enableFullScreen

boolean

หาก true แอปพลิเคชัน Canvas จะใช้พื้นที่เต็มหน้าจอและไม่มีส่วนหัวที่ด้านบน ข้อความโทสต์จะแสดงในหน้าจอการโหลดที่มีชื่อที่แสดงของการดำเนินการ ชื่อนักพัฒนาซอฟต์แวร์ และวิธีการออกจากการดำเนินการด้วย ค่าเริ่มต้นคือ 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" จะล้างข้อความที่กำหนดไว้ก่อนหน้าทั้งหมด (ข้อความแรกและอย่างง่ายสุดท้าย เนื้อหา ลิงก์คำแนะนำ และ Canvas) แล้วเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ "true" จะเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ไปยังข้อความที่กำหนดไว้ในการตอบกลับก่อนหน้านี้ การตั้งค่าช่องนี้เป็น "จริง" จะเปิดใช้การต่อท้ายบางช่องใน "พรอมต์ทั่วไป" ข้อความแจ้งคำแนะนำ และข้อความแจ้งของ Canvas (ส่วนหนึ่งของพรอมต์เนื้อหา) ด้วย ข้อความเนื้อหาและลิงก์จะถูกเขียนทับเสมอหากกำหนดไว้ในพรอมต์ ค่าเริ่มต้นคือ "false"

override

boolean

ไม่บังคับ โหมดสำหรับวิธีการรวมข้อความนี้กับข้อความที่กำหนดไว้ก่อนหน้า "true" จะล้างข้อความที่กำหนดไว้ก่อนหน้าทั้งหมด (ข้อความแรกและที่เรียบง่ายสุดท้าย เนื้อหา ลิงก์คำแนะนำ และ Canvas) และเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ "false" จะเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ไปยังข้อความที่กำหนดไว้ในคำตอบก่อนหน้า การออกจากช่องนี้เป็น "เท็จ" จะเป็นการเปิดใช้การต่อท้ายบางช่องในข้อความแจ้งแบบง่าย พรอมต์คำแนะนำ และพรอมต์ Canvas (ส่วนหนึ่งของพรอมต์เนื้อหา) ข้อความเนื้อหาและลิงก์จะถูกเขียนทับเสมอหากกำหนดไว้ในข้อความแจ้ง ค่าเริ่มต้นคือ "false"

firstSimple

object (Simple)

ไม่บังคับ คำตอบแรกที่เป็นเสียงและข้อความเท่านั้น

content

object (Content)

ไม่บังคับ เนื้อหา เช่น การ์ด รายการ หรือสื่อที่จะแสดงให้ผู้ใช้เห็น

lastSimple

object (Simple)

ไม่บังคับ คำตอบสุดท้ายด้วยเสียงและข้อความเท่านั้น

suggestions[]

object (Suggestion)

ไม่บังคับ คำแนะนำที่จะแสดงแก่ผู้ใช้ ซึ่งจะปรากฏที่ตอนท้ายของคำตอบเสมอ หากช่อง "ลบล้าง" ในพรอมต์ที่มีคือ "เท็จ" ระบบจะเพิ่มชื่อที่กำหนดในช่องนี้ไปยังชื่อที่กำหนดไว้ในพรอมต์คำแนะนำที่กำหนดไว้ก่อนหน้า และนำค่าที่ซ้ำออก

canvas

object (Canvas)

ไม่บังคับ แสดงการตอบกลับ Canvas แบบอินเทอร์แอกทีฟที่จะส่งถึงผู้ใช้

เรียบง่าย

หมายถึงข้อความแจ้งง่ายๆ ที่จะส่งไปยังผู้ใช้

การแสดง JSON
{
  "speech": string,
  "text": string
}
ช่อง
speech

string

ไม่บังคับ แสดงคำพูดที่จะพูดกับผู้ใช้ โดยอาจเป็น SSML หรือการอ่านออกเสียงข้อความ หากช่อง "ลบล้าง" ในพรอมต์ที่เป็นข้อความ "จริง" เป็น "จริง" เสียงพูดที่กำหนดไว้ในช่องนี้จะแทนที่เสียงพูดของข้อความแจ้งแบบง่ายก่อนหน้า

text

string

ข้อความที่ไม่บังคับที่จะแสดงในบับเบิลแชท ไม่เช่นนั้นจะใช้การแสดงผลของช่องคำพูดด้านบน จำกัดอักขระไม่เกิน 640 ตัว หากช่อง "ลบล้าง" ในพรอมต์ที่เป็นข้อความ "จริง" เป็น "จริง" ข้อความที่กำหนดในช่องนี้จะแทนที่ข้อความเดิมของพรอมต์แบบง่าย

เนื้อหา

เนื้อหาที่จะแสดง

การแสดง 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)

คำตอบที่จะใช้สำหรับประสบการณ์การใช้งาน Canvas แบบอินเทอร์แอกทีฟ

collection

object (Collection)

การ์ดที่แสดงคอลเล็กชันตัวเลือก

list

object (List)

การ์ดที่แสดงรายการตัวเลือก

Card

การ์ดพื้นฐานสำหรับการแสดงข้อมูลบางอย่าง เช่น รูปภาพและ/หรือข้อความ

การแสดง JSON
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
ช่อง
title

string

ชื่อโดยรวมของการ์ด ไม่บังคับ

subtitle

string

ไม่บังคับ

text

string

ข้อความเนื้อหาของการ์ด รองรับไวยากรณ์มาร์กดาวน์บางส่วนสำหรับการจัดรูปแบบ ต้องระบุ เว้นแต่จะมีรูปภาพ

image

object (Image)

รูปภาพหลักของการ์ด ความสูงกำหนดตายตัวที่ 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 urls สำหรับการเปิดแอปหรือหน้าเว็บที่ลิงก์ไปยังแอป

hint

enum (UrlHint)

ระบุคำแนะนำสำหรับประเภท URL

UrlHint

คำแนะนำ URL ประเภทต่างๆ

Enum
AMP URL ที่ชี้ไปยังเนื้อหา AMP โดยตรง หรือไปยัง Canonical 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)

การจัดข้อความแนวนอนของคอลัมน์เนื้อหา หากไม่ระบุ เนื้อหาจะอยู่ในแนวเดียวกับขอบที่ด้านหน้า

HorizontalAlignment

การจัดแนวเนื้อหาภายในเซลล์

Enum
UNSPECIFIED ไม่ได้ระบุการจัดข้อความแนวนอน
LEADING ขอบที่นำหน้าของเซลล์ โดยตัวเลือกนี้คือค่าเริ่มต้น
CENTER เนื้อหาจะอยู่ในแนวกึ่งกลางของคอลัมน์
TRAILING เนื้อหาจะอยู่ในแนวเดียวกับขอบด้านท้ายของคอลัมน์

TableRow

อธิบายแถวในตาราง

การแสดง JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
ช่อง
cells[]

object (TableCell)

เซลล์ในแถวนี้ ระบบรับประกันว่าเซลล์ 3 เซลล์แรกจะแสดง แต่เซลล์อื่นอาจถูกตัดในบางพื้นผิว โปรดทดสอบด้วยเครื่องมือจำลองเพื่อดูว่าเซลล์ใดจะแสดงสำหรับพื้นผิวที่ระบุ

divider

boolean

ระบุว่าควรมีตัวแบ่งหลังแต่ละแถวหรือไม่

TableCell

อธิบายเซลล์ในแถว

การแสดง JSON
{
  "text": string
}
ช่อง
text

string

เนื้อหาข้อความของเซลล์

สื่อ

แสดงออบเจ็กต์สื่อ 1 รายการ มีข้อมูลเกี่ยวกับสื่อ เช่น ชื่อ, คำอธิบาย, URL ฯลฯ

การแสดง JSON
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
ช่อง
mediaType

enum (MediaType)

ประเภทสื่อ

startOffset

string (Duration format)

ออฟเซ็ตเริ่มต้นของออบเจ็กต์สื่อแรก

ระยะเวลาเป็นวินาทีโดยมีตัวเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" เช่น "3.5s"

optionalMediaControls[]

enum (OptionalMediaControls)

ประเภทตัวควบคุมสื่อที่ไม่บังคับซึ่งเซสชันการตอบสนองของสื่อนี้รองรับได้ หากตั้งค่าไว้ ระบบจะส่งคำขอไปที่ 3p เมื่อเกิดเหตุการณ์สื่อบางอย่างขึ้น หากไม่ได้ตั้งค่าไว้ 3p ยังต้องจัดการประเภทการควบคุมเริ่มต้น 2 ประเภท ได้แก่ FINISHED และ FAILED

mediaObjects[]

object (MediaObject)

รายการออบเจ็กต์สื่อ

MediaType

ประเภทสื่อของคําตอบนี้

Enum
MEDIA_TYPE_UNSPECIFIED ไม่ได้ระบุประเภทสื่อ
AUDIO ไฟล์เสียง
MEDIA_STATUS_ACK ตอบกลับเพื่อรับทราบรายงานสถานะสื่อ

OptionalMediaControls

ประเภทตัวควบคุมสื่อที่ไม่บังคับซึ่งการตอบสนองของสื่อรองรับ

Enum
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED ค่าที่ไม่ได้ระบุไว้
PAUSED เหตุการณ์ที่หยุดชั่วคราว ทริกเกอร์เมื่อผู้ใช้หยุดสื่อชั่วคราว
STOPPED หยุดกิจกรรมแล้ว ทริกเกอร์เมื่อผู้ใช้ออกจากเซสชัน 3p ระหว่างการเล่นสื่อ

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)

ไอคอนรูปภาพขนาดเล็กที่แสดงทางด้านขวาจากชื่อ มีขนาด 36x36 dp

คอลเล็กชัน

การ์ดสำหรับนำเสนอคอลเล็กชันตัวเลือกที่มีให้เลือก

การแสดง 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 ที่ตรงกับชื่อคีย์เข้าถึงใน Type ที่เกี่ยวข้อง

รายการ

การ์ดสำหรับนำเสนอรายการตัวเลือกที่มี

การแสดง JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
ช่อง
title

string

ชื่อของรายการ ไม่บังคับ

subtitle

string

คำบรรยายของรายการ ไม่บังคับ

items[]

object (ListItem)

ต่ำสุด: สูงสุด 2: 30

ListItem

รายการในรายการ

การแสดง JSON
{
  "key": string
}
ช่อง
key

string

ต้องระบุ คีย์ NLU ที่ตรงกับชื่อคีย์เข้าถึงใน Type ที่เกี่ยวข้อง

คำแนะนำ

คำแนะนำการป้อนข้อมูลที่จะแสดงให้ผู้ใช้เห็น

การแสดง 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 "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

executionState

object (ExecutionState)

สถานะของการดำเนินการในระหว่างกิจกรรมนี้

status

object (Status)

สถานะผลลัพธ์ของขั้นตอนการดำเนินการที่เฉพาะเจาะจง

warningMessages[]

string

รายการคำเตือนที่สร้างขึ้นระหว่างการดำเนินการของเหตุการณ์นี้ คำเตือนคือเคล็ดลับที่นักพัฒนาซอฟต์แวร์ค้นพบระหว่างคำขอการสนทนา โดยปกติแล้ว การดำเนินการดังกล่าวจะไม่ร้ายแรงและจะไม่ทำให้การดำเนินการตามคำขอหยุดชะงัก ตัวอย่างเช่น ระบบอาจสร้างคำเตือนขึ้นเมื่อเว็บฮุคพยายามลบล้างประเภทที่กำหนดเองซึ่งไม่มีอยู่ ระบบจะรายงานข้อผิดพลาดเป็นรหัสสถานะที่ล้มเหลว แต่มีคำเตือนได้แม้ว่าจะมีสถานะ "ปกติ" ก็ตาม

ฟิลด์การรวม EventData ข้อมูลโดยละเอียดเกี่ยวกับกิจกรรมต่างๆ ที่อาจเกี่ยวข้องกับการประมวลผลรอบการสนทนา ชุดฟิลด์ที่นี่จะกำหนดประเภทของเหตุการณ์นี้ EventData ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
userInput

object (UserConversationInput)

เหตุการณ์การจัดการอินพุตของผู้ใช้

intentMatch

object (IntentMatch)

เหตุการณ์การจับคู่ Intent

conditionsEvaluated

object (ConditionsEvaluated)

เหตุการณ์การประเมินเงื่อนไข

onSceneEnter

object (OnSceneEnter)

เหตุการณ์การดำเนินการ 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)

กิจกรรมจบการสนทนา

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

ระบุว่ามีการรวบรวมค่าสล็อตในเลี้ยวสุดท้ายหรือไม่ ช่องนี้เป็นแบบอ่านอย่างเดียว

prompt

object (Prompt)

ไม่บังคับ ระบบจะส่งข้อความแจ้งนี้ไปยังผู้ใช้เมื่อจำเป็นเพื่อเติมช่องที่ต้องระบุ ข้อความแจ้งนี้จะลบล้างพรอมต์ที่มีอยู่ซึ่งกำหนดไว้ในคอนโซล ช่องนี้ไม่รวมอยู่ในคำขอเว็บฮุค

SlotMode

แสดงโหมดของช่อง ซึ่งก็คือหากจำเป็นต้องใช้หรือไม่

Enum
MODE_UNSPECIFIED ค่าสำรองเมื่อไม่มีการใส่ข้อมูลในช่องการใช้งาน
OPTIONAL ระบุว่าไม่จำเป็นต้องเติมช่องโฆษณาให้เสร็จสมบูรณ์
REQUIRED ระบุว่าต้องวางช่องโฆษณาเพื่อเติมลงในช่องให้เสร็จสมบูรณ์

SlotStatus

แสดงสถานะของช่องโฆษณา

Enum
SLOT_UNSPECIFIED ค่าสำรองเมื่อไม่มีการใส่ข้อมูลในช่องการใช้งาน
EMPTY ระบุว่าช่องโฆษณาไม่มีค่าใดๆ คุณแก้ไขสถานะนี้ผ่านคำตอบไม่ได้
INVALID ระบุว่าค่าช่องไม่ถูกต้อง คุณกำหนดสถานะนี้ได้ผ่านคำตอบ
FILLED ระบุว่าช่องโฆษณามีค่า คุณแก้ไขสถานะนี้ผ่านคำตอบไม่ได้

สถานะ

ประเภท Status กำหนดโมเดลข้อผิดพลาดเชิงตรรกะที่เหมาะสำหรับสภาพแวดล้อมการเขียนโปรแกรมที่แตกต่างกัน ซึ่งรวมถึง REST API และ RPC API ใช้โดย gRPC ข้อความ Status แต่ละข้อความจะมีข้อมูล 3 อย่าง ได้แก่ รหัสข้อผิดพลาด ข้อความแสดงข้อผิดพลาด และรายละเอียดข้อผิดพลาด

ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบข้อผิดพลาดนี้และวิธีทำงานกับรูปแบบดังกล่าวได้ในคู่มือการออกแบบ 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))

พารามิเตอร์ของความตั้งใจที่ทริกเกอร์การโต้ตอบนี้

ออบเจ็กต์ที่มีรายการคู่ "key": value ตัวอย่างเช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

handler

string

ชื่อของเครื่องจัดการที่แนบกับการโต้ตอบนี้

nextSceneId

string

ฉากที่ทำให้เกิดการโต้ตอบนี้

ConditionsEvaluated

ผลการประเมินเงื่อนไข: https://developers.google.com/assistant/conversational/scenes#conditions

การแสดง JSON
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
ช่อง
failedConditions[]

object (Condition)

รายการเงื่อนไขที่ประเมินเป็น "เท็จ"

successCondition

object (Condition)

เงื่อนไขแรกที่ประเมินเป็น "จริง" หากมี

เงื่อนไข

เงื่อนไขที่ประเมิน

การแสดง 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

ข้อมูลเกี่ยวกับคำขอที่ส่งไปยังเว็บฮุคของการดำเนินการ: https://developers.google.com/assistant/conversational/webhooks#payloads

การแสดง JSON
{
  "requestJson": string
}
ช่อง
requestJson

string

เพย์โหลดของคำขอเว็บฮุค

WebhookResponse

ข้อมูลเกี่ยวกับการตอบกลับที่ได้รับจากเว็บฮุคสำหรับการดำเนินการ: https://developers.google.com/assistant/conversational/webhooks#payloads

การแสดง JSON
{
  "responseJson": string
}
ช่อง
responseJson

string

เพย์โหลดของการตอบสนองเว็บฮุค

WebhookInitiatedTransition

เหตุการณ์ที่ถูกเรียกให้แสดงโดยโหมดปลายทางที่แสดงผลจากเว็บฮุค: 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)

ข้อความแจ้งเกี่ยวกับช่อง

SlotValidated

เหตุการณ์ที่เกิดขึ้นหลังจากการตรวจสอบเว็บฮุคสำหรับช่องโฆษณาเสร็จสิ้น: 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

กิจกรรมที่แจ้งว่าการสนทนากับตัวแทนสิ้นสุดแล้ว