- JSON 표현
- 사용자
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- UserProfile
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- PackageEntitlement
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 사용 권한
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- SignedData
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 기기
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 노출 영역
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 기능
- 대화
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- 입력
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
- RawInput
<ph type="x-smartling-placeholder">
- </ph>
- JSON 표현
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 |
위도, 경도 및 형식이 지정된 주소와 같은 실제 기기 위치를 나타냅니다. |
Surface
사용자가 상호작용 중인 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[] |
Action이 요청한 입력에 대해 제공된 인수 값의 목록입니다. |
RawInput
JSON 표현 | |
---|---|
{ "inputType": enum ( |
필드 | ||
---|---|---|
inputType |
사용자가 입력한 응답(입력된 응답, 음성 응답, 지정되지 않음 등)을 나타냅니다. |
|
통합 필드 input . 실제 입력 값 input 은 다음 중 하나여야 합니다. |
||
query |
최종 사용자의 입력 또는 음성 입력 |
|
url |
트리거 URL입니다. |