2023년 6월 13일에 대화형 작업이 종료되기 전에 2023년 5월 3일에 Transactions API가 지원 중단됩니다. 자세한 내용은
대화 작업 지원 중단을 참고하세요.
Actions on Google Orders API
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Actions on Google Orders API를 사용하면 개발자가 Actions에서 실제 상품의 거래를 처리할 수 있습니다.
인증 요청
API의 엔드포인트에 액세스하려면 OAuth 2.0 인증이 필요합니다. https://www.googleapis.com/auth/actions.order
범위에 승인된 OAuth 2.0 사용자 토큰이 필요합니다.
토큰을 가져오려면 서비스 계정 흐름을 제외하고 사용 가능한 흐름을 사용할 수 있습니다.
다음 스니펫에는 주문의 JSON 페이로드 예시가 포함되어 있습니다.
{
"order": {
"merchantOrderId": "1234",
"userVisibleOrderId": "6789",
"userVisibleStateLabel": "CONFIRMED",
"buyerInfo": {
"email": "xyz@example.com",
"firstName": "Jane",
"lastName": "Doe",
"displayName": "Jane Doe",
"phoneNumbers": [
{
"e164PhoneNumber": "+1234567890"
}
]
},
"image": {
"url": "www.someurl.com"
},
"createTime": "2017-01-15T01:30:15.01Z",
"lastUpdateTime": "2017-01-15T01:30:15.01Z",
"transactionMerchant": {
"id": "www.examplemerchant.com",
"name": "Example Merchant",
"image": {
"url": "www.someurl.com"
},
"phoneNumbers": [
{
"e164PhoneNumber": "+11112223333"
}
],
"address": {
"zipCode": "94043",
"city": "Mountain View",
"postalAddress": {
"regionCode": "US",
"postalCode": "94043",
"administrativeArea": "CA",
"locality": "Mountain View",
"addressLines": [
"1600, Amphiteatre Parkway"
]
}
}
},
"contents": {
"lineItems": [
{
"id": "1",
"name": "Pizza Extreme",
"description": "Has everything a pizza should have",
"notes": [
"Vegetarian please"
],
"priceAttributes": [
{
"type": "REGULAR",
"name": "Item Price",
"state": "ACTUAL",
"amount": {
"currencyCode": "USD",
"amountInMicros": "6000000"
},
"taxIncluded": false
}
],
"vertical": {
"@type": "type.googleapis.com/google.actions.orders.v3.verticals.purchase.PurchaseItemExtension",
"productId": "www.examplemerchant.com/123/3333",
"quantity": 1,
"itemOptions": [
{
"id": "",
"name": "",
"prices": [
{
"type": "REGULAR",
"name": "Item Price",
"state": "ACTUAL",
"amount": {
"currencyCode": "USD",
"amountInMicros": "2000000"
},
"taxIncluded": false
}
],
"quantity": 1,
"productId": "www.examplemerchant.com/123/3333/1",
"subOptions": []
}
]
},
"provider": {
"id": "www.examplemerchant2.com/123",
"name": "Example Merchant 2",
"image": {},
"phoneNumbers": [
{
"e164PhoneNumber": "+11112223333"
}
],
"address": {
"zipCode": "94043",
"city": "Mountain View",
"postalAddress": {
"regionCode": "US",
"postalCode": "94043",
"administrativeArea": "CA",
"locality": "Mountain View",
"addressLines": [
"1350 Charleston Road"
]
}
}
}
}
]
},
"priceAttributes": [
{
"type": "TOTAL",
"name": "Total Price",
"state": "ACTUAL",
"amount": {
"currencyCode": "USD",
"amountInMicros": "10000000"
},
"taxIncluded": true
},
{
"type": "TAX",
"name": "Tax",
"state": "ACTUAL",
"amount": {
"currencyCode": "USD",
"amountInMicros": "2000000"
},
"taxIncluded": true
},
{
"type": "SUBTOTAL",
"name": "Subtotal",
"state": "ACTUAL",
"amount": {
"currencyCode": "USD",
"amountInMicros": "6000000"
},
"taxIncluded": false
},
{
"type": "DELIVERY",
"name": "Delivery",
"state": "ACTUAL",
"amount": {
"currencyCode": "USD",
"amountInMicros": "2000000"
},
"taxIncluded": false
}
],
"followUpActions": [
{
"type": "CALL",
"title": "Call us",
"openUrlAction": {
"url": "tel:+16501112222"
}
},
{
"type": "EMAIL",
"title": "Email us",
"openUrlAction": {
"url": "mailto:person@example.com"
}
}
],
"paymentData": {
"paymentInfo": {
"paymentMethodDisplayInfo": {
"paymentType": "PAYMENT_CARD",
"paymentMethodDisplayName": "VISA **** 1234"
},
"paymentMethodProvenance": "PAYMENT_METHOD_PROVENANCE_GOOGLE"
}
},
"termsOfServiceUrl": "www.examplemerchant.com/policy",
"note": "Vegetarian only",
"vertical": {
"@type": "type.googleapis.com/google.actions.orders.v3.verticals.purchase.PurchaseOrderExtension",
"status": "IN_PREPARATION",
"type": "FOOD",
"returnsInfo": {
"isReturnable": false
},
"fulfillmentInfo": {
"id": "www.examplemerchant.com/merchant-id/123",
"fulfillmentType": "DELIVERY",
"expectedFulfillmentTime": {
"timeIso8601": "PT10M"
},
"location": {
"zipCode": "94086",
"city": "Sunnyvale",
"postalAddress": {
"regionCode": "US",
"postalCode": "94086",
"administrativeArea": "CA",
"locality": "Sunnyvale",
"addressLines": [
"222, Some other Street"
]
}
},
"price": {
"type": "REGULAR",
"name": "Delivery Price",
"state": "ACTUAL",
"amount": {
"currencyCode": "USD",
"amountInMicros": "2000000"
},
"taxIncluded": "FALSE"
},
"fulfillmentContact": {
"email": "xyz@example.com",
"firstName": "Jane",
"lastName": "Doe",
"displayName": "Jane Doe",
"phoneNumbers": [
{
"e164PhoneNumber": "+16507146554"
}
]
}
}
}
}
}
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2023-05-16(UTC)
[null,null,["최종 업데이트: 2023-05-16(UTC)"],[[["\u003cp\u003eTransaction functionalities for Conversational Actions are unavailable in Denmark, France, Germany, Italy, the Netherlands, Norway, Poland, Spain, and Sweden due to regulatory changes.\u003c/p\u003e\n"],["\u003cp\u003eThe Actions on Google Orders API enables developers to manage transactions for physical goods within their Actions.\u003c/p\u003e\n"],["\u003cp\u003eAccessing the Orders API necessitates OAuth 2.0 authentication with a user token authorized for the \u003ccode\u003ehttps://www.googleapis.com/auth/actions.order\u003c/code\u003e scope.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use various OAuth 2.0 flows, except for Service accounts, to acquire the required token.\u003c/p\u003e\n"],["\u003cp\u003eA JSON payload example illustrates the structure and data included in an order processed through the API.\u003c/p\u003e\n"]]],["Conversational Actions transactions are unavailable in Denmark, France, Germany, Italy, the Netherlands, Norway, Poland, Spain, and Sweden. The Actions on Google Orders API, which handles transactions for physical goods, requires OAuth 2.0 authentication, excluding the Service accounts flow. An example JSON payload shows data such as order details, buyer information, item details, pricing, merchant data, payment, and fulfillment data, and actions like calls and emails.\n"],null,["# Actions on Google Orders API\n\n| **Warning:** Due to new regulatory requirements, transaction functionalities for Conversational Actions are no longer available in the following countries:\n|\n|\n| Denmark, France, Germany, Italy, the Netherlands, Norway, Poland, Spain, Sweden\n|\n|\n| Actions with Transactions will continue to work in all supported locales.\n\n\u003cbr /\u003e\n\nThe Actions on Google Orders API allows developers to handle transactions for\nphysical goods in their Actions.\n\nAuthenticating requests\n-----------------------\n\nAccess to the API's endpoint requires OAuth 2.0 authentication. You need an\nOAuth 2.0 user token authorized for the `https://www.googleapis.com/auth/actions.order` scope.\n\nTo obtain the token, you can use the any of the [available flows](/identity/protocols/OAuth2),\nwith the exception of the *Service accounts* flow.\n\nThe following snippet contains an example order's JSON payload: \n\n```carbon\n{\n \"order\": {\n \"merchantOrderId\": \"1234\",\n \"userVisibleOrderId\": \"6789\",\n \"userVisibleStateLabel\": \"CONFIRMED\",\n \"buyerInfo\": {\n \"email\": \"xyz@example.com\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Doe\",\n \"displayName\": \"Jane Doe\",\n \"phoneNumbers\": [\n {\n \"e164PhoneNumber\": \"+1234567890\"\n }\n ]\n },\n \"image\": {\n \"url\": \"www.someurl.com\"\n },\n \"createTime\": \"2017-01-15T01:30:15.01Z\",\n \"lastUpdateTime\": \"2017-01-15T01:30:15.01Z\",\n \"transactionMerchant\": {\n \"id\": \"www.examplemerchant.com\",\n \"name\": \"Example Merchant\",\n \"image\": {\n \"url\": \"www.someurl.com\"\n },\n \"phoneNumbers\": [\n {\n \"e164PhoneNumber\": \"+11112223333\"\n }\n ],\n \"address\": {\n \"zipCode\": \"94043\",\n \"city\": \"Mountain View\",\n \"postalAddress\": {\n \"regionCode\": \"US\",\n \"postalCode\": \"94043\",\n \"administrativeArea\": \"CA\",\n \"locality\": \"Mountain View\",\n \"addressLines\": [\n \"1600, Amphiteatre Parkway\"\n ]\n }\n }\n },\n \"contents\": {\n \"lineItems\": [\n {\n \"id\": \"1\",\n \"name\": \"Pizza Extreme\",\n \"description\": \"Has everything a pizza should have\",\n \"notes\": [\n \"Vegetarian please\"\n ],\n \"priceAttributes\": [\n {\n \"type\": \"REGULAR\",\n \"name\": \"Item Price\",\n \"state\": \"ACTUAL\",\n \"amount\": {\n \"currencyCode\": \"USD\",\n \"amountInMicros\": \"6000000\"\n },\n \"taxIncluded\": false\n }\n ],\n \"vertical\": {\n \"@type\": \"type.googleapis.com/google.actions.orders.v3.verticals.purchase.PurchaseItemExtension\",\n \"productId\": \"www.examplemerchant.com/123/3333\",\n \"quantity\": 1,\n \"itemOptions\": [\n {\n \"id\": \"\",\n \"name\": \"\",\n \"prices\": [\n {\n \"type\": \"REGULAR\",\n \"name\": \"Item Price\",\n \"state\": \"ACTUAL\",\n \"amount\": {\n \"currencyCode\": \"USD\",\n \"amountInMicros\": \"2000000\"\n },\n \"taxIncluded\": false\n }\n ],\n \"quantity\": 1,\n \"productId\": \"www.examplemerchant.com/123/3333/1\",\n \"subOptions\": []\n }\n ]\n },\n \"provider\": {\n \"id\": \"www.examplemerchant2.com/123\",\n \"name\": \"Example Merchant 2\",\n \"image\": {},\n \"phoneNumbers\": [\n {\n \"e164PhoneNumber\": \"+11112223333\"\n }\n ],\n \"address\": {\n \"zipCode\": \"94043\",\n \"city\": \"Mountain View\",\n \"postalAddress\": {\n \"regionCode\": \"US\",\n \"postalCode\": \"94043\",\n \"administrativeArea\": \"CA\",\n \"locality\": \"Mountain View\",\n \"addressLines\": [\n \"1350 Charleston Road\"\n ]\n }\n }\n }\n }\n ]\n },\n \"priceAttributes\": [\n {\n \"type\": \"TOTAL\",\n \"name\": \"Total Price\",\n \"state\": \"ACTUAL\",\n \"amount\": {\n \"currencyCode\": \"USD\",\n \"amountInMicros\": \"10000000\"\n },\n \"taxIncluded\": true\n },\n {\n \"type\": \"TAX\",\n \"name\": \"Tax\",\n \"state\": \"ACTUAL\",\n \"amount\": {\n \"currencyCode\": \"USD\",\n \"amountInMicros\": \"2000000\"\n },\n \"taxIncluded\": true\n },\n {\n \"type\": \"SUBTOTAL\",\n \"name\": \"Subtotal\",\n \"state\": \"ACTUAL\",\n \"amount\": {\n \"currencyCode\": \"USD\",\n \"amountInMicros\": \"6000000\"\n },\n \"taxIncluded\": false\n },\n {\n \"type\": \"DELIVERY\",\n \"name\": \"Delivery\",\n \"state\": \"ACTUAL\",\n \"amount\": {\n \"currencyCode\": \"USD\",\n \"amountInMicros\": \"2000000\"\n },\n \"taxIncluded\": false\n }\n ],\n \"followUpActions\": [\n {\n \"type\": \"CALL\",\n \"title\": \"Call us\",\n \"openUrlAction\": {\n \"url\": \"tel:+16501112222\"\n }\n },\n {\n \"type\": \"EMAIL\",\n \"title\": \"Email us\",\n \"openUrlAction\": {\n \"url\": \"mailto:person@example.com\"\n }\n }\n ],\n \"paymentData\": {\n \"paymentInfo\": {\n \"paymentMethodDisplayInfo\": {\n \"paymentType\": \"PAYMENT_CARD\",\n \"paymentMethodDisplayName\": \"VISA **** 1234\"\n },\n \"paymentMethodProvenance\": \"PAYMENT_METHOD_PROVENANCE_GOOGLE\"\n }\n },\n \"termsOfServiceUrl\": \"www.examplemerchant.com/policy\",\n \"note\": \"Vegetarian only\",\n \"vertical\": {\n \"@type\": \"type.googleapis.com/google.actions.orders.v3.verticals.purchase.PurchaseOrderExtension\",\n \"status\": \"IN_PREPARATION\",\n \"type\": \"FOOD\",\n \"returnsInfo\": {\n \"isReturnable\": false\n },\n \"fulfillmentInfo\": {\n \"id\": \"www.examplemerchant.com/merchant-id/123\",\n \"fulfillmentType\": \"DELIVERY\",\n \"expectedFulfillmentTime\": {\n \"timeIso8601\": \"PT10M\"\n },\n \"location\": {\n \"zipCode\": \"94086\",\n \"city\": \"Sunnyvale\",\n \"postalAddress\": {\n \"regionCode\": \"US\",\n \"postalCode\": \"94086\",\n \"administrativeArea\": \"CA\",\n \"locality\": \"Sunnyvale\",\n \"addressLines\": [\n \"222, Some other Street\"\n ]\n }\n },\n \"price\": {\n \"type\": \"REGULAR\",\n \"name\": \"Delivery Price\",\n \"state\": \"ACTUAL\",\n \"amount\": {\n \"currencyCode\": \"USD\",\n \"amountInMicros\": \"2000000\"\n },\n \"taxIncluded\": \"FALSE\"\n },\n \"fulfillmentContact\": {\n \"email\": \"xyz@example.com\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Doe\",\n \"displayName\": \"Jane Doe\",\n \"phoneNumbers\": [\n {\n \"e164PhoneNumber\": \"+16507146554\"\n }\n ]\n }\n }\n }\n }\n} \n```"]]