Skip to content

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 ConnectorPOST {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