訂單生命週期 (購買後)

結帳完成並下單後,你必須使用 Webhook 將狀態更新推送至 Google。API 金鑰必須在查詢參數或標頭中傳送。

1. 訂單建立事件

  • 觸發條件:訂單確認後 (status: processing) 立即傳送。
  • 端點: POST /webhooks/partners/{partner_id}/events/order

酬載:你必須傳送完整的訂單實體。

{
  "ucp": { "version": "2026-01-01", "capabilities": [...] },
  "id": "order_789",
  "checkout_id": "checkout_xyz789",
  "line_items": [
    {
      "id": "line_1",
      "item":
        {
          "id": "product_12345",
          "title": "Running Shoes",
          "price": 10000
        },
      "quantity": { "total": 1, "fulfilled": 0 },
      "totals": [
        {"type": "subtotal", "amount": 10000},
        {"type": "total", "amount": 10000}
      ],
      "status": "processing"
    }
  ],
  "fulfillment": {
    "expectations": [
      {
        "id": "exp_1",
        "line_items": [{ "id": "line_1", "quantity": 1 }],
        "method_type": "shipping",
        "destination": {
          "street_address": "123 Main St",
          "address_locality": "Austin",
          "address_region": "TX",
          "address_country": "US",
          "postal_code": "78701"
        },
        "description": "Arrives in 2-3 business days",
        "fulfillable_on": "now"
      }
    ]
  },
  "permalink_url": "https://merchant.example.com/orders/789"
}

2. 訂單動態 (運送/取消)

  • 觸發條件:訂單狀態更新時 (例如商品出貨或取消)。
  • 規定:你必須再次傳送完整訂單實體,而不只是部分更新。

示例 (已出貨):

{
  "id": "order_789",
  "checkout_id": "checkout_xyz789",
  // Full line items must be included
  "line_items": [
    {
      "id": "line_1",
      "item":
        {
          "id": "product_12345",
          "title": "Running Shoes",
          "price": 10000
        },
      "quantity": { "total": 1, "fulfilled": 1 },
      "totals": [
        {"type": "subtotal", "amount": 10000},
        {"type": "total", "amount": 10000}
      ],
      "status": "fulfilled"
    }
  ],
  // Updated fulfillment details
  "fulfillment": {
    "events": [
      {
        "id": "evt_1",
        "occurred_at": "2025-01-08T10:30:00Z",
        "type": "shipped",
        "line_items": [{ "id": "line_1", "quantity": 1 }],
        "tracking_number": "123456789",
        "tracking_url": "https://fedex.com/track/123456789",
        "description": "Shipping departed from warehouse"
      }
    ]
  },
  "expectations": {"..."},
  "permalink_url": "https://merchant.example.com/orders/789"
}