New: Application API docs
Pick the API you are reading here — the Merchant API for your own store, the Application API for partner apps.
For partner applications: browse merchants and products, hand customers a checkout link, and follow the orders it creates.
If your application has a webhook_url configured, Gini POSTs to it when an order created through your application changes.
| Event | Fired when |
|---|---|
| order.created | An order tagged with your application is created. |
| order.status_updated | Its status changes — any transition. |
{
"event": "order.status_updated",
"previous_status": "accepted",
"external_id": "ORD-9001",
"cart_id": null,
"order": {
"id": 265552,
"status": "on_the_way"
},
"sent_at": "1785500000"
}
order has the same shape as GET /orders/{id} — shortened above.
| Field | On | Notes |
|---|---|---|
| previous_status | order.status_updated |
The status before this transition. |
| external_id | every event | Your reference, as sent on the token. null when the token carried none, or the order did not come from a token. |
| cart_id | order.created only |
The id returned with the token. null on order.status_updated. |
| sent_at | every event | Unix seconds, as a string. The same value as X-TIMESTAMP. |
Headers: X-TIMESTAMP (Unix seconds) and
X-SIGNATURE = hex( HMAC_SHA256(app_secret, raw_body + timestamp) )
Verify with a constant-time comparison against the raw body, and reject stale timestamps — the same way we verify your requests.