- คำขอ HTTP
- พารามิเตอร์เส้นทาง
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- UserInput
- InputType
- คุณสมบัติของอุปกรณ์
- แพลตฟอร์ม
- ตำแหน่ง
- 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
เล่นการสนทนารอบเดียว
คำขอ HTTP
POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction
URL ใช้ไวยากรณ์การแปลง gRPC
พารามิเตอร์เส้นทาง
พารามิเตอร์ | |
---|---|
project |
ต้องระบุ โปรเจ็กต์ที่กำลังทดสอบ ซึ่งระบุด้วยรหัสโปรเจ็กต์ รูปแบบ: projects/{project} |
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้
การแสดง JSON | |
---|---|
{ "input": { object ( |
ช่อง | |
---|---|
input |
ต้องระบุ ข้อมูลที่ผู้ใช้ป้อน |
deviceProperties |
ต้องระบุ คุณสมบัติของอุปกรณ์ที่ใช้ในการโต้ตอบกับการดำเนินการ |
conversationToken |
โทเค็นทึบแสงที่ต้องส่งว่าได้รับจาก SendInteractionResponse ในการโต้ตอบก่อนหน้า คุณสามารถไม่ได้ตั้งค่านี้เพื่อเริ่มการสนทนาใหม่ ไม่ว่าจะเป็นการโต้ตอบแรกของเซสชันทดสอบหรือการออกจากการสนทนาก่อนหน้าและเริ่มการสนทนาใหม่ |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
ตอบกลับการสนทนาทั้งรอบ
การแสดง 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 ทำให้เกิดการดำเนินการ |
คุณสมบัติของอุปกรณ์
พร็อพเพอร์ตี้ของอุปกรณ์ที่เกี่ยวข้องกับรอบการสนทนา
การแสดง 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 เช่น "อเมริกา/นิวยอร์ก": 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.Permissions.DEVICE_PRECISE_LOCATION] |
formattedAddress |
ที่อยู่ที่แสดง เช่น "1600 Amphitheatre Pkwy, Mountain View, CA 94043" ต้องมี [DEVICE_PRECISE_LOCATION] สิทธิ์ [google.actions.v2.Permissions.DEVICE_PRECISE_LOCATION] |
zipCode |
รหัสไปรษณีย์ ต้องมี [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permissions.DEVICE_PRECISE_LOCATION] หรือ [DEVICE_COARSE_LOCATION] สิทธิ์ [google.actions.v2.Permissions.DEVICE_COARSE_LOCATION] |
city |
เมือง ต้องมี [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permissions.DEVICE_PRECISE_LOCATION] หรือ [DEVICE_COARSE_LOCATION] สิทธิ์ [google.actions.v2.Permissions.DEVICE_COARSE_LOCATION] |
LatLng
วัตถุที่แสดงคู่ละติจูด/ลองจิจูด ค่านี้จะแสดงเป็นคู่ของค่าคู่เพื่อแสดงองศาละติจูดและลองจิจูด ออบเจ็กต์นี้ต้องเป็นไปตามมาตรฐาน 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 |
เนื้อหา Interactive Canvas |
actionsBuilderPrompt |
สถานะของข้อความแจ้งเมื่อสิ้นสุดรอบการสนทนา ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อความแจ้งได้ที่ https://developers.google.com/assistant/conversational/prompts |
ผ้าใบ
แสดงการตอบกลับ Interactive Canvas ที่จะส่งไปให้ผู้ใช้ ค่านี้สามารถใช้ร่วมกับ "firstSimple" ในข้อความแจ้งที่มีคำสั่งให้พูดกับผู้ใช้นอกเหนือจากการแสดงการตอบกลับ Canvas แบบอินเทอร์แอกทีฟ ขนาดสูงสุดของการตอบกลับคือ 50 กิโลไบต์
การแสดง JSON | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "enableFullScreen": boolean } |
ช่อง | |
---|---|
url |
URL ของเว็บแอป Canvas แบบอินเทอร์แอกทีฟที่จะโหลด หากไม่ได้ตั้งค่า ระบบจะนำ URL จากแคนวาสที่ใช้งานอยู่มาใช้ซ้ำ |
data[] |
ไม่บังคับ ข้อมูล JSON ที่จะส่งไปยังหน้าเว็บประสบการณ์แบบสมจริงเป็นเหตุการณ์ หากปุ่ม "ลบล้าง" ในช่องพรอมต์ที่มีอยู่มีค่าเป็น "เท็จ" ระบบจะเพิ่มค่าข้อมูลที่กําหนดไว้ในข้อความแจ้งของ Canvas นี้หลังจากค่าข้อมูลที่กําหนดไว้ในข้อความแจ้งก่อนหน้าของ Canvas |
suppressMic |
ไม่บังคับ ค่าเริ่มต้น: false |
enableFullScreen |
หากเป็น |
พรอมต์
แสดงคำตอบต่อผู้ใช้
การแสดง JSON | |
---|---|
{ "append": boolean, "override": boolean, "firstSimple": { object ( |
ช่อง | |
---|---|
append |
ไม่บังคับ โหมดสำหรับวิธีผสานข้อความนี้กับข้อความที่กำหนดไว้ก่อนหน้านี้ "เท็จ" จะล้างข้อความที่กำหนดไว้ก่อนหน้านี้ทั้งหมด (แบบง่ายและสุดท้ายคือ เนื้อหา ลิงก์คำแนะนำ และ Canvas) และเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ "จริง" จะเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ไปยังข้อความที่กำหนดไว้ในคำตอบก่อนหน้า การตั้งค่าฟิลด์นี้เป็น "จริง" จะเปิดใช้การต่อท้ายบางช่องภายในพรอมต์แบบง่าย พรอมต์คำแนะนำ และข้อความแจ้งของ Canvas (ส่วนหนึ่งของพรอมต์เนื้อหา) ด้วย ข้อความ "เนื้อหา" และ "ลิงก์" จะถูกเขียนทับเสมอหากมีการกำหนดไว้ในข้อความแจ้ง ค่าเริ่มต้นคือ "false" |
override |
ไม่บังคับ โหมดสำหรับวิธีผสานข้อความนี้กับข้อความที่กำหนดไว้ก่อนหน้า "จริง" ล้างข้อความที่กำหนดไว้ก่อนหน้านี้ทั้งหมด (แบบง่ายและสุดท้ายคือเนื้อหา ลิงก์คำแนะนำ และ Canvas) และเพิ่มข้อความที่กำหนดไว้ในพรอมต์นี้ "เท็จ" เพิ่มข้อความที่ระบุไว้ในพรอมต์นี้ไปยังข้อความที่กำหนดไว้ในคำตอบก่อนหน้า กำลังออกจากช่องนี้เป็น "false" ยังเปิดใช้การต่อท้ายบางช่องภายในพรอมต์แบบง่าย พรอมต์คำแนะนำ และข้อความแจ้งของ Canvas (ส่วนหนึ่งของพรอมต์เนื้อหา) ด้วย ข้อความ "เนื้อหา" และ "ลิงก์" จะถูกเขียนทับเสมอหากมีการกำหนดไว้ในข้อความแจ้ง ค่าเริ่มต้นคือ "false" |
firstSimple |
ไม่บังคับ คำตอบแรกที่เป็นเสียงและข้อความเท่านั้น |
content |
ไม่บังคับ เนื้อหา เช่น การ์ด รายการ หรือสื่อที่จะแสดงต่อผู้ใช้ |
lastSimple |
ไม่บังคับ คำตอบแบบเสียงและข้อความสุดท้าย |
suggestions[] |
ไม่บังคับ คำแนะนำที่แสดงต่อผู้ใช้ซึ่งจะปรากฏท้ายคำตอบเสมอ หากปุ่ม "ลบล้าง" ในช่องของข้อความแจ้งที่มีค่าเป็น "เท็จ" ระบบจะเพิ่มชื่อที่ระบุไว้ในช่องนี้ลงในชื่อที่กำหนดไว้ในพรอมต์คำแนะนำที่กำหนดไว้ก่อนหน้าและค่าที่ซ้ำกันจะถูกนำออก |
link |
ไม่บังคับ ชิปคำแนะนำเพิ่มเติมที่สามารถลิงก์ไปยังแอปหรือเว็บไซต์ที่เกี่ยวข้องได้ ระบบจะแสดงผลชิปโดยใช้ชื่อ "เปิด |
canvas |
ไม่บังคับ แสดงการตอบกลับ Interactive Canvas ที่จะส่งไปให้ผู้ใช้ |
เรียบง่าย
หมายถึงข้อความแจ้งง่ายๆ ที่จะส่งถึงผู้ใช้
การแสดง JSON | |
---|---|
{ "speech": string, "text": string } |
ช่อง | |
---|---|
speech |
ไม่บังคับ หมายถึงคำพูดที่ผู้ใช้พูด อาจเป็น SSML หรือการอ่านออกเสียงข้อความ หากปุ่ม "ลบล้าง" ในช่องพรอมต์ที่มี "true" เสียงพูดที่ระบุไว้ในช่องนี้จะแทนที่เสียงพูดของพรอมต์แบบง่ายก่อนหน้า |
text |
ข้อความที่ไม่บังคับที่จะแสดงในบับเบิลแชท หากไม่ระบุ ระบบจะใช้การแสดงผลฟิลด์เสียงพูดด้านบน มีอักขระได้ไม่เกิน 640 ตัว หากปุ่ม "ลบล้าง" ในช่องพรอมต์ที่มี "true" ข้อความที่ระบุไว้ในช่องนี้จะแทนที่ข้อความพรอมต์แบบง่ายก่อนหน้า |
เนื้อหา
เนื้อหาที่จะแสดง
การแสดง JSON | |
---|---|
{ // Union field |
ช่อง | ||
---|---|---|
ช่องการรวม content เนื้อหา content ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ |
||
card |
บัตรพื้นฐาน |
|
image |
รูปภาพ |
|
table |
การ์ดตาราง |
|
media |
การตอบกลับที่ระบุชุดสื่อที่จะเล่น |
|
canvas |
คำตอบที่จะนำไปใช้สำหรับประสบการณ์ Canvas แบบอินเทอร์แอกทีฟ |
|
collection |
การ์ดแสดงชุดตัวเลือกที่มีให้เลือก |
|
list |
การ์ดแสดงรายการตัวเลือกที่มีให้เลือก |
การ์ด
การ์ดพื้นฐานสำหรับแสดงข้อมูลบางอย่าง เช่น รูปภาพและ/หรือข้อความ
การแสดง 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 อาจเป็นรายการใดก็ได้ต่อไปนี้ - URL http/https สำหรับเปิดแอปที่ลิงก์กับแอปหรือหน้าเว็บ |
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 ที่ตรงกับชื่อคีย์รายการในประเภทที่เชื่อมโยง |
รายการ
การ์ดสำหรับแสดงรายการตัวเลือกที่มีให้เลือก
การแสดง JSON | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
ช่อง | |
---|---|
title |
ชื่อรายการ ไม่บังคับ |
subtitle |
คำบรรยายของรายการ ไม่บังคับ |
items[] |
ต่ำสุด: 2 สูงสุด: 30 |
ListItem
รายการข้อมูลในรายการ
การแสดง JSON | |
---|---|
{ "key": string } |
ช่อง | |
---|---|
key |
ต้องระบุ คีย์ NLU ที่ตรงกับชื่อคีย์รายการในประเภทที่เชื่อมโยง |
คำแนะนำ
ป้อนคำแนะนำที่จะแสดงต่อผู้ใช้
การแสดง JSON | |
---|---|
{ "title": string } |
ช่อง | |
---|---|
title |
ต้องระบุ ข้อความที่แสดงในชิปคำแนะนำ เมื่อแตะ ข้อความนี้จะโพสต์กลับไปที่การสนทนาแบบคำต่อคำราวกับว่าผู้ใช้ได้พิมพ์ลงไป ชื่อแต่ละรายการต้องไม่ซ้ำกันในชุดชิปคำแนะนำ สูงสุด 25 อักขระ |
การวินิจฉัย
ข้อมูลการวินิจฉัยที่เกี่ยวข้องกับรอบการสนทนา
การแสดง JSON | |
---|---|
{
"actionsBuilderEvents": [
{
object ( |
ช่อง | |
---|---|
actionsBuilderEvents[] |
รายการเหตุการณ์พร้อมรายละเอียดเกี่ยวกับการประมวลผลรอบการสนทนาตลอดระยะต่างๆ ของโมเดลการโต้ตอบของ 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 |
พารามิเตอร์ของ Intent ที่ทริกเกอร์การโต้ตอบนี้ ออบเจ็กต์ที่มีรายการคู่ |
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
กิจกรรมที่แจ้งว่าการสนทนากับตัวแทนสิ้นสุดแล้ว