Order requests¶
Submit orders for staff review in Manager before they become pharmacy orders.
Use this when external systems should not create orders directly (e.g. prescription review, manual approval).
Telemedicine / shop-only integrations
If you only receive a shop URL + API key (no Manager hostname), use the dedicated guide:
External Telemedicine Connector — POST {shop}/api/v1/external-order with auto-injected org_id / shop_id.
v2 — JWT¶
POST /api/v2/public/orgs/{orgId}/order-requests
Authorization: Bearer {token}
Content-Type: application/json
Scope: order_requests.write
v1 — API key only¶
POST /api/v1/public/orgs/{orgId}/order-requests
apikey: {your_api_key}
Content-Type: application/json
No JWT required. Send your API key in the apikey header (or X-API-Key).
Both versions use the same JSON envelope.
Request body¶
{
"external_reference": "POS-123",
"source": "pos-system",
"payload": {
"shop_id": "shop1",
"customer_name": "Max Mustermann",
"customer_email": "max@example.com",
"total_amount": 42.99,
"items": [
{
"name": "Product name",
"quantity": 5,
"price": 8.59,
"p1_id": "12345"
}
]
}
}
Top-level fields¶
| Field | Required | Description |
|---|---|---|
external_reference |
Recommended | Your idempotency / trace reference |
source |
Recommended | System name (e.g. woocommerce, jtl, n8n) |
payload |
Yes | Order details (see below) |
Payload fields¶
| Field | Required | Notes |
|---|---|---|
shop_id |
Yes | Must belong to {orgId} |
customer_email or customer_name |
Yes | At least one |
items[] |
Yes* | At least one line with quantity > 0 and name, p1_id, or product_id |
prescription_pdf_base64 |
Alt. | Base64 PDF instead of items |
prescription_pdf_url |
Alt. | URL to prescription PDF |
external_id |
No | Pre-assign external order id |
payment_status |
No | e.g. paid |
cash_on_pickup |
No | Boolean |
| Address fields | No | address_street, address_city, etc. |
Items use quantity here
Unlike direct order upsert (POST /orders), order-request line items use quantity, not qty.
Success response — 200 OK¶
{
"id": "7b8e6bef-75e0-40ea-8168-de30d1329972",
"external_reference": "POS-123",
"message": "Order request received.",
"status": "pending"
}
Staff approve requests in Manager → creates a full order.
Webhook¶
Subscribable event: order_request_submitted — see Webhooks.
When to use order-requests vs orders¶
| Use | Endpoint |
|---|---|
| Staff must review first | POST …/order-requests |
| Direct order sync (POS already validated) | POST …/orders |