Orders API

Connect Mankosh Menu to any POS, kitchen display or automation tool. Your venue id, API key and webhook secret are in the dashboard → Orders.

Quick start

  1. No developer: use Option 3 with Zapier or Make — about 10 minutes.
  2. Your POS can receive web requests: use Option 1 (webhook).
  3. Your system prefers to ask for new orders: use Option 2 (polling).

Option 1 — Webhook (we push every order)

In the dashboard choose Your POS or system (webhook) and paste an https URL. For each new or cancelled order we send a POST with JSON:

{
  "event": "order.created",            // or "order.cancelled"
  "venue": "your-venue-id",
  "order": {
    "id": "K7QZ", "ref": "ORDER#1730650000000#K7QZ",
    "table": "3", "currency": "EUR", "total": 6.4, "language": "de",
    "note": "no sugar", "createdAt": "2026-11-03T10:15:00.000Z",
    "items": [{ "id": "a1b2c3", "name": "Latte", "qty": 2, "options": ["Oat milk"], "unit": 3.2 }]
  }
}

Header X-Mankosh-Signature = HMAC-SHA256 of the raw body with your webhook secret (hex). Verify it before trusting the order:

// Node.js
const ok = crypto.createHmac("sha256", SECRET).update(rawBody).digest("hex") === req.headers["x-mankosh-signature"];
# Python
ok = hmac.new(SECRET.encode(), raw_body, hashlib.sha256).hexdigest() == headers["X-Mankosh-Signature"]

Option 2 — Polling API (you pull orders)

All calls are POST to the endpoint below with header Authorization: Bearer <API key> and a JSON body.

https://ta6l4ltymw6nywcfi46jwhfudy0mmtms.lambda-url.eu-north-1.on.aws/
BodyReturns
{"action":"api.orders","venue":"<venue id>","since":1730650000000}Orders newer than since (ms timestamp), newest first, up to 100
{"action":"api.status","venue":"<venue id>","ref":"<order ref>","status":"accepted"}Sets status: accepted, ready, done or cancelled
{"action":"api.menu","venue":"<venue id>"}The menu with item and option ids
curl -X POST https://ta6l4ltymw6nywcfi46jwhfudy0mmtms.lambda-url.eu-north-1.on.aws/ \
  -H "Authorization: Bearer mk_..." -H "Content-Type: application/json" \
  -d '{"action":"api.orders","venue":"your-venue-id","since":0}'

Option 3 — No-code: Zapier or Make

Connect orders to Google Sheets, Slack, e-mail, Square, Lightspeed, Shopify POS, Loyverse and hundreds of other tools without code:

  1. Zapier: create a Zap with trigger Webhooks by Zapier → Catch Hook. Make: create a scenario with Webhooks → Custom webhook.
  2. Copy the webhook URL it gives you and paste it in the dashboard → Orders → webhook URL. Save.
  3. Send a test order from your menu page, then map the fields (table, items, total) to the action you want.

Telegram for a staff group

Add @mankoshMenuBot to your staff group, send /id in the group, paste the number (it starts with -100) into the dashboard → Orders → Telegram chat id.

Need a direct integration with your POS? Write to the bot and tell us which system you use.