Skip to content

Orders

What an order contains

The agent collects and validates everything before placing an order:

  • Items — products from your catalog with quantities. Totals are computed server-side from catalog prices at that moment (snapshotted — later price changes never affect existing orders)
  • Customer name and phone — always collected explicitly; the phone is how you close the sale
  • Note — address, wishes, anything else the customer mentioned
  • Channel and conversation link — you can always read the full dialog behind an order

Lifecycle

new ──► confirmed   (you accept)
   └──► cancelled   (you decline, with optional reason)

Decisions are yours, never the bot's. When you decide, the customer is automatically notified in the same chat they ordered from.

An order can be decided exactly once — a second decision attempt is rejected, so a Telegram button press and an API call can never conflict.

Receiving orders

Configure under Orders → Delivery Settings:

Telegram group (no-code)

Add your bot to a private group, paste the group chat id. Each order arrives formatted, with ✅ Confirm / ❌ Cancel inline buttons. Only the configured group can decide orders.

Your API (integration)

Each order is POSTed to your URL as JSON, signed with HMAC-SHA256 — see Orders API & Webhooks for the payload and signature verification. Failed deliveries are retried, then flagged in the dashboard (and a fallback Telegram alert is sent if a chat id is configured).

Dashboard only

Orders simply appear under Orders, where you can filter by status, inspect items, and confirm/cancel with a comment.

Price-on-request items

Products without a price can still be ordered — the item lands in the order with a note that the manager must confirm the price, and the total covers only the priced items.