- 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입니다.  | 
              |