送料設定の概要

shippingsettings リソースを使用すると、アカウントの配送設定を取得して更新できます。

一部の商品については、目安のお届け日数が Google によって自動的に更新されることがあります。 詳細については、自動改善を有効にするをご覧ください。

配送設定の読み取り、書き込み、更新

Merchant API 配送サービスを使用する手順は次のとおりです。

  1. GET リクエストを発行して、アカウントの完全な配送設定を取得します。
  2. 配送設定を変更する。
  3. 配送設定を変更して INSERT リクエストを送信します。

etag

ETag は、非同期更新を回避するためにエンコードされたトークンです。etag は配送設定データが変更されると変更されます。ユーザーは、GET リクエストから取得した etag を INSERT リクエストの本文にコピーする必要があります。

GET リクエストと INSERT リクエストの間で配送設定データが変更されると、最新の etag トークンを取得する別の GET リクエストをリクエストするエラー メッセージが表示されます。GET リクエストを呼び出して新しい etag トークンを取得し、新しい etag トークンを INSERT リクエストの本文にコピーする必要があります。

配送設定を追加する

shippingsettings.insert を使用して、アカウントの配送設定を追加または更新します。以下は、アカウント 10 で「GSA Shipping - Free Ship Over $49.99」という配送サービスの maxTransitDays を 7 に更新するリクエストの例です。

POST https://merchantapi.googleapis.com/accounts/v1beta/accounts/{accountId}/shippingSettings/

{
  "services": [
    {
      "name": "FedEx",
      "active": true,
      "deliveryCountries": ["US"],
      "currencyCode": "USD",
      "deliveryTime": {
        "minTransitDays": 4,
        "maxTransitDays": 6,
        "minHandlingDays": 0,
        "maxHandlingDays": 0
      },
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": {
              "amountMicros": 5990000,
              "currencyCode": "USD"
            }
          },
          "name": "All products"
        }
      ]
    },
    {
      "name": "GSA Shipping - Free Ship Over $49.99",
      "active": true,
      "deliveryCountries": "US",
      "currencyCode": "USD",
      "deliveryTime": {
        "minTransitDays": 3,
        "maxTransitDays": 7,
        "minHandlingDays": 1,
        "maxHandlingDays": 2
      },
      "rateGroups": [
        {
          "mainTable": {
            "rowHeaders": {
              "prices": [
                {
                  "amountMicros": 49990000,
                  "currencyCode": "USD"
                },
                {
                  "amountMicros": -1,
                  "currencyCode": "USD"
                }
              ]
            },
            "rows": [
              {
                "cells": [
                  {
                    "flatRate": {
                      "amountMicros": 6990000,
                      "currencyCode": "USD"
                    }
                  }
                ]
              },
              {
                "cells": [
                  {
                    "flatRate": {
                      "amountMicros": 0,
                      "currencyCode": "USD"
                    }
                  }
                ]
              }
            ]
          },
          "name": "Free Ship Over $49.99"
        }
      ]
    }
  ]
}

ウェアハウスの設定

次の JSON サンプルは、販売者の配送設定サービスを使用して、販売アカウントの倉庫情報を管理する方法を示しています。

"warehouses": [
  {
    "name": "warehouse 1",
    "shippingAddress": {
      "streetAddress": {street_address},
      "city": {city},
      "administrativeArea": {administrative_area},
      "postalCode": {postal_code},
      "regionCode": {region_code}
    },
    "cutoffTime": {
      "minutes": {minutes}
    },
    "handlingDays": {handling_days},
    "businessDaysConfig": {
      "businessDays": [
        "MONDAY", "SUNDAY"
      ]
    }
  }
]

次のように置き換えます。

  • {street_address}: ウェアハウスの住所の番地レベルの部分。
  • {city}: 倉庫がある市町村またはコミューン。
  • {administrative_area}: 国の行政区域。(都道府県や州など)。
  • {postal_code}: 郵便番号。
  • {region_code}: 文字列の国コード。
  • {minutes}: 倉庫で同日中に注文を処理するまで、受付終了時間の分。
  • {handling_days}: この倉庫で商品を梱包して発送するまでにかかる日数。

