AppRequest

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": {
    object (Device)
  },
  "surface": {
    object (Surface)
  },
  "conversation": {
    object (Conversation)
  },
  "inputs": [
    {
      object (Input)
    }
  ],
  "isInSandbox": boolean,
  "availableSurfaces": [
    {
      object (Surface)
    }
  ]
}
ช่อง
user

object (User)

ผู้ใช้ที่เริ่มต้นการสนทนา

device

object (Device)

ข้อมูลเกี่ยวกับอุปกรณ์ที่ผู้ใช้ใช้เพื่อโต้ตอบกับการดําเนินการ

surface

object (Surface)

ข้อมูลเกี่ยวกับแพลตฟอร์มที่ผู้ใช้โต้ตอบด้วย เช่น ว่าจะสามารถให้เสียง ออกมาได้หรือมีหน้าจอไหม

conversation

object (Conversation)

เก็บข้อมูลเซสชัน เช่น รหัสการสนทนาและโทเค็นการสนทนา

inputs[]

object (Input)

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

isInSandbox

boolean

ระบุว่าควรจัดการคำขอในโหมดแซนด์บ็อกซ์หรือไม่

availableSurfaces[]

object (Surface)

พื้นผิวที่พร้อมใช้งานสำหรับแฮนด์ออฟแบบข้ามแพลตฟอร์ม

ผู้ใช้

การแสดง JSON
{
  "idToken": string,
  "profile": {
    object (UserProfile)
  },
  "accessToken": string,
  "permissions": [
    enum (Permission)
  ],
  "locale": string,
  "lastSeen": string,
  "userStorage": string,
  "packageEntitlements": [
    {
      object (PackageEntitlement)
    }
  ],
  "userVerificationStatus": enum (UserVerificationStatus)
}
ช่อง
idToken

string

โทเค็นที่แสดงตัวตนของผู้ใช้ นี่คือโทเค็นเว็บ Json ที่มีโปรไฟล์ที่เข้ารหัส ดูคำจำกัดความได้ที่ https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo

profile

object (UserProfile)

ข้อมูลเกี่ยวกับผู้ใช้ปลายทาง บางช่องจะมีให้ใช้เฉพาะในกรณีที่ผู้ใช้ให้สิทธิ์ในการให้ข้อมูลนี้กับการดำเนินการเท่านั้น

accessToken

string

โทเค็น OAuth2 ที่ระบุผู้ใช้ในระบบ ใช้ได้เฉพาะเมื่อผู้ใช้ลิงก์บัญชีเท่านั้น

permissions[]

enum (Permission)

มีสิทธิ์ที่ผู้ใช้มอบให้สำหรับการดำเนินการนี้

locale

string

การตั้งค่าภาษาหลักของผู้ใช้ที่ส่งคำขอ เป็นไปตามรหัสภาษา IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt แต่จะไม่มีแท็กย่อยของสคริปต์

lastSeen

string (Timestamp format)

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

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่แม่นยำเป็นหน่วยนาโนวินาที ตัวอย่าง: "2014-10-02T15:01:23.045123456Z"

userStorage

string

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

packageEntitlements[]

object (PackageEntitlement)

รายการการให้สิทธิ์ของผู้ใช้สําหรับชื่อแพ็กเกจทุกรายการที่แสดงในแพ็กเกจการดําเนินการ (หากมี)

userVerificationStatus

enum (UserVerificationStatus)

ระบุสถานะการยืนยันของผู้ใช้

UserProfile

มีข้อมูลส่วนบุคคลของผู้ใช้ ระบบจะเติมข้อมูลในช่องเฉพาะเมื่อผู้ใช้ให้สิทธิ์การดำเนินการสำหรับช่องใดช่องหนึ่งเท่านั้น

การแสดง JSON
{
  "displayName": string,
  "givenName": string,
  "familyName": string
}
ช่อง
displayName

string

ชื่อและนามสกุลของผู้ใช้ตามที่ระบุไว้ในบัญชี Google ต้องมีสิทธิ์ NAME

givenName

string

ชื่อของผู้ใช้ตามที่ระบุในบัญชี Google ต้องมีสิทธิ์ NAME

familyName

string

นามสกุลของผู้ใช้ตามที่ระบุไว้ในบัญชี Google โปรดทราบว่าช่องนี้สามารถเว้นว่างได้ ต้องมีสิทธิ์ NAME

PackageEntitlement

รายการการให้สิทธิ์ที่เกี่ยวข้องกับชื่อแพ็กเกจ

การแสดง JSON
{
  "packageName": string,
  "entitlements": [
    {
      object (Entitlement)
    }
  ]
}
ช่อง
packageName

string

ควรตรงกับชื่อแพ็กเกจในแพ็กเกจการดำเนินการ

entitlements[]

object (Entitlement)

รายการการให้สิทธิ์สำหรับแอปที่ระบุ

การให้สิทธิ์

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

การแสดง JSON
{
  "sku": string,
  "skuType": enum (SkuType),
  "inAppDetails": {
    object (SignedData)
  }
}
ช่อง
sku

string

