一次傳送多個要求

使用批次要求 與 Merchant API 整合,在單一 API 呼叫中傳送多個要求。

批次要求是單一標準 HTTP 要求,內含多個 API 呼叫。 使用 multipart/mixed 內容類型。在主要 HTTP 要求中,每個 部分包含巢狀 HTTP 要求。

您可以將批次要求傳送至 API 的指定的 batchPath。 Merchant API Beta 版 batchPathbatch/{sub-api}/v1beta。您可以 其他 API 的 batchPath,其探索 文件

以下列舉幾個您可能會想批次處理要求的情況:

  • 您剛開始使用 API,有許多資料需要上傳。
  • 使用者在您的應用程式離線時變更了資料, 應用程式需要將本機資料與伺服器同步。
,瞭解如何調查及移除這項存取權。

如果您對 HTTP 批次處理有疑問,或想要求 以我們的用戶端 資源庫提交 意見回饋

撰寫批次要求

以下是 Merchant API 批次要求的範例。這個要求結合 get 要求 擷取產品的區域性商品目錄資料,以及將插入要求傳至 更新相同產品的店面商品目錄資料。

請完全符合範例的格式:

  1. 使用 https://merchantapi.googleapis.com/batch/{sub-api}/v1beta 做為基礎 網址。
  2. 指定每個巢狀要求邊界的界線,例如:

    -H 'Content-Type: multipart/mixed,boundary=batch_inventory' \

  3. 請使用邊界分隔每個巢狀要求,例如: --batch_inventory

  4. 在每個巢狀結構的開頭加入 Content-Type: application/http 請求。

  5. (選用) 使用 Content-ID 為每個巢狀要求加上您自己的 ID 加上標籤。 例如:

    Content-ID: <get:online:en:US:123456>

  6. 在每個巢狀結構的標題、路徑和內文之間加入空白行 請求。如果巢狀要求沒有主體,請將空白行留白 直到下一個邊界為止

  7. 請勿在每個巢狀要求中加入基本網址。

  8. 以最終邊界結束主要要求,例如: --batch_inventory–

,瞭解如何調查及移除這項存取權。
curl https://merchantapi.googleapis.com/batch/inventories/v1beta \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: multipart/mixed,boundary=batch_inventory' \
--data '
--batch_inventory
Content-Type: application/http
Content-ID: <get:online:en:US:123456>

GET /inventories/v1beta/accounts/123/products/online:en:US:123456/regionalInventories

--batch_inventory
Content-Type: application/http
Content-ID: <post:online:en:US:123456>

POST /inventories/v1beta/accounts/123/products/online:en:US:123456/regionalInventories:insert

{
   "region: "123456",
    "price": {
        "amountMicros": "100000000",
        "currencyCode": "USD"
    }
}
--batch_inventory--
'

如果您需要按指定順序執行呼叫,請分別傳送呼叫, 等待回應第一個要求,再傳送下一個要求。

讀取批次回應

以下是 HTTP 批次回應的範例。回應的順序可能 不符合要求的順序使用 Content-ID 識別巢狀結構 要求每個巢狀回應所屬的項目回應中,每個 Content-ID 都是 開頭是 response-

--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ
Content-Type: application/http
Content-ID: <response-get:online:en:US:123456>
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Vary: Origin
Vary: X-Origin
Vary: Referer
{}
--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ
Content-Type: application/http
Content-ID: <response-post:online:en:US:123456>
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Vary: Origin
Vary: X-Origin
Vary: Referer
{
  "name": "accounts/123/products/online:en:US:123456/regionalInventories/123456",
  "region": "123456",
  "price": {
    "amountMicros": "100000000",
    "currencyCode": "USD"
  }
}
--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ--
'