AppRequest

AppRequest adalah permintaan yang dikirim oleh Asisten Google ke fulfillment untuk berinteraksi dengan Action. Versi API ditentukan di header HTTP. Untuk API versi 1, headernya berisi: Google-Assistant-API-Version: v1. Untuk API versi 2, headernya berisi: Google-actions-API-Version: 2. Untuk mengetahui contoh penggunaannya dalam tindakan di Google, lihat https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json .

Representasi JSON
{
  "user": {
    object (User)
  },
  "device": {
    object (Device)
  },
  "surface": {
    object (Surface)
  },
  "conversation": {
    object (Conversation)
  },
  "inputs": [
    {
      object (Input)
    }
  ],
  "isInSandbox": boolean,
  "availableSurfaces": [
    {
      object (Surface)
    }
  ]
}
Kolom
user

object (User)

Pengguna yang memulai percakapan.

device

object (Device)

Informasi tentang perangkat yang digunakan pengguna untuk berinteraksi dengan Action.

surface

object (Surface)

Informasi tentang platform tempat pengguna berinteraksi, misalnya apakah dapat menghasilkan audio atau memiliki layar.

conversation

object (Conversation)

Menyimpan data sesi seperti ID percakapan dan token percakapan.

inputs[]

object (Input)

Daftar input yang sesuai dengan input yang diharapkan, ditentukan oleh Tindakan. Untuk pemicu percakapan awal, input berisi informasi tentang cara pengguna memicu percakapan.

isInSandbox

boolean

Menunjukkan apakah permintaan harus ditangani dalam mode sandbox.

availableSurfaces[]

object (Surface)

Permukaan yang tersedia untuk serah terima lintas permukaan.

Pengguna

Representasi JSON
{
  "idToken": string,
  "profile": {
    object (UserProfile)
  },
  "accessToken": string,
  "permissions": [
    enum (Permission)
  ],
  "locale": string,
  "lastSeen": string,
  "userStorage": string,
  "packageEntitlements": [
    {
      object (PackageEntitlement)
    }
  ],
  "userVerificationStatus": enum (UserVerificationStatus)
}
Kolom
idToken

string

token yang mewakili identitas pengguna. Ini adalah token web Json termasuk profil yang dienkode. Definisinya ada di https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo.

profile

object (UserProfile)

Informasi tentang pengguna akhir. Beberapa kolom hanya tersedia jika pengguna telah memberikan izin untuk memberikan informasi ini ke Action.

accessToken

string

Token OAuth2 yang mengidentifikasi pengguna di sistem Anda. Hanya tersedia jika pengguna menautkan akunnya.

permissions[]

enum (Permission)

Berisi izin yang diberikan oleh pengguna untuk Action ini.

locale

string

Setelan lokalitas utama pengguna yang membuat permintaan. Mengikuti kode bahasa IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt Namun, subtag skrip tidak disertakan.

lastSeen

string (Timestamp format)

Stempel waktu interaksi terakhir dengan pengguna ini. Kolom ini akan dihapus jika pengguna belum berinteraksi dengan agen sebelumnya.

Stempel waktu dalam format RFC3339 UTC "Zulu", akurat hingga nanodetik. Contoh: "2014-10-02T15:01:23.045123456Z".

userStorage

string

Token buram yang disediakan oleh aplikasi yang disimpan di seluruh percakapan untuk pengguna tertentu. Ukuran maksimum string adalah 10 ribu karakter.

packageEntitlements[]

object (PackageEntitlement)

Daftar hak pengguna untuk setiap nama paket yang tercantum dalam paket Action, jika ada.

userVerificationStatus

enum (UserVerificationStatus)

Menunjukkan status verifikasi pengguna.

UserProfile

Berisi info pribadi pengguna. Kolom hanya diisi jika pengguna memberikan izin ke Action untuk kolom tertentu.

Representasi JSON
{
  "displayName": string,
  "givenName": string,
  "familyName": string
}
Kolom
displayName

string

Nama lengkap pengguna seperti yang ditentukan di Akun Google-nya. Memerlukan izin NAME.

givenName

string

Nama depan pengguna seperti yang ditentukan di Akun Google-nya. Memerlukan izin NAME.

familyName

string

Nama belakang pengguna seperti yang ditentukan di Akun Google-nya. Perhatikan bahwa kolom ini boleh kosong. Memerlukan izin NAME.

PackageEntitlement

Daftar hak yang terkait dengan nama paket

Representasi JSON
{
  "packageName": string,
  "entitlements": [
    {
      object (Entitlement)
    }
  ]
}
Kolom
packageName

string

Harus cocok dengan nama paket dalam paket tindakan

entitlements[]

object (Entitlement)

