- คำขอ HTTP
- พารามิเตอร์เส้นทาง
- เนื้อความของคำขอ
- เนื้อหาการตอบกลับ
- UserInput
- InputType
- DeviceProperties
- แพลตฟอร์ม
- ตำแหน่ง
- LatLng
- เอาต์พุต
- แคนวาส
- ข้อความแจ้ง
- เรียบง่าย
- เนื้อหา
- บัตร
- รูปภาพ
- ImageFill
- ลิงก์
- OpenUrl
- UrlHint
- ตาราง
- TableColumn
- HorizontalAlignment
- TableRow
- TableCell
- สื่อ
- MediaType
- OptionalMediaControls
- MediaObject
- MediaImage
- คอลเล็กชัน
- CollectionItem
- รายการ
- ListItem
- คำแนะนำ
- การวินิจฉัย
- ExecutionEvent
- ExecutionState
- สล็อต
- SlotFillingStatus
- ช่อง
- SlotMode
- SlotStatus
- สถานะ
- UserConversationInput
- IntentMatch
- ConditionsEvaluated
- เงื่อนไข
- OnSceneEnter
- WebhookRequest
- WebhookResponse
- WebhookInitiatedTransition
- SlotMatch
- SlotRequested
- SlotValidated
- FormFilled
- WaitingForUserInput
- EndConversation
เล่นการสนทนา 1 รอบ
คำขอ HTTP
POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction
URL ใช้ไวยากรณ์การแปลง gRPC
พารามิเตอร์เส้นทาง
พารามิเตอร์ | |
---|---|
project |
ต้องระบุ โปรเจ็กต์ที่กำลังทดสอบ ซึ่งระบุด้วยรหัสโปรเจ็กต์ รูปแบบ: projects/{project} |
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้
การแสดง JSON | |
---|---|
{ "input": { object ( |
ช่อง | |
---|---|
input |
ต้องระบุ ข้อมูลที่ป้อนโดยผู้ใช้ |
deviceProperties |
ต้องระบุ คุณสมบัติของอุปกรณ์ที่ใช้ในการโต้ตอบกับการดำเนินการ |
conversationToken |
โทเค็นทึบแสงที่ต้องส่งผ่านตามที่ได้รับจาก SendMediationResponse ในการโต้ตอบก่อนหน้า ช่องนี้สามารถปล่อยว่างไว้เพื่อเริ่มการสนทนาใหม่ โดยอาจเป็นการโต้ตอบแรกของเซสชันทดสอบ หรือละทิ้งการสนทนาก่อนหน้าและเริ่มการสนทนาใหม่ก็ได้ |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
ตอบกลับการสนทนาตามรอบ
การแสดง JSON | |
---|---|
{ "output": { object ( |
ช่อง | |
---|---|
output |
เอาต์พุตที่แสดงต่อผู้ใช้ |
diagnostics |
ข้อมูลการวินิจฉัยที่อธิบายวิธีการจัดการคําขอ |
conversationToken |
ระบบจะตั้งค่าโทเค็นแบบทึบแสงใน SendInteractionRequest ในการเรียก RPC ครั้งถัดไป เพื่อที่จะสนทนาเดิมต่อ |
UserInput
ข้อมูลจากผู้ใช้ในรอบการสนทนา
การแสดง JSON | |
---|---|
{
"query": string,
"type": enum ( |
ช่อง | |
---|---|
query |
เนื้อหาของอินพุตที่ผู้ใช้ส่ง |
type |
ประเภทของอินพุต |
InputType
ระบุแหล่งที่มาของอินพุต คำค้นหาที่พิมพ์ หรือการค้นหาด้วยเสียง
Enum | |
---|---|
INPUT_TYPE_UNSPECIFIED |
แหล่งที่มาของอินพุตที่ไม่ระบุ |
TOUCH |
การค้นหาจากการโต้ตอบ GUI |
VOICE |
ค้นหาด้วยเสียง |
KEYBOARD |
ข้อความค้นหาที่พิมพ์ |
URL |
การดําเนินการนี้ทริกเกอร์โดยลิงก์ URL |
DeviceProperties
คุณสมบัติของอุปกรณ์ที่เกี่ยวข้องกับรอบสนทนา
การแสดง JSON | |
---|---|
{ "surface": enum ( |
ช่อง | |
---|---|
surface |
แพลตฟอร์มที่ใช้สำหรับการโต้ตอบกับการดำเนินการ |
location |
ตำแหน่งของอุปกรณ์ เช่น ละติจูด ลองจิจูด และที่อยู่ที่มีการจัดรูปแบบ |
locale |
ภาษาตามที่ตั้งค่าไว้ในอุปกรณ์ โดยรูปแบบควรเป็นไปตาม BCP 47: https://tools.ietf.org/html/bcp47 เช่น en, en-US, es-419 (ดูตัวอย่างเพิ่มเติมที่ https://tools.ietf.org/html/bcp47#appendix-A) |
timeZone |
เขตเวลาตามที่ตั้งค่าไว้ในอุปกรณ์ รูปแบบควรเป็นไปตามฐานข้อมูลเขตเวลาของ 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 ( |
ช่อง | |
---|---|
coordinates |
พิกัดทางภูมิศาสตร์ ต้องมีสิทธิ์ [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] |
formattedAddress |
ที่อยู่ที่แสดง เช่น "1600 Amphitheatre Pkwy, Mountain View, CA 94043" ต้องมีสิทธิ์ [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] |
zipCode |
รหัสไปรษณีย์ ต้องมีสิทธิ์ [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] หรือ [DEVICE_COARSE_LOCATION] สิทธิ์ [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] |
city |
เมือง ต้องมีสิทธิ์ [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 |
ละติจูด หน่วยเป็นองศา โดยต้องอยู่ในช่วง [-90.0, +90.0] |
longitude |
ลองจิจูด หน่วยเป็นองศา โดยต้องอยู่ในช่วง [-180.0, +180.0] |
เอาต์พุต
เอาต์พุตที่ผู้ใช้มองเห็นได้รอบการสนทนา
การแสดง JSON | |
---|---|
{ "text": string, "speech": [ string ], "canvas": { object ( |
ช่อง | |
---|---|
text |
คำตอบแบบเสียงพูดที่ส่งไปให้ผู้ใช้เป็นสตริงทั่วไป |
speech[] |
เนื้อหาคำพูดที่สร้างโดยการดำเนินการ ซึ่งอาจรวมถึงองค์ประกอบมาร์กอัป เช่น SSML |
canvas |
เนื้อหา Canvas แบบอินเทอร์แอกทีฟ |
actionsBuilderPrompt |
สถานะของข้อความแจ้งเมื่อสิ้นสุดรอบการสนทนา ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อความแจ้งนี้ได้ที่ https://developers.google.com/assistant/conversational/prompts |
ผืนผ้าใบ
แสดงการตอบกลับ Canvas แบบอินเทอร์แอกทีฟที่จะส่งถึงผู้ใช้ ซึ่งสามารถใช้ร่วมกับช่อง "firstSimple" ในพรอมต์ที่มีเพื่อสื่อสารกับผู้ใช้นอกเหนือจากการแสดงคำตอบ Canvas แบบอินเทอร์แอกทีฟ ขนาดสูงสุดของการตอบสนองคือ 50 กิโลไบต์
การแสดง JSON | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "enableFullScreen": boolean } |
ช่อง | |
---|---|
url |
URL ของเว็บแอป Canvas แบบอินเทอร์แอกทีฟที่จะโหลด หากไม่ได้ตั้งค่า ระบบจะนำ URL จาก Canvas ที่ใช้งานอยู่ปัจจุบันมาใช้ซ้ำ |
data[] |
ไม่บังคับ ข้อมูล JSON ที่จะส่งไปยังหน้าเว็บประสบการณ์ที่สมจริงในรูปแบบเหตุการณ์ หากช่อง "ลบล้าง" ในพรอมต์ที่มีคือ "เท็จ" ค่าข้อมูลที่กำหนดไว้ในข้อความแจ้งของ Canvas นี้จะเพิ่มเข้ามาหลังค่าข้อมูลที่กำหนดไว้ในข้อความแจ้งของ Canvas ก่อนหน้านี้ |
suppressMic |
ไม่บังคับ ค่าเริ่มต้นคือ false |
enableFullScreen |
หาก |
ข้อความแจ้ง
แสดงคำตอบต่อผู้ใช้
การแสดง JSON | |
---|---|
{ "append": boolean, "override": boolean, "firstSimple": { object ( |
ช่อง | |
---|---|
append |
ไม่บังคับ โหมดสำหรับวิธีการรวมข้อความนี้กับข้อความที่กำหนดไว้ก่อนหน้า "false" จะล้างข้อความที่กำหนดไว้ก่อนหน้าทั้งหมด (ข้อความแรกและอย่างง่ายสุดท้าย เนื้อหา ลิงก์คำแนะนำ และ Canvas) แล้วเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ "true" จะเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ไปยังข้อความที่กำหนดไว้ในการตอบกลับก่อนหน้านี้ การตั้งค่าช่องนี้เป็น "จริง" จะเปิดใช้การต่อท้ายบางช่องใน "พรอมต์ทั่วไป" ข้อความแจ้งคำแนะนำ และข้อความแจ้งของ Canvas (ส่วนหนึ่งของพรอมต์เนื้อหา) ด้วย ข้อความเนื้อหาและลิงก์จะถูกเขียนทับเสมอหากกำหนดไว้ในพรอมต์ ค่าเริ่มต้นคือ "false" |
override |
ไม่บังคับ โหมดสำหรับวิธีการรวมข้อความนี้กับข้อความที่กำหนดไว้ก่อนหน้า "true" จะล้างข้อความที่กำหนดไว้ก่อนหน้าทั้งหมด (ข้อความแรกและที่เรียบง่ายสุดท้าย เนื้อหา ลิงก์คำแนะนำ และ Canvas) และเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ "false" จะเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ไปยังข้อความที่กำหนดไว้ในคำตอบก่อนหน้า การออกจากช่องนี้เป็น "เท็จ" จะเป็นการเปิดใช้การต่อท้ายบางช่องในข้อความแจ้งแบบง่าย พรอมต์คำแนะนำ และพรอมต์ Canvas (ส่วนหนึ่งของพรอมต์เนื้อหา) ข้อความเนื้อหาและลิงก์จะถูกเขียนทับเสมอหากกำหนดไว้ในข้อความแจ้ง ค่าเริ่มต้นคือ "false" |
firstSimple |
ไม่บังคับ คำตอบแรกที่เป็นเสียงและข้อความเท่านั้น |
content |
ไม่บังคับ เนื้อหา เช่น การ์ด รายการ หรือสื่อที่จะแสดงให้ผู้ใช้เห็น |
lastSimple |
ไม่บังคับ คำตอบสุดท้ายด้วยเสียงและข้อความเท่านั้น |
suggestions[] |
ไม่บังคับ คำแนะนำที่จะแสดงแก่ผู้ใช้ ซึ่งจะปรากฏที่ตอนท้ายของคำตอบเสมอ หากช่อง "ลบล้าง" ในพรอมต์ที่มีคือ "เท็จ" ระบบจะเพิ่มชื่อที่กำหนดในช่องนี้ไปยังชื่อที่กำหนดไว้ในพรอมต์คำแนะนำที่กำหนดไว้ก่อนหน้า และนำค่าที่ซ้ำออก |
link |
ไม่บังคับ ชิปคำแนะนำเพิ่มเติมที่ลิงก์ออกไปยังแอปหรือเว็บไซต์ที่เกี่ยวข้องได้ ชิปจะแสดงผลในชื่อ "เปิด |
canvas |
ไม่บังคับ แสดงการตอบกลับ Canvas แบบอินเทอร์แอกทีฟที่จะส่งถึงผู้ใช้ |
เรียบง่าย
หมายถึงข้อความแจ้งง่ายๆ ที่จะส่งไปยังผู้ใช้
การแสดง JSON | |
---|---|
{ "speech": string, "text": string } |
ช่อง | |
---|---|
speech |
ไม่บังคับ แสดงคำพูดที่จะพูดกับผู้ใช้ โดยอาจเป็น SSML หรือการอ่านออกเสียงข้อความ หากช่อง "ลบล้าง" ในพรอมต์ที่เป็นข้อความ "จริง" เป็น "จริง" เสียงพูดที่กำหนดไว้ในช่องนี้จะแทนที่เสียงพูดของข้อความแจ้งแบบง่ายก่อนหน้า |
text |
ข้อความที่ไม่บังคับที่จะแสดงในบับเบิลแชท ไม่เช่นนั้นจะใช้การแสดงผลของช่องคำพูดด้านบน จำกัดอักขระไม่เกิน 640 ตัว หากช่อง "ลบล้าง" ในพรอมต์ที่เป็นข้อความ "จริง" เป็น "จริง" ข้อความที่กำหนดในช่องนี้จะแทนที่ข้อความเดิมของพรอมต์แบบง่าย |
เนื้อหา
เนื้อหาที่จะแสดง
การแสดง JSON | |
---|---|
{ // Union field |
ช่อง | ||
---|---|---|
ฟิลด์การรวม content เนื้อหา content ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
||
card |
บัตรพื้นฐาน |
|
image |
รูปภาพ |
|
table |
การ์ดตาราง |
|
media |
คำตอบที่ระบุชุดสื่อที่จะเล่น |
|
canvas |
คำตอบที่จะใช้สำหรับประสบการณ์การใช้งาน Canvas แบบอินเทอร์แอกทีฟ |
|
collection |
การ์ดที่แสดงคอลเล็กชันตัวเลือก |
|
list |
การ์ดที่แสดงรายการตัวเลือก |
Card
การ์ดพื้นฐานสำหรับการแสดงข้อมูลบางอย่าง เช่น รูปภาพและ/หรือข้อความ
การแสดง JSON | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
ช่อง | |
---|---|
title |
ชื่อโดยรวมของการ์ด ไม่บังคับ |
subtitle |
ไม่บังคับ |
text |
ข้อความเนื้อหาของการ์ด รองรับไวยากรณ์มาร์กดาวน์บางส่วนสำหรับการจัดรูปแบบ ต้องระบุ เว้นแต่จะมีรูปภาพ |
image |
รูปภาพหลักของการ์ด ความสูงกำหนดตายตัวที่ 192dp ไม่บังคับ |
imageFill |
วิธีการเติมสีพื้นหลังรูปภาพ ไม่บังคับ |
button |
ปุ่ม ไม่บังคับ |
รูปภาพ
รูปภาพที่แสดงในการ์ด
การแสดง JSON | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
ช่อง | |
---|---|
url |
URL แหล่งที่มาของรูปภาพ รูปภาพต้องเป็น JPG, PNG และ GIF (เคลื่อนไหวและไม่เคลื่อนไหว) เช่น |
alt |
ข้อความอธิบายรูปภาพที่จะใช้สำหรับการช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ ต้องระบุ |
height |
ความสูงของรูปภาพเป็นพิกเซล ไม่บังคับ |
width |
ความกว้างของรูปภาพเป็นพิกเซล ไม่บังคับ |
ImageFill
ตัวเลือกการแสดงรูปภาพที่อาจมีผลต่อการนำเสนอรูปภาพ ควรใช้เมื่อสัดส่วนภาพของรูปภาพไม่ตรงกับสัดส่วนภาพของคอนเทนเนอร์รูปภาพ
Enum | |
---|---|
UNSPECIFIED |
การเติมรูปภาพที่ไม่ระบุ |
GRAY |
เติมช่องว่างระหว่างอิมเมจและคอนเทนเนอร์อิมเมจด้วยแถบสีเทา |
WHITE |
เติมช่องว่างระหว่างอิมเมจและคอนเทนเนอร์อิมเมจด้วยแถบสีขาว |
CROPPED |
มีการปรับขนาดรูปภาพให้ความกว้างและความสูงของภาพตรงกันหรือเกินขนาดของคอนเทนเนอร์ ซึ่งอาจครอบตัดด้านบนและด้านล่างของรูปภาพหากความสูงของรูปภาพที่ปรับขนาดมากกว่าความสูงของคอนเทนเนอร์ หรือครอบตัดด้านซ้ายและด้านขวาของรูปภาพหากความกว้างของรูปภาพที่ปรับขนาดมากกว่าความกว้างของคอนเทนเนอร์ ซึ่งคล้ายกับ "โหมดซูม" ในทีวีแบบจอกว้างเมื่อเล่นวิดีโอ 4:3 |
ลิงก์
ลิงก์เนื้อหา
การแสดง JSON | |
---|---|
{
"name": string,
"open": {
object ( |
ช่อง | |
---|---|
name |
ชื่อของลิงก์ |
open |
สิ่งที่จะเกิดขึ้นเมื่อผู้ใช้เปิดลิงก์ |
OpenUrl
การดำเนินการที่เกิดขึ้นเมื่อผู้ใช้เปิดลิงก์
การแสดง JSON | |
---|---|
{
"url": string,
"hint": enum ( |
ช่อง | |
---|---|
url |
ฟิลด์ URL ซึ่งอาจเป็นรายการใดรายการหนึ่งต่อไปนี้: - http/https urls สำหรับการเปิดแอปหรือหน้าเว็บที่ลิงก์ไปยังแอป |
hint |
ระบุคำแนะนำสำหรับประเภท URL |
UrlHint
คำแนะนำ URL ประเภทต่างๆ
Enum | |
---|---|
LINK_UNSPECIFIED |
ไม่ระบุ |
AMP |
URL ที่ชี้ไปยังเนื้อหา AMP โดยตรง หรือไปยัง Canonical URL ซึ่งอ้างถึงเนื้อหา AMP ผ่าน |
ตาราง
การ์ดตารางสำหรับแสดงตารางข้อความ
การแสดง JSON | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
ช่อง | |
---|---|
title |
ชื่อโดยรวมของตาราง ไม่บังคับ แต่ต้องตั้งค่าหากมีการตั้งค่าคำบรรยาย |
subtitle |
ชื่อรองของตาราง ไม่บังคับ |
image |
รูปภาพที่เชื่อมโยงกับตาราง ไม่บังคับ |
columns[] |
ส่วนหัวและการจัดคอลัมน์ |
rows[] |
ข้อมูลแถวของตาราง ระบบรับประกันว่า 3 แถวแรกจะแสดง แต่แถวอื่นๆ อาจถูกตัดออกในบางพื้นผิว โปรดทดสอบด้วยเครื่องมือจำลองเพื่อดูว่าแถวใดจะแสดงขึ้นในพื้นผิวหนึ่งๆ บนแพลตฟอร์มที่รองรับความสามารถ WEB_BROWSER คุณสามารถนำผู้ใช้ไปยังหน้าเว็บที่มีข้อมูลเพิ่มเติมได้ |
button |
ปุ่ม |
TableColumn
อธิบายคอลัมน์ในตาราง
การแสดง JSON | |
---|---|
{
"header": string,
"align": enum ( |
ช่อง | |
---|---|
header |
ข้อความส่วนหัวของคอลัมน์ |
align |
การจัดข้อความแนวนอนของคอลัมน์เนื้อหา หากไม่ระบุ เนื้อหาจะอยู่ในแนวเดียวกับขอบที่ด้านหน้า |
HorizontalAlignment
การจัดแนวเนื้อหาภายในเซลล์
Enum | |
---|---|
UNSPECIFIED |
ไม่ได้ระบุการจัดข้อความแนวนอน |
LEADING |
ขอบที่นำหน้าของเซลล์ โดยตัวเลือกนี้คือค่าเริ่มต้น |
CENTER |
เนื้อหาจะอยู่ในแนวกึ่งกลางของคอลัมน์ |
TRAILING |
เนื้อหาจะอยู่ในแนวเดียวกับขอบด้านท้ายของคอลัมน์ |
TableRow
อธิบายแถวในตาราง
การแสดง JSON | |
---|---|
{
"cells": [
{
object ( |
ช่อง | |
---|---|
cells[] |
เซลล์ในแถวนี้ ระบบรับประกันว่าเซลล์ 3 เซลล์แรกจะแสดง แต่เซลล์อื่นอาจถูกตัดในบางพื้นผิว โปรดทดสอบด้วยเครื่องมือจำลองเพื่อดูว่าเซลล์ใดจะแสดงสำหรับพื้นผิวที่ระบุ |
divider |
ระบุว่าควรมีตัวแบ่งหลังแต่ละแถวหรือไม่ |
TableCell
อธิบายเซลล์ในแถว
การแสดง JSON | |
---|---|
{ "text": string } |
ช่อง | |
---|---|
text |
เนื้อหาข้อความของเซลล์ |
สื่อ
แสดงออบเจ็กต์สื่อ 1 รายการ มีข้อมูลเกี่ยวกับสื่อ เช่น ชื่อ, คำอธิบาย, URL ฯลฯ
การแสดง JSON | |
---|---|
{ "mediaType": enum ( |
ช่อง | |
---|---|
mediaType |
ประเภทสื่อ |
startOffset |
ออฟเซ็ตเริ่มต้นของออบเจ็กต์สื่อแรก ระยะเวลาเป็นวินาทีโดยมีตัวเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
optionalMediaControls[] |
ประเภทตัวควบคุมสื่อที่ไม่บังคับซึ่งเซสชันการตอบสนองของสื่อนี้รองรับได้ หากตั้งค่าไว้ ระบบจะส่งคำขอไปที่ 3p เมื่อเกิดเหตุการณ์สื่อบางอย่างขึ้น หากไม่ได้ตั้งค่าไว้ 3p ยังต้องจัดการประเภทการควบคุมเริ่มต้น 2 ประเภท ได้แก่ FINISHED และ FAILED |
mediaObjects[] |
รายการออบเจ็กต์สื่อ |
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 ( |
ช่อง | |
---|---|
name |
ชื่อของออบเจ็กต์สื่อนี้ |
description |
คำอธิบายของออบเจ็กต์สื่อนี้ |
url |
URL ที่ชี้ไปยังเนื้อหาสื่อ |
image |
รูปภาพที่จะแสดงกับการ์ดสื่อ |
MediaImage
รูปภาพที่จะแสดงกับการ์ดสื่อ
การแสดง JSON | |
---|---|
{ // Union field |
ช่อง | ||
---|---|---|
ฟิลด์การรวม image รูปภาพ image ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
||
large |
ภาพขนาดใหญ่ เช่น ปกอัลบั้ม ฯลฯ |
|
icon |
ไอคอนรูปภาพขนาดเล็กที่แสดงทางด้านขวาจากชื่อ มีขนาด 36x36 dp |
คอลเล็กชัน
การ์ดสำหรับนำเสนอคอลเล็กชันตัวเลือกที่มีให้เลือก
การแสดง JSON | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
ช่อง | |
---|---|
title |
ชื่อคอลเล็กชัน ไม่บังคับ |
subtitle |
ชื่อรองของคอลเล็กชัน ไม่บังคับ |
items[] |
ต่ำสุด: สูงสุด 2: 10 |
imageFill |
วิธีเติมพื้นหลังรูปภาพของรายการคอลเล็กชัน ไม่บังคับ |
CollectionItem
รายการในคอลเล็กชัน
การแสดง JSON | |
---|---|
{ "key": string } |
ช่อง | |
---|---|
key |
ต้องระบุ คีย์ NLU ที่ตรงกับชื่อคีย์เข้าถึงใน Type ที่เกี่ยวข้อง |
รายการ
การ์ดสำหรับนำเสนอรายการตัวเลือกที่มี
การแสดง JSON | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
ช่อง | |
---|---|
title |
ชื่อของรายการ ไม่บังคับ |
subtitle |
คำบรรยายของรายการ ไม่บังคับ |
items[] |
ต่ำสุด: สูงสุด 2: 30 |
ListItem
รายการในรายการ
การแสดง JSON | |
---|---|
{ "key": string } |
ช่อง | |
---|---|
key |
ต้องระบุ คีย์ NLU ที่ตรงกับชื่อคีย์เข้าถึงใน Type ที่เกี่ยวข้อง |
คำแนะนำ
คำแนะนำการป้อนข้อมูลที่จะแสดงให้ผู้ใช้เห็น
การแสดง JSON | |
---|---|
{ "title": string } |
ช่อง | |
---|---|
title |
ต้องระบุ ข้อความที่แสดงในชิปคำแนะนำ เมื่อแตะ ข้อความนี้จะถูกโพสต์กลับไปยังการสนทนาแบบคำต่อคำเหมือนกับว่าผู้ใช้ได้พิมพ์ข้อความลงไป ชื่อแต่ละชื่อต้องไม่ซ้ำกันในชุดชิปคำแนะนำ สูงสุด 25 อักขระ |
การวินิจฉัย
ข้อมูลการวินิจฉัยที่เกี่ยวข้องกับรอบการสนทนา
การแสดง JSON | |
---|---|
{
"actionsBuilderEvents": [
{
object ( |
ช่อง | |
---|---|
actionsBuilderEvents[] |
รายการเหตุการณ์ที่มีรายละเอียดเกี่ยวกับการประมวลผลรอบการสนทนาตลอดระยะของโมเดลการโต้ตอบ Actions Builder ป้อนข้อมูลสําหรับแอป Actions Builder และ Actions SDK เท่านั้น |
ExecutionEvent
มีข้อมูลเกี่ยวกับเหตุการณ์การดำเนินการที่เกิดขึ้นระหว่างการประมวลผลคำขอสนทนาของ Actions Builder ดูภาพรวมของขั้นตอนต่างๆ ในคำขอสนทนาได้ที่ https://developers.google.com/assistant/conversational/actions
การแสดง JSON | |
---|---|
{ "eventTime": string, "executionState": { object ( |
ช่อง | ||
---|---|---|
eventTime |
การประทับเวลาเมื่อเหตุการณ์เกิดขึ้น การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
|
executionState |
สถานะของการดำเนินการในระหว่างกิจกรรมนี้ |
|
status |
สถานะผลลัพธ์ของขั้นตอนการดำเนินการที่เฉพาะเจาะจง |
|
warningMessages[] |
รายการคำเตือนที่สร้างขึ้นระหว่างการดำเนินการของเหตุการณ์นี้ คำเตือนคือเคล็ดลับที่นักพัฒนาซอฟต์แวร์ค้นพบระหว่างคำขอการสนทนา โดยปกติแล้ว การดำเนินการดังกล่าวจะไม่ร้ายแรงและจะไม่ทำให้การดำเนินการตามคำขอหยุดชะงัก ตัวอย่างเช่น ระบบอาจสร้างคำเตือนขึ้นเมื่อเว็บฮุคพยายามลบล้างประเภทที่กำหนดเองซึ่งไม่มีอยู่ ระบบจะรายงานข้อผิดพลาดเป็นรหัสสถานะที่ล้มเหลว แต่มีคำเตือนได้แม้ว่าจะมีสถานะ "ปกติ" ก็ตาม |
|
ฟิลด์การรวม EventData ข้อมูลโดยละเอียดเกี่ยวกับกิจกรรมต่างๆ ที่อาจเกี่ยวข้องกับการประมวลผลรอบการสนทนา ชุดฟิลด์ที่นี่จะกำหนดประเภทของเหตุการณ์นี้ EventData ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
||
userInput |
เหตุการณ์การจัดการอินพุตของผู้ใช้ |
|
intentMatch |
เหตุการณ์การจับคู่ Intent |
|
conditionsEvaluated |
เหตุการณ์การประเมินเงื่อนไข |
|
onSceneEnter |
เหตุการณ์การดำเนินการ OnSceneEnter |
|
webhookRequest |
เหตุการณ์การมอบหมายงานของคำขอเว็บฮุค |
|
webhookResponse |
เหตุการณ์การตอบกลับของเว็บฮุค |
|
webhookInitiatedTransition |
เหตุการณ์การเปลี่ยนที่เริ่มต้นโดยเว็บฮุค |
|
slotMatch |
เหตุการณ์การจับคู่สล็อต |
|
slotRequested |
เหตุการณ์การขอสล็อต |
|
slotValidated |
เหตุการณ์การตรวจสอบสล็อต |
|
formFilled |
เหตุการณ์การกรอกแบบฟอร์ม |
|
waitingUserInput |
เหตุการณ์การรอการป้อนข้อมูลจากผู้ใช้ |
|
endConversation |
กิจกรรมจบการสนทนา |
ExecutionState
สถานะปัจจุบันของการดำเนินการ
การแสดง JSON | |
---|---|
{ "currentSceneId": string, "sessionStorage": { object }, "slots": { object ( |
ช่อง | |
---|---|
currentSceneId |
รหัสของโหมดซึ่งกำลังทำงานอยู่ |
sessionStorage |
สถานะของพื้นที่เก็บข้อมูลเซสชัน: https://developers.google.com/assistant/conversational/storage-session |
slots |
สถานะของช่องที่เติมให้เต็ม (หากมี): https://developers.google.com/assistant/conversational/scenes#slot_filling |
promptQueue[] |
คิวข้อความแจ้ง: https://developers.google.com/assistant/conversational/prompts |
userStorage |
สถานะของพื้นที่เก็บข้อมูลของผู้ใช้: https://developers.google.com/assistant/conversational/storage-user |
householdStorage |
สถานะของพื้นที่เก็บข้อมูลในบ้าน: https://developers.google.com/assistant/conversational/storage-home |
สล็อต
แสดงสถานะปัจจุบันของช่องของฉาก
การแสดง JSON | |
---|---|
{ "status": enum ( |
ช่อง | |
---|---|
status |
สถานะปัจจุบันของการเติมช่องโฆษณา |
slots |
ช่องโฆษณาที่เชื่อมโยงกับฉากปัจจุบัน ออบเจ็กต์ที่มีรายการคู่ |
SlotFillingStatus
แสดงสถานะปัจจุบันของการเติมช่องโฆษณา
Enum | |
---|---|
UNSPECIFIED |
ค่าสำรองเมื่อไม่มีการใส่ข้อมูลในช่องการใช้งาน |
INITIALIZED |
เริ่มต้นช่องโฆษณาแล้ว แต่การเติมช่องโฆษณายังไม่เริ่ม |
COLLECTING |
กำลังรวบรวมค่าช่องโฆษณา |
FINAL |
ค่าช่องทั้งหมดถือเป็นค่าสุดท้ายและไม่สามารถเปลี่ยนแปลงได้ |
ช่อง
แสดงช่องโฆษณา
การแสดง JSON | |
---|---|
{ "mode": enum ( |
ช่อง | |
---|---|
mode |
โหมดของช่อง (จำเป็นหรือไม่บังคับ) นักพัฒนาแอปเป็นผู้ตั้งค่าได้ |
status |
สถานะของช่องโฆษณา |
value |
ค่าของช่องโฆษณา การเปลี่ยนค่านี้ในการตอบกลับจะเป็นการแก้ไขค่าในการเติมช่องโฆษณา |
updated |
ระบุว่ามีการรวบรวมค่าสล็อตในเลี้ยวสุดท้ายหรือไม่ ช่องนี้เป็นแบบอ่านอย่างเดียว |
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 |
รหัสสถานะ ซึ่งควรเป็นค่า enum ของ |
message |
ข้อความแสดงข้อผิดพลาดที่ส่งถึงนักพัฒนาซอฟต์แวร์ ซึ่งควรเป็นภาษาอังกฤษ ข้อความแสดงข้อผิดพลาดที่แสดงต่อผู้ใช้ควรแปลและส่งในช่อง |
details[] |
รายการข้อความที่มีรายละเอียดข้อผิดพลาด มีชุดประเภทข้อความที่ใช้กันโดยทั่วไปสำหรับ API ออบเจ็กต์ที่มีช่องประเภทที่กำหนดเอง ช่องเพิ่มเติม |
UserConversationInput
ข้อมูลที่เกี่ยวข้องกับข้อมูลจากผู้ใช้
การแสดง JSON | |
---|---|
{ "type": string, "originalQuery": string } |
ช่อง | |
---|---|
type |
ประเภทของข้อมูลจากผู้ใช้ เช่น แป้นพิมพ์ เสียง การแตะ ฯลฯ |
originalQuery |
การป้อนข้อความต้นฉบับจากผู้ใช้ |
IntentMatch
ข้อมูลเกี่ยวกับการจับคู่ Intent ที่ทริกเกอร์ (ส่วนกลางหรือภายในโหมด): https://developers.google.com/assistant/conversational/intents
การแสดง JSON | |
---|---|
{
"intentId": string,
"intentParameters": {
string: {
object ( |
ช่อง | |
---|---|
intentId |
รหัส Intent ที่ทริกเกอร์การโต้ตอบนี้ |
intentParameters |
พารามิเตอร์ของความตั้งใจที่ทริกเกอร์การโต้ตอบนี้ ออบเจ็กต์ที่มีรายการคู่ |
handler |
ชื่อของเครื่องจัดการที่แนบกับการโต้ตอบนี้ |
nextSceneId |
ฉากที่ทำให้เกิดการโต้ตอบนี้ |
ConditionsEvaluated
ผลการประเมินเงื่อนไข: https://developers.google.com/assistant/conversational/scenes#conditions
การแสดง JSON | |
---|---|
{ "failedConditions": [ { object ( |
ช่อง | |
---|---|
failedConditions[] |
รายการเงื่อนไขที่ประเมินเป็น "เท็จ" |
successCondition |
เงื่อนไขแรกที่ประเมินเป็น "จริง" หากมี |
เงื่อนไข
เงื่อนไขที่ประเมิน
การแสดง JSON | |
---|---|
{ "expression": string, "handler": string, "nextSceneId": string } |
ช่อง | |
---|---|
expression |
นิพจน์ที่ระบุในเงื่อนไขนี้ |
handler |
ชื่อตัวแฮนเดิลที่ระบุในเงื่อนไขที่ประเมินแล้ว |
nextSceneId |
โหมดปลายทางที่ระบุในเงื่อนไขที่ประเมิน |
OnSceneEnter
ข้อมูลเกี่ยวกับการดำเนินการขั้นตอน onSceneEnter ที่ https://developers.google.com/assistant/conversational/scenes#onEnter
การแสดง JSON | |
---|---|
{ "handler": string } |
ช่อง | |
---|---|
handler |
ชื่อตัวแฮนเดิลที่ระบุในเหตุการณ์ onSceneEnter |
WebhookRequest
ข้อมูลเกี่ยวกับคำขอที่ส่งไปยังเว็บฮุคของการดำเนินการ: https://developers.google.com/assistant/conversational/webhooks#payloads
การแสดง JSON | |
---|---|
{ "requestJson": string } |
ช่อง | |
---|---|
requestJson |
เพย์โหลดของคำขอเว็บฮุค |
WebhookResponse
ข้อมูลเกี่ยวกับการตอบกลับที่ได้รับจากเว็บฮุคสำหรับการดำเนินการ: https://developers.google.com/assistant/conversational/webhooks#payloads
การแสดง JSON | |
---|---|
{ "responseJson": string } |
ช่อง | |
---|---|
responseJson |
เพย์โหลดของการตอบสนองเว็บฮุค |
WebhookInitiatedTransition
เหตุการณ์ที่ถูกเรียกให้แสดงโดยโหมดปลายทางที่แสดงผลจากเว็บฮุค: https://developers.google.com/assistant/conversational/webhooks#transition_scenes
การแสดง JSON | |
---|---|
{ "nextSceneId": string } |
ช่อง | |
---|---|
nextSceneId |
รหัสของฉากที่การเปลี่ยนเกิดขึ้น |
SlotMatch
ข้อมูลเกี่ยวกับช่องโฆษณาที่ตรงกัน: https://developers.google.com/assistant/conversational/scenes#slot_filling
การแสดง JSON | |
---|---|
{
"nluParameters": {
string: {
object ( |
ช่อง | |
---|---|
nluParameters |
พารามิเตอร์ที่ NLU ดึงจากข้อมูลที่ผู้ใช้ป้อน ออบเจ็กต์ที่มีรายการคู่ |
SlotRequested
ข้อมูลเกี่ยวกับสล็อตที่ขอในปัจจุบัน: https://developers.google.com/assistant/conversational/scenes#slot_filling
การแสดง JSON | |
---|---|
{
"slot": string,
"prompt": {
object ( |
ช่อง | |
---|---|
slot |
ชื่อของสล็อตที่ขอ |
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
กิจกรรมที่แจ้งว่าการสนทนากับตัวแทนสิ้นสุดแล้ว