warehouses リソースはウェアハウスのリストです。各倉庫は、warehouse.name までの配送サービスの倉庫ベースのお届け日数から参照できます。

ウェアハウスの管理

Merchant API を使用して倉庫を管理する手順は次のとおりです。

  1. GET リクエストを発行して、既存の shippingsettings とウェアハウスをすべて取得します。
  2. GET リクエストの shippingsettingsUPDATE リクエストにコピーします。

  3. ウェアハウスを使用する場合は、INSERT リクエストの warehouses セクションでデータを入力します。

  4. shippingsettings リソースと warehouses リソースを含む UPDATE リクエストを作成します。

次に、ウェアハウス 1 のウェアハウスをニューヨークからマウンテン ビューに更新した INSERT リクエストの本文の例を示します。

{
  "services": [
    {
      "name": "Standard Shipping",
      "active": true,
      "deliveryCountries": ["US", "UK"],
      "currencyCode": "USD",
      "deliveryTime": {
        "minHandlingDays": 0,
        "maxHandlingDays": 1,
        "warehouseBasedDeliveryTimes": [
{"carrier": "Fedex"
 "carrierService": "ground"
 "warehouse": "Warehouse 1"
},
{"carrier": "Fedex"
 "carrierService": "2 days"
 "warehouse": "Warehouse 2"
}
]
      },
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": {
              "amountMicros": 0,
              "currencyCode": "USD"
            }
          },
          "name": "Standard Shipping"
        }
      ],
    },
    {
      "name": "Expedited",
            "flatRate": {
              "amountMicros": 9990000,
              "currencyCode": "USD"
            }
          },
          "name": "Expedited"
        }
      ],
    }
  ],
  "warehouses": [
    {
      "name": "Warehouse1",
      "shippingAddress": [
        {
        "streetAddress": "1111 shoreline street"
          "city": "Mountain View",
          "administrativeArea": "CA"
        }
      ]
    },
    {
      "name": "Warehouse 2",
      "country": "US",
      "postalCodeRanges": [
        {
        "streetAddress": "1111 5th avenue"
          "city": "New York",
          "administrativeArea": "NY"
        }
      ]
    }
  ]
}

当日配達を追加

ローカル在庫がある場合は、Content API for Shopping を使用して当日配達サービスを設定できます。当日配達サービスの shipment_typelocal_delivery です。現在のところ、local_delivery のすべての配送サービスは当日配達とみなされます。

ローカル配送の delivery_time 情報は変更できません。ローカル在庫商品の当日配達を設定するには、shippingsettings.insert を使用します。

アカウントのすべての店舗に当日配達サービスを追加するリクエスト本文の例を次に示します。

{
  "name": "accounts/accountId/shippingSettings",
  "services": [
    {
      "name": "Local Delivery",
      "active": true,
      "shipmentType": "local_delivery",
      "deliveryCountries": "US",
      "currencyCode": "USD",
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": {
              "amountMicros": 0,
              "currencyCode": "USD"
            }
          }
        }
      ],
      "storeConfig": {
        "storeServiceType": "all stores",
        "storeCodes": [],
        "cutoffConfig": {
          "storeCloseOffsetHours": 2,
          "noDeliveryPostCutoff": true
        },
        "serviceRadius": {
          "value": 4,
          "unit": "Miles"
        }
      }
    }
  ]
}

翌日配達を追加

同日配達の受付終了時間より後に注文された場合、デフォルトでは翌日配達がスケジュールされます。翌日配達を無効にするには、no_delivery_post_cutoff フィールドを true に設定します。翌日配達をオフにした場合、配送サービスは各日の受付終了時間前にのみ表示されます。

翌日配達は、shipment_typelocal_delivery の場合にのみ利用できます。