AppRequest는 작업과 상호작용하기 위해 Google 어시스턴트가 처리로 전송하는 요청입니다. 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 |
대화 ID, 대화 토큰과 같은 세션 데이터를 보유합니다. |
inputs[] |
작업에서 지정한 예상 입력에 해당하는 입력 목록입니다. 초기 대화 트리거의 경우 입력에는 사용자가 대화를 트리거한 방식에 관한 정보가 포함됩니다. |
isInSandbox |
요청을 샌드박스 모드에서 처리해야 하는지 여부를 나타냅니다. |
availableSurfaces[] |
교차 표면 핸드오프에 사용할 수 있는 표면입니다. |
사용자
JSON 표현 | |
---|---|
{ "idToken": string, "profile": { object ( |
필드 | |
---|---|
idToken |
사용자 ID를 나타내는 토큰입니다. 인코딩된 프로필이 포함된 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의 접미사. Play InApp Billing API의 getSku()를 매칭합니다. |
skuType |
|
inAppDetails |
인앱 구매 및 인앱 정기 결제인 경우에만 표시됩니다. |
SignedData
JSON 표현 | |
---|---|
{ "inAppPurchaseData": { object }, "inAppDataSignature": string } |
필드 | |
---|---|
inAppPurchaseData |
getPurchases() 메서드에서 INAPP_PURCHASE_DATA를 매칭합니다. JSON 형식의 모든 인앱 구매 데이터를 포함합니다. https://developer.android.com/google/play/billing/billing_reference.html의 표 6에서 세부정보를 참조하세요. |
inAppDataSignature |
Play InApp Billing API의 getPurchases() 메서드의 IN_APP_DATA_SIGNATURE와 일치합니다. |
기기
사용자가 작업과 상호작용하는 데 사용하는 기기에 관한 정보입니다.
JSON 표현 | |
---|---|
{
"location": {
object ( |
필드 | |
---|---|
location |
위도, 경도, 형식이 지정된 주소와 같은 실제 기기 위치를 나타냅니다. |
표면
사용자가 상호작용하는 Google 어시스턴트 클라이언트 노출 영역에 관한 정보입니다. Surface는 여러 어시스턴트 표시 경로가 동일한 기기에 있을 수 있다는 점에서 기기와 구분됩니다.
JSON 표현 | |
---|---|
{
"capabilities": [
{
object ( |
필드 | |
---|---|
capabilities[] |
요청 시 노출 영역에서 지원하는 기능 목록(예: |
기능
노출 영역에서 지원할 수 있는 기능 단위를 나타냅니다.
JSON 표현 | |
---|---|
{ "name": string } |
필드 | |
---|---|
name |
기능 이름입니다(예: |
대화
JSON 표현 | |
---|---|
{
"conversationId": string,
"type": enum ( |
필드 | |
---|---|
conversationId |
멀티턴 대화의 고유 ID입니다. 첫 번째 회전에 할당됩니다. 그 후에는 대화가 종료될 때까지 이어지는 대화에서 동일하게 유지됩니다. |
type |
type은 수명 주기에서 대화의 상태를 나타냅니다. |
conversationToken |
마지막 대화 차례의 작업에서 지정한 불투명 토큰입니다. 작업에서 대화를 추적하거나 대화 관련 데이터를 저장하는 데 사용할 수 있습니다. |
입력
JSON 표현 | |
---|---|
{ "rawInputs": [ { object ( |
필드 | |
---|---|
rawInputs[] |
각 대화 차례의 원시 입력 스크립트입니다. Google에서 작업에 특정 유형의 입력을 제공하려면 여러 번의 대화 차례가 필요할 수 있습니다. |
intent |
사용자의 인텐트를 나타냅니다. 첫 번째 대화 차례에서 인텐트는 작업의 트리거 인텐트를 참조합니다. 이어지는 대화 차례에서는 인텐트가 Google 인텐트의 일반적인 작업('작업'으로 시작)이 됩니다. 예를 들어 예상되는 입력이 |
arguments[] |
작업에서 요청한 입력에 제공된 인수 값의 목록입니다. |
RawInput
JSON 표현 | |
---|---|
{ "inputType": enum ( |
필드 | ||
---|---|---|
inputType |
사용자가 이 입력을 제공한 방법(입력된 응답, 음성 응답, 지정되지 않음 등)을 나타냅니다. |
|
통합 필드 input . 실제 입력 값 input 는 다음 중 하나여야 합니다. |
||
query |
최종 사용자의 입력 또는 음성 입력입니다. |
|
url |
실행 URL입니다. |