چرخه عمر سفارش (پس از خرید)

پس از تکمیل فرآیند پرداخت و ثبت سفارش، باید با استفاده از Webhooks به‌روزرسانی‌های وضعیت را به گوگل ارسال کنید. کلید API باید در پارامترهای پرس‌وجو یا هدرها ارسال شود.

۱. رویداد ایجاد شده را سفارش دهید

  • فعال‌سازی: بلافاصله پس از تأیید سفارش ( 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"
}

۲. به‌روزرسانی‌های سفارش (ارسال/لغو)

  • فعال‌ساز: زمانی که به‌روزرسانی در وضعیت سفارش رخ می‌دهد (مثلاً کالا ارسال می‌شود یا لغو می‌شود).
  • الزامات: شما باید دوباره کل موجودیت سفارش را ارسال کنید، نه فقط یک به‌روزرسانی جزئی.

مثال (ارسال شده):

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