Skip to content

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 ​

  1. On the Developers page of the console, create an API key with the conversations:write scope (see Authentication and limits). Keep the key on your server.
  2. Copy the site ID at the bottom of the Visitor identity verification card on your site's page under Sites.
  3. 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 ​

http
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"
}
FieldMeaning
site_idThe site ID
order_idYour order number, unique on the site, up to 100 characters
amountThe amount as a string, at most two decimals, such as "59.90"
currencyA three-letter currency code, such as USD or EUR
placed_atWhen it was placed (optional); now when left out, and at most a day ahead
external_id or visitor_idOne 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:

http
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.