- การแสดง JSON
- ผู้ใช้
- UserProfile
- PackageEntitlement
- การให้สิทธิ์
- SignedData
- อุปกรณ์
- แพลตฟอร์ม
- ความสามารถ
- การสนทนา
- อินพุต
- RawInput
AppRequest เป็นคำขอที่ Google Assistant ส่งไปยังการดำเนินการตามคำสั่งซื้อเพื่อโต้ตอบกับการดำเนินการ มีการระบุเวอร์ชัน 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 ของผลิตภัณฑ์ ชื่อแพ็กเกจสำหรับแอปที่ต้องซื้อ คำต่อท้ายของ Finsky docid สำหรับการซื้อในแอปและการสมัครใช้บริการในแอป จับคู่ getSku() ใน Play InApp Billing API | 
| 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 โดยเฉพาะจะแสดงที่ผู้ใช้โต้ตอบด้วย แพลตฟอร์มดังกล่าวแตกต่างจากอุปกรณ์เนื่องจากแพลตฟอร์ม Assistant หลายแพลตฟอร์มอาจอยู่ในอุปกรณ์เครื่องเดียวกัน
| การแสดง JSON | |
|---|---|
| {
  "capabilities": [
    {
      object ( | |
| ช่อง | |
|---|---|
| capabilities[] | 
 รายการความสามารถที่แพลตฟอร์มรองรับ ณ เวลาที่ขอ เช่น  | 
ความสามารถ
หมายถึงหน่วยฟังก์ชันที่พื้นผิวสามารถรองรับได้
| การแสดง JSON | |
|---|---|
| { "name": string } | |
| ช่อง | |
|---|---|
| name | 
 ชื่อของความสามารถ เช่น  | 
การสนทนา
| การแสดง JSON | |
|---|---|
| {
  "conversationId": string,
  "type": enum ( | |
| ช่อง | |
|---|---|
| conversationId | 
 รหัสที่ไม่ซ้ำกันสำหรับการสนทนาแบบหลายรอบ มีการกำหนดให้ใช้กับการเลี้ยวแรก หลังจากนั้นก็จะไม่มีการเปลี่ยนแปลงสำหรับการสนทนาครั้งต่อๆ ไปจนกว่าการสนทนาจะสิ้นสุด | 
| type | 
 ประเภทจะระบุสถานะของการสนทนาในวงจร | 
| conversationToken | 
 โทเค็นทึบแสงที่ระบุโดยการดำเนินการในเลี้ยวการสนทนาครั้งล่าสุด โดยการดำเนินการดังกล่าวสามารถใช้เพื่อติดตามการสนทนาหรือเพื่อจัดเก็บข้อมูลที่เกี่ยวข้องกับการสนทนา | 
อินพุต
| การแสดง JSON | |
|---|---|
| { "rawInputs": [ { object ( | |
| ช่อง | |
|---|---|
| rawInputs[] | 
 การถอดเสียงเป็นอินพุตดิบจากการสนทนาในแต่ละช่วง อาจต้องผลัดกันสนทนาหลายรอบเพื่อให้การดำเนินการใน Google ป้อนข้อมูลบางประเภทให้กับการดำเนินการ | 
| intent | 
 ระบุเจตนาของผู้ใช้ สำหรับการเปลี่ยนบทสนทนาครั้งแรก Intent จะหมายถึง Intent ที่ทริกเกอร์สำหรับการดำเนินการ สำหรับการสนทนาครั้งต่อๆ ไป Intent จะเป็นการดำเนินการทั่วไปใน Intent ของ Google (ขึ้นต้นด้วย "actions") ตัวอย่างเช่น หากอินพุตที่คาดไว้คือ  | 
| arguments[] | 
 รายการค่าอาร์กิวเมนต์ที่ระบุสำหรับอินพุตที่ขอโดยการดำเนินการ | 
RawInput
| การแสดง JSON | |
|---|---|
| { "inputType": enum ( | |
| ช่อง | ||
|---|---|---|
| inputType | 
 ระบุวิธีที่ผู้ใช้ป้อนข้อมูลนี้ เช่น คำตอบที่พิมพ์ คำตอบด้วยเสียง ไม่ระบุ ฯลฯ | |
| ช่องการรวม inputค่าที่ป้อนจริงinputต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| query | 
 ข้อความที่พิมพ์หรือพูดจากผู้ใช้ปลายทาง | |
| url | 
 URL สำหรับทริกเกอร์ | |
