交易 API 將於 2023 年 5 月 3 日淘汰,並將於 2023 年 6 月 13 日淘汰。詳情請參閱「
對話動作已淘汰」。
Actions on Google Orders API
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
Actions on Google Orders API 可讓開發人員處理「動作」中的實體商品交易。
驗證要求
存取 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"
}
]
}
}
}
}
}
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2023-05-16 (世界標準時間)。
[null,null,["上次更新時間:2023-05-16 (世界標準時間)。"],[[["\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```"]]