Daftar hak untuk aplikasi tertentu

Kepemilikan hak

Menentukan hak digital pengguna. Jenis kemungkinan hak: aplikasi berbayar,pembelian dalam aplikasi, langganan dalam aplikasi.

Representasi JSON
{
  "sku": string,
  "skuType": enum (SkuType),
  "inAppDetails": {
    object (SignedData)
  }
}
Kolom
sku

string

SKU produk. Nama paket untuk aplikasi berbayar, akhiran Finsky docid untuk pembelian dalam aplikasi dan langganan dalam aplikasi. Cocokkan getSku() di Play InApp Billing API.

skuType

enum (SkuType)

inAppDetails

object (SignedData)

Hanya ada untuk pembelian dalam aplikasi dan langganan dalam aplikasi.

SignedData

Representasi JSON
{
  "inAppPurchaseData": {
    object
  },
  "inAppDataSignature": string
}
Kolom
inAppPurchaseData

object (Struct format)

Cocokkan INAPP_PURCHASE_DATA dari metode getPurchases(). Berisi semua data pembelian dalam aplikasi dalam format JSON. Lihat detail pada tabel 6 pada https://developer.android.com/google/play/billing/billing_reference.html.

inAppDataSignature

string

Mencocokkan IN_APP_DATA_SIGNATURE dari metode getPurchases() di Play InApp Billing API.

Perangkat

Informasi tentang perangkat yang digunakan pengguna untuk berinteraksi dengan Action.

Representasi JSON
{
  "location": {
    object (Location)
  }
}
Kolom
location

object (Location)

Merepresentasikan lokasi perangkat sebenarnya seperti lintang, bujur, dan alamat yang diformat. Memerlukan izin DEVICE_COARSE_LOCATION atau DEVICE_PRECISE_LOCATION.

Platform

Informasi khusus tentang platform klien Asisten Google yang berinteraksi dengan pengguna. Platform Asisten berbeda dengan perangkat karena beberapa platform Asisten dapat aktif di perangkat yang sama.

Representasi JSON
{
  "capabilities": [
    {
      object (Capability)
    }
  ]
}
Kolom
capabilities[]

object (Capability)

Daftar kemampuan yang didukung platform pada saat permintaan, mis. actions.capability.AUDIO_OUTPUT

Kemampuan

Mewakili unit fungsi yang dapat didukung platform.

Representasi JSON
{
  "name": string
}
Kolom
name

string

Nama kemampuan, mis. actions.capability.AUDIO_OUTPUT

Percakapan

Representasi JSON
{
  "conversationId": string,
  "type": enum (ConversationType),
  "conversationToken": string
}
Kolom
conversationId

string

ID unik untuk percakapan bolak-balik. Nomor ini ditetapkan untuk belokan pertama. Setelah itu, percakapan berikutnya akan tetap sama hingga percakapan dihentikan.

type

enum (ConversationType)

{i>type<i} menunjukkan status percakapan dalam siklus hidupnya.

conversationToken

string

Token buram yang ditentukan oleh Tindakan pada giliran percakapan terakhir. Hal ini dapat digunakan oleh Action untuk melacak percakapan atau menyimpan data terkait percakapan.

Input

Representasi JSON
{
  "rawInputs": [
    {
      object (RawInput)
    }
  ],
  "intent": string,
  "arguments": [
    {
      object (Argument)
    }
  ]
}
Kolom
rawInputs[]

object (RawInput)

Transkripsi input mentah dari setiap tahap percakapan. Mungkin diperlukan beberapa giliran percakapan agar tindakan di Google dapat memberikan beberapa jenis input ke Action.

intent

string

Menunjukkan intent pengguna. Untuk giliran percakapan pertama, intent akan merujuk ke intent pemicu untuk Action. Untuk percakapan berikutnya, intent akan menjadi tindakan umum pada intent Google (dimulai dengan 'actions'). Misalnya, jika input yang diharapkan adalah actions.intent.OPTION, intent yang ditentukan di sini adalah actions.intent.OPTION jika Asisten Google dapat memenuhi intent tersebut, atau actions.intent.TEXT jika pengguna memberikan informasi lain. Lihat https://developers.google.com/assistant/df-asdk/reference/intents.

arguments[]

object (Argument)

Daftar nilai argumen yang diberikan untuk input yang diminta oleh Action.

RawInput

Representasi 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.
}
Kolom
inputType

enum (InputType)

Menunjukkan bagaimana pengguna memberikan input ini: respons yang diketik, respons suara, tidak ditentukan, dll.

Kolom union input. Nilai input sebenarnya input hanya dapat berupa salah satu dari yang berikut:
query

string

Input yang diketik atau diucapkan dari pengguna akhir.

url

string

URL pemicu.