Connect any system

Every location has a private webhook link in Settings → Connections. POST a sale to it and Ovation sends that customer a review request, with your usual delay, minimum sale and one-request-per-customer rule. Shopify and Lightspeed X-Series webhooks work as they are; for anything else, use the format below.

Not a developer? See every way to send review requests (Square, Stripe, Zapier, email, a CSV list or a QR sign).

The format

Send one JSON object per sale, with Content-Type: application/json:

POST https://getovation.io/api/inbound/<your link's token>
Content-Type: application/json

{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "phone": "+15551234567",
  "amount": 42.50,
  "external_id": "order-1001"
}
  • email or phone: at least one is required.
  • name: optional; used in the greeting.
  • amount: optional; the sale total in your currency (e.g. 42.5 or "42.50"). Sales under your minimum are skipped.
  • external_id: optional but recommended; your order or sale ID. The same ID is only ever processed once, so retries are safe.

Phone numbers sent here never count as permission to text, so these requests go by email unless the customer already agreed to texts with you in Ovation (Quick check-in or the counter QR code).

Responses

  • 200 {"ok":true,"outcome":"queued"}: the request is scheduled. Other outcomes: duplicate, asked_recently, below_minimum, no_contact, billing_not_set_up (the location's free trial hasn't started yet).
  • 400: the body isn't a JSON object.
  • 404: the link doesn't exist (it was regenerated, or there's a typo).
  • 413: the body is over 256 KB. 429: more than 120 sales a minute; retry shortly.

Example (curl)

curl -X POST "https://getovation.io/api/inbound/<token>" \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane Doe","email":"jane@example.com","amount":42.5,"external_id":"order-1001"}'

Keep the link private

Anyone with the link can send sales to your location. If it leaks, use Regenerate link in Settings → Connections → Connect any system; the old one stops working at once.

Connect any system to Ovation