Ciclo di vita dell'ordine (post-acquisto)

Una volta completato il pagamento e effettuato un ordine, devi inviare gli aggiornamenti di stato a Google utilizzando i webhook. La chiave API deve essere inviata nei parametri di query o nelle intestazioni.

1. Evento Ordine creato

  • Trigger: immediatamente dopo la conferma dell'ordine (status: processing).
  • Endpoint: POST /webhooks/partners/{partner_id}/events/order

Payload:devi inviare l'entità ordine completa.

{
  "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. Aggiornamenti sugli ordini (spedizione/annullamento)

  • Trigger: quando lo stato dell'ordine viene aggiornato (ad es. l'articolo viene spedito o annullato).
  • Requisito:devi inviare di nuovo l'entità ordine completa, non solo un aggiornamento parziale.

Esempio (spedito):

{
  "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"
}