Actions on Google Orders API (Dialogflow)

Actions on Google Orders API, geliştiricilerin kabul eder.

Kimlik doğrulama istekleri

API'nin uç noktasına erişim için OAuth 2.0 kimlik doğrulaması gerekir. Bunu yapmak için https://www.googleapis.com/auth/actions.order kapsamı için OAuth 2.0 kullanıcı jetonu yetkilendirildi.

Jetonu almak için mevcut akışların herhangi birini, (Hizmet hesapları akışı hariçtir).

Aşağıdaki snippet, bir örnek siparişin JSON yükünü içerir:

{
  "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"
            }
          ]
        }
      }
    }
  }
}