AppRequest

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": {
    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 ของผลิตภัณฑ์ ชื่อแพ็กเกจสำหรับแอปที่ต้องซื้อ คำต่อท้าย Docid ของ Finsky สำหรับการซื้อในแอปและการสมัครใช้บริการในแอป จับคู่ getSku() ใน API การเรียกเก็บเงินในแอปของ Play

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 ที่แสดงต่อผู้ใช้ซึ่งโต้ตอบด้วย Surface แตกต่างจากอุปกรณ์เนื่องจากแพลตฟอร์ม 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)

type จะแสดงสถานะของการสนทนาในวงจร

conversationToken

string

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

อินพุต

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

object (RawInput)

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

intent

string

ระบุความตั้งใจของผู้ใช้ สำหรับการเปิดการสนทนาแรก Intent จะหมายถึง Intent ที่ทริกเกอร์สำหรับการดำเนินการ สำหรับการเปลี่ยนการสนทนาในเวลาต่อมา Intent คือการกระทำทั่วไปในความตั้งใจของ Google (เริ่มต้นด้วย "การดำเนินการ") เช่น หากอินพุตที่ต้องการคือ 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 สำหรับทริกเกอร์