結帳完成並下單後,你必須使用 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"
}