SKU ของผลิตภัณฑ์ ชื่อแพ็กเกจสำหรับแอปที่ต้องซื้อ คำต่อท้ายของ Finsky docid สำหรับการซื้อในแอปและการสมัครใช้บริการในแอป จับคู่ getSku() ใน Play InApp Billing API

skuType

enum (SkuType)

inAppDetails

object (SignedData)

นำเสนอสำหรับการซื้อในแอปและการสมัครใช้บริการในแอปเท่านั้น

SignedData

การแสดง JSON
{
  "inAppPurchaseData": {
    object
  },
  "inAppDataSignature": string
}
ช่อง
inAppPurchaseData

object (Struct format)

จับคู่ INAPP_PURCHASE_DATA จากเมธอด getPurchases() มีข้อมูลการซื้อในแอปทั้งหมดในรูปแบบ JSON ดูรายละเอียดในตารางที่ 6 ของ https://developer.android.com/google/play/billing/billing_reference.html

inAppDataSignature

string

ตรงกับ IN_APP_DATA_SIGNATURE จากเมธอด getPurchases() ใน Play InApp Billing API

อุปกรณ์

ข้อมูลเกี่ยวกับอุปกรณ์ที่ผู้ใช้ใช้เพื่อโต้ตอบกับการดําเนินการ

การแสดง JSON
{
  "location": {
    object (Location)
  }
}
ช่อง
location

object (Location)

แสดงตำแหน่งจริงของอุปกรณ์ เช่น ละติจูด ลองจิจูด และที่อยู่ที่จัดรูปแบบ ต้องมีสิทธิ์ DEVICE_COARSE_LOCATION หรือ DEVICE_PRECISE_LOCATION

แพลตฟอร์ม

ข้อมูลที่เกี่ยวข้องกับไคลเอ็นต์ Google Assistant โดยเฉพาะจะแสดงที่ผู้ใช้โต้ตอบด้วย แพลตฟอร์มดังกล่าวแตกต่างจากอุปกรณ์เนื่องจากแพลตฟอร์ม Assistant หลายแพลตฟอร์มอาจอยู่ในอุปกรณ์เครื่องเดียวกัน

การแสดง JSON
{
  "capabilities": [
    {
      object (Capability)
    }
  ]
}
ช่อง
capabilities[]

object (Capability)

รายการความสามารถที่แพลตฟอร์มรองรับ ณ เวลาที่ขอ เช่น actions.capability.AUDIO_OUTPUT

ความสามารถ

หมายถึงหน่วยฟังก์ชันที่พื้นผิวสามารถรองรับได้

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

string

ชื่อของความสามารถ เช่น actions.capability.AUDIO_OUTPUT

การสนทนา

การแสดง JSON
{
  "conversationId": string,
  "type": enum (ConversationType),
  "conversationToken": string
}
ช่อง
conversationId

string

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

type

enum (ConversationType)

ประเภทจะระบุสถานะของการสนทนาในวงจร

conversationToken

string

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

อินพุต

การแสดง JSON
{
  "rawInputs": [
    {
      object (RawInput)
    }
  ],
  "intent": string,
  "arguments": [
    {
      object (Argument)
    }
  ]
}
ช่อง
rawInputs[]

object (RawInput)

การถอดเสียงเป็นอินพุตดิบจากการสนทนาในแต่ละช่วง อาจต้องผลัดกันสนทนาหลายรอบเพื่อให้การดำเนินการใน Google ป้อนข้อมูลบางประเภทให้กับการดำเนินการ

intent

string

ระบุเจตนาของผู้ใช้ สำหรับการเปลี่ยนบทสนทนาครั้งแรก Intent จะหมายถึง Intent ที่ทริกเกอร์สำหรับการดำเนินการ สำหรับการสนทนาครั้งต่อๆ ไป Intent จะเป็นการดำเนินการทั่วไปใน Intent ของ Google (ขึ้นต้นด้วย "actions") ตัวอย่างเช่น หากอินพุตที่คาดไว้คือ actions.intent.OPTION Intent ที่ระบุที่นี่จะเป็น actions.intent.OPTION หาก Google Assistant ตอบสนองความตั้งใจดังกล่าวได้ หรือ actions.intent.TEXT หากผู้ใช้ให้ข้อมูลอื่น ดู https://developers.google.com/assistant/df-asdk/reference/intents

arguments[]

object (Argument)

รายการค่าอาร์กิวเมนต์ที่ระบุสำหรับอินพุตที่ขอโดยการดำเนินการ

RawInput

การแสดง JSON
{
  "inputType": enum (InputType),

  // Union field input can be only one of the following:
  "query": string,
  "url": string
  // End of list of possible types for union field input.
}
ช่อง
inputType

enum (InputType)

ระบุวิธีที่ผู้ใช้ป้อนข้อมูลนี้ เช่น คำตอบที่พิมพ์ คำตอบด้วยเสียง ไม่ระบุ ฯลฯ

ช่องการรวม input ค่าที่ป้อนจริง input ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
query

string

ข้อความที่พิมพ์หรือพูดจากผู้ใช้ปลายทาง

url

string

URL สำหรับทริกเกอร์