결제가 완료되고 주문이 접수되면 웹훅을 사용하여 상태 업데이트를 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"
}