Download OpenAPI specification:
The OktoPOS Manager OrderAPI provides a way to send orders into the OktoPOS Manager from third party applications.
All functions in this API require a valid authentication token. You can find
this token in your instance of OktoPOS Manager in OktoPOS -> System.
The OktoPOS Manager can only process orders with known articles identified by its ID. Also distribution channels and tax rates need to be identifiable. These information are available in the Article-Api. See article/openapi.yaml.
| orderId required | string unique id of this order in sending system |
required | object (Payment) |
object (Customer) | |
object (Location) | |
required | Array of objects (Item) A list of order items |
| status required | string |
required | object (PurchaseTime) A datetime object with a separate named time zone. |
object (Pickup) | |
| orderType | string Enum: "LOCAL" "PICKUP" "DELIVERY" "SHIPPING" Type of order. Used to determine tax and handling. |
Array of objects (TipTransaction) list of tip transactions | |
| sessionToken | string feature for multiple related orders. |
| intermediary | string/^[\w\d\. \-]+$/u The intermediary, marketplace or third party platform this specific order was generated on. |
{- "internalId": 12345
}[- {
- "orderId": "04eee9db-f6a8-4132-8af2-3d262fd48fc5",
- "payment": {
- "referenceId": "HH123456",
- "paymentMethod": "CREDIT_CARD",
- "price": {
- "value": "19.95",
- "currency": "EUR"
}, - "status": "paid",
- "paymentReceived": "2017-07-21T17:32:28Z"
}, - "customer": {
- "gender": "male",
- "givenName": "John",
- "familyName": "Doe",
- "phone": "040123456",
- "email": "john.doe@doe.com",
- "address": {
- "additionalAddress": "second floor backdoor",
- "street": "Main Street",
- "houseNumber": "66A",
- "zip": "25451",
- "city": "Hamburg"
}
}, - "location": {
- "table": 27,
- "seat": 2
}, - "items": [
- {
- "basketItemId": 5,
- "mainBasketItemId": 5,
- "productId": "80e1603f-4b0c-40e0-a4df-37f5003a891b",
- "externalId": 123,
- "name": "Pizza Hawaii",
- "distributionChannel": {
- "dcId": 34,
- "name": "INHOUSE"
}, - "quantity": 3,
- "price": {
- "value": "19.95",
- "currency": "EUR"
}, - "pricePerUnit": {
- "value": "19.95",
- "currency": "EUR"
}, - "tax": {
- "taxRateId": 23,
- "taxRateValue": 19.31,
- "taxRateCode": "A",
- "taxValue": {
- "value": "19.95",
- "currency": "EUR"
}
}, - "comment": "medium rare"
}
], - "status": "ready",
- "purchaseTime": {
- "timestamp": "2021-01-18T10:22:12Z",
- "timezone": "Europe/Berlin"
}, - "pickup": {
- "timestamp": "2021-01-11T14:15:00",
- "timezone": "Europe/Berlin",
- "asapDelivery": false,
- "pickupToken": "HH01"
}, - "orderType": "DELIVERY",
- "tipTransactions": [
- {
- "amount": 12.99,
- "type": "PAID",
- "userId": "user-123",
- "paidWith": "CREDIT_CARD",
- "created": {
- "timestamp": "2021-01-18T10:22:12Z",
- "timezone": "Europe/Berlin"
}, - "notice": "Example Notice"
}
], - "sessionToken": "cf78d2dd-25bc-45b9-a591-fd9f852d79f6",
- "intermediary": "Fancy-Food-Platform"
}
]| orderId required | integer The ID of the order in OktoPOS Manager. Given when creating the order using order/create. |
| status required | string |
| payload | object Information about status change, this could be
|
{- "success": true
}