- การแสดง JSON
- ผู้ใช้
- UserProfile
- PackageEntitlement
- การให้สิทธิ์
- SignedData
- อุปกรณ์
- แพลตฟอร์ม
- ความสามารถ
- การสนทนา
- อินพุต
- RawInput
AppRequest คือคำขอที่ Google Assistant ส่งไปยัง Fulfillment เพื่อโต้ตอบกับการดำเนินการ เวอร์ชัน API ระบุไว้ในส่วนหัว HTTP สำหรับ API เวอร์ชัน 1 ส่วนหัวจะมี Google-Assistant-API-Version: v1
สำหรับ API เวอร์ชัน 2 ส่วนหัวจะมี Google-actions-API-Version: 2
ดูตัวอย่างวิธีการนำไปใช้ในการทำงานบน Google ได้ที่ https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json
การแสดง JSON | |
---|---|
{ "user": { object ( |
ช่อง | |
---|---|
user |
ผู้ใช้ที่เริ่มการสนทนา |
device |
ข้อมูลเกี่ยวกับอุปกรณ์ที่ผู้ใช้ใช้เพื่อโต้ตอบกับการดำเนินการ |
surface |
ข้อมูลเกี่ยวกับแพลตฟอร์มที่ผู้ใช้มีการโต้ตอบด้วย เช่น ผู้ใช้แสดงเสียงหรือมีหน้าจอได้หรือไม่ |
conversation |
เก็บข้อมูลเซสชัน เช่น รหัสการสนทนาและโทเค็นการสนทนา |
inputs[] |
รายการอินพุตที่เกี่ยวข้องกับอินพุตที่คาดหวังซึ่งการดำเนินการระบุไว้ สำหรับทริกเกอร์การสนทนาเริ่มต้น อินพุตจะมีข้อมูลเกี่ยวกับวิธีที่ผู้ใช้ทริกเกอร์การสนทนา |
isInSandbox |
ระบุว่าควรจัดการคำขอในโหมดแซนด์บ็อกซ์หรือไม่ |
availableSurfaces[] |
แพลตฟอร์มที่พร้อมใช้งานสำหรับการส่งมอบแบบข้ามแพลตฟอร์ม |
ผู้ใช้
การแสดง JSON | |
---|---|
{ "idToken": string, "profile": { object ( |
ช่อง | |
---|---|
idToken |
โทเค็นที่แสดงถึงตัวตนของผู้ใช้ นี่คือโทเค็นเว็บ JSON รวมถึงโปรไฟล์ที่เข้ารหัส ดูคำจำกัดความได้ที่ https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo |
profile |
ข้อมูลเกี่ยวกับผู้ใช้ปลายทาง บางช่องจะมีให้ใช้งานได้ก็ต่อเมื่อผู้ใช้ให้สิทธิ์ในการให้ข้อมูลนี้แก่การดำเนินการ |
accessToken |
โทเค็น OAuth2 ที่ระบุผู้ใช้ในระบบของคุณ ใช้ได้เฉพาะในกรณีที่ผู้ใช้ลิงก์บัญชีของตน |
permissions[] |
มีสิทธิ์ที่ได้รับจากผู้ใช้สำหรับการดำเนินการนี้ |
locale |
การตั้งค่าภาษาหลักของผู้ใช้ที่ส่งคำขอ เป็นไปตามรหัสภาษา IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt แต่ไม่รวมแท็กย่อยของสคริปต์ |
lastSeen |
การประทับเวลาของการโต้ตอบครั้งล่าสุดกับผู้ใช้รายนี้ ช่องนี้จะถูกละเว้นหากผู้ใช้ไม่เคยโต้ตอบกับตัวแทนมาก่อน การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่แม่นยำเป็นหน่วยนาโนวินาที ตัวอย่าง: |
userStorage |
โทเค็นทึบแสงที่แอปพลิเคชันกำหนด ซึ่งจะคงอยู่ในการสนทนาของผู้ใช้บางราย ขนาดสูงสุดของสตริงคือ 10,000 อักขระ |
packageEntitlements[] |
รายการการให้สิทธิ์ผู้ใช้สำหรับชื่อแพ็กเกจทุกชื่อที่แสดงอยู่ในแพ็กเกจการดำเนินการ (หากมี) |
userVerificationStatus |
ระบุสถานะการยืนยันของผู้ใช้ |
UserProfile
มีข้อมูลส่วนบุคคลของผู้ใช้ ระบบจะเติมข้อมูลในช่องก็ต่อเมื่อผู้ใช้ให้สิทธิ์การดำเนินการในช่องหนึ่งๆ เท่านั้น
การแสดง JSON | |
---|---|
{ "displayName": string, "givenName": string, "familyName": string } |
ช่อง | |
---|---|
displayName |
ชื่อและนามสกุลของผู้ใช้ที่ระบุในบัญชี Google ต้องมีสิทธิ์ |
givenName |
ชื่อของผู้ใช้ตามที่ระบุในบัญชี Google ต้องมีสิทธิ์ |
familyName |
นามสกุลของผู้ใช้ตามที่ระบุในบัญชี Google โปรดทราบว่าฟิลด์นี้สามารถเว้นว่างได้ ต้องมีสิทธิ์ |
PackageEntitlement
รายการการให้สิทธิ์ที่เกี่ยวข้องกับชื่อแพ็กเกจ
การแสดง JSON | |
---|---|
{
"packageName": string,
"entitlements": [
{
object ( |
ช่อง | |
---|---|
packageName |
ควรตรงกับชื่อแพ็กเกจในแพ็กเกจการดำเนินการ |
entitlements[] |
รายการการให้สิทธิ์สําหรับแอปที่ระบุ |
การให้สิทธิ์
กำหนดการให้สิทธิ์ดิจิทัลของผู้ใช้ ประเภทการให้สิทธิ์ที่เป็นไปได้ ได้แก่ แอปที่ต้องซื้อ การซื้อในแอป การสมัครใช้บริการในแอป
การแสดง JSON | |
---|---|
{ "sku": string, "skuType": enum ( |
ช่อง | |
---|---|
sku |
SKU ของผลิตภัณฑ์ ชื่อแพ็กเกจสำหรับแอปที่ต้องซื้อ คำต่อท้าย Docid ของ Finsky สำหรับการซื้อในแอปและการสมัครใช้บริการในแอป จับคู่ getSku() ใน API การเรียกเก็บเงินในแอปของ Play |
skuType |
|
inAppDetails |
แสดงสำหรับการซื้อในแอปและการติดตามในแอปเท่านั้น |
SignedData
การแสดง JSON | |
---|---|
{ "inAppPurchaseData": { object }, "inAppDataSignature": string } |
ช่อง | |
---|---|
inAppPurchaseData |
จับคู่ INAPP_PURCHASE_DATA จากเมธอด getPurchases() มีข้อมูลการซื้อในแอปทั้งหมดในรูปแบบ JSON ดูรายละเอียดในตารางที่ 6 ของ https://developer.android.com/google/play/billing/billing_reference.html |
inAppDataSignature |
ตรงกับ IN_APP_DATA_SIGNATURE จากเมธอด getPurchases() ใน Play InApp Billing API |
อุปกรณ์
ข้อมูลเกี่ยวกับอุปกรณ์ที่ผู้ใช้ใช้เพื่อโต้ตอบกับการดำเนินการ
การแสดง JSON | |
---|---|
{
"location": {
object ( |
ช่อง | |
---|---|
location |
แสดงตำแหน่งจริงของอุปกรณ์ เช่น ละติจูด ลองจิจูด และที่อยู่ที่มีการจัดรูปแบบ ต้องมีสิทธิ์ |
แพลตฟอร์ม
ข้อมูลที่เจาะจงสำหรับไคลเอ็นต์ Google Assistant ที่แสดงต่อผู้ใช้ซึ่งโต้ตอบด้วย Surface แตกต่างจากอุปกรณ์เนื่องจากแพลตฟอร์ม Assistant หลายแพลตฟอร์มอาจอยู่ในอุปกรณ์เดียวกัน
การแสดง JSON | |
---|---|
{
"capabilities": [
{
object ( |
ช่อง | |
---|---|
capabilities[] |
รายการความสามารถที่แพลตฟอร์มรองรับ ณ เวลาที่ขอ เช่น |
ความสามารถ
หมายถึงหน่วยฟังก์ชันการทำงานที่แพลตฟอร์มรองรับได้
การแสดง JSON | |
---|---|
{ "name": string } |
ช่อง | |
---|---|
name |
ชื่อของความสามารถ เช่น |
การสนทนา
การแสดง JSON | |
---|---|
{
"conversationId": string,
"type": enum ( |
ช่อง | |
---|---|
conversationId |
รหัสที่ไม่ซ้ำกันสำหรับการสนทนาแบบมัลติเทิร์น ซึ่งกำหนดไว้สำหรับการเลี้ยวแรกแล้ว หลังจากนั้นการสนทนาครั้งต่อไปจะยังคงเหมือนเดิมจนกว่าการสนทนาจะสิ้นสุดลง |
type |
type จะแสดงสถานะของการสนทนาในวงจร |
conversationToken |
โทเค็นทึบที่ระบุโดยการดำเนินการในตาการสนทนาล่าสุด การดำเนินการอาจใช้เพื่อติดตามการสนทนาหรือจัดเก็บข้อมูลที่เกี่ยวข้องกับการสนทนาได้ |
อินพุต
การแสดง JSON | |
---|---|
{ "rawInputs": [ { object ( |
ช่อง | |
---|---|
rawInputs[] |
การถอดเสียงอินพุตดิบจากการสนทนาแต่ละช่วง อาจต้องมีการสลับการสนทนาหลายครั้งเพื่อให้การดำเนินการใน Google ป้อนข้อมูลบางประเภทแก่การดำเนินการ |
intent |
ระบุความตั้งใจของผู้ใช้ สำหรับการเปิดการสนทนาแรก Intent จะหมายถึง Intent ที่ทริกเกอร์สำหรับการดำเนินการ สำหรับการเปลี่ยนการสนทนาในเวลาต่อมา Intent คือการกระทำทั่วไปในความตั้งใจของ Google (เริ่มต้นด้วย "การดำเนินการ") เช่น หากอินพุตที่ต้องการคือ |
arguments[] |
รายการค่าอาร์กิวเมนต์ที่ระบุสำหรับอินพุตที่การดำเนินการร้องขอ |
RawInput
การแสดง JSON | |
---|---|
{ "inputType": enum ( |
ช่อง | ||
---|---|---|
inputType |
ระบุวิธีที่ผู้ใช้ป้อนข้อมูลนี้ เช่น คำตอบที่พิมพ์ คำตอบด้วยเสียง ไม่ระบุ ฯลฯ |
|
ฟิลด์การรวม input ค่าที่ป้อนจริง input ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
||
query |
การป้อนข้อมูลที่พิมพ์หรือพูดจากผู้ใช้ปลายทาง |
|
url |
URL สำหรับทริกเกอร์ |