Order postback
When a customer places an order on your site, have your server send it to SealReply. An order placed within 30 days of a chat with the same visitor is tied to that visitor's latest conversation:
- The Follow-up card on the customer card lists all this customer's orders; those with no chat in the 30 days before are marked "No chat".
- Reports → Results gets a card, "Ordered after a chat (from your site)", with the number of orders and the amount per currency.
These are counted apart from the deals your team marks won. They say a visitor ordered after a chat, not that the chat brought the order in.
Before you start
- On the Developers page of the console, create an API key with the
conversations:writescope (see Authentication and limits). Keep the key on your server. - Copy the site ID at the bottom of the Visitor identity verification card on your site's page under Sites.
- Pick how to recognise the visitor:
external_id: your site's own user ID. This needs identity verification turned on, with the same ID passed to the widget. Recommended.visitor_id: SealReply's visitor ID, from a webhook or the conversations API.
Guests who order without signing in cannot be recognised. Their orders are kept, but not counted as ordered after a chat.
Send an order
POST https://api.sealreply.com/v1/site-orders
Authorization: Bearer sr_live_…
Content-Type: application/json
{
"site_id": "0192f000-0000-7000-8000-000000000201",
"order_id": "A-1001",
"amount": "59.90",
"currency": "USD",
"placed_at": "2026-11-04T09:30:00Z",
"external_id": "42"
}| Field | Meaning |
|---|---|
site_id | The site ID |
order_id | Your order number, unique on the site, up to 100 characters |
amount | The amount as a string, at most two decimals, such as "59.90" |
currency | A three-letter currency code, such as USD or EUR |
placed_at | When it was placed (optional); now when left out, and at most a day ahead |
external_id or visitor_id | One of them, see above |
A new order returns 201. Sending the same order number again returns 200 and updates it (a changed amount, say); it is never counted twice. conversation_id in the response is the conversation it was tied to, or null with from_chat false when there is none.
Take an order back
When an order is cancelled or fully refunded, take it back and the report stops counting it:
DELETE https://api.sealreply.com/v1/site-orders/A-1001?site_id=0192f000-0000-7000-8000-000000000201
Authorization: Bearer sr_live_…An unknown order number returns 404.
Notes
- If the conversation is deleted later (by hand, or past the retention period), its orders still count in the report.
- Test conversations are never matched.
- Up to 5,000 requests an hour per workspace, sending and taking back together.
- Every field is in the API reference.