Download OpenAPI specification:Download
enfore API for managing sales orders
A sales order draft is a draft object that can, once all data has been provided, be converted into a sales order.
During the shopping process, a sales order draft is used to hold the "not yet final" basket that is built-up at the register/online store by scanning/adding items and other information (e.g., customer name).
Returns sales order drafts, sorted in ascending order by creation order date and time.
org-id required | string ID of the organization whose data is being accessed. |
from required | string <date-time> Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
to required | string <date-time> Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
limit | integer <int64> [ 1 .. 5000 ] Max number of objects to be returned per page.
Note that both the |
offset | integer <int64> >= 0 Offset of items and problems of where to start the next page.
Similar to limit and offset in SQL, one would obtain the second page with |
sales_channel_id | string When specified, only sales order drafts for the specified sales channel are returned. |
number | string When specified, only sales order drafts with the specified number are returned. |
Data successfully returned
Invalid parameters were sent by the client
Credentials missing or not sufficient
Production
{- "items": [
- {
- "id": "string",
- "number": "string",
- "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
], - "sales_channel": "string"
}
], - "problems": [
- {
- "title": "string",
- "detail": "string",
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
additional_invoice_information | Array of objects (AdditionalInvoiceInformation) |
sales_channel required | string The ID of the sales channel that the order was created on/received from |
Sales order draft is successfully created.
Bad request, for example request body is not SalesOrderDraft.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect.
Production
{- "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
], - "sales_channel": "string"
}
{- "id": "string",
- "number": "string",
- "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
], - "sales_channel": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
Sales order draft is successfully returned
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Failure on converting resource to API format
Production
{- "id": "string",
- "number": "string",
- "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
], - "sales_channel": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
Sales order draft info was successfully deleted.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Production
{- "title": "string",
- "detail": "string",
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
@type required | string Default: "SalesOrderDraftFinalizationRequest" SalesOrderDraftFinalizationRequest |
Sales order draft was successfully updated.
Bad request, for example request body is not SalesOrderDraftUpdateRequest.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Production
{- "@type": "SalesOrderDraftFinalizationRequest"
}
{- "title": "string",
- "detail": "string",
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
Customer info is successfully returned
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Failure on converting resource to API format
Production
{- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "invoice_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_email": "user@example.com",
- "contact_phone": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
individual | string [ 1 .. 256 ] characters The ID of the individual contact that placed the order. |
individual_name | string The name of the individual contact that placed the order. |
organization | string [ 1 .. 256 ] characters The ID of the organization contact on whose behalf the order was placed. |
organization_name | string The name of the organization contact on whose behalf the order was placed. |
invoice_address | object (Address) An address of a location/destination |
contact_address | object (Address) An address of a location/destination |
contact_email | string <email> |
contact_phone | string <phone> |
Customer info is successfully updated.
Bad request, for example request body is not SalesOrderDraftCustomerInformation.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect.
Production
{- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "invoice_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_email": "user@example.com",
- "contact_phone": "string"
}
{- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "invoice_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_email": "user@example.com",
- "contact_phone": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
Customer info was successfully deleted.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Production
{- "title": "string",
- "detail": "string",
}
Returns items of the specified sales order draft, sorted in ascending order by creation order date and time.
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
from required | string <date-time> Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
to required | string <date-time> Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
limit | integer <int64> [ 1 .. 5000 ] Max number of objects to be returned per page.
Note that both the |
offset | integer <int64> >= 0 Offset of items and problems of where to start the next page.
Similar to limit and offset in SQL, one would obtain the second page with |
Data successfully returned
Invalid parameters were sent by the client
Credentials missing or not sufficient
Production
{- "items": [
- {
- "id": "string",
- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "price": {
- "price": {
- "value": 0,
- "unit": "AUD"
}, - "price_is_gross": true
}, - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
], - "problems": [
- {
- "title": "string",
- "detail": "string",
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
product required | string The ID of the product that is being sold. |
lot | string The ID of the lot that the sold products belong to. |
quantity required | object (Quantity) A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg". |
depending_items | Array of objects (SalesOrderItemDependency) List of items that depend on this item. An item depends on another item, if it cannot exist alone. There are different types of dependencies, therefore each element in the list is a pair of the id of the depending item and the type of the dependency. |
price | object (SalesOrderDraftItemPrice) The set of information defining the price of a single item. Given price can be net or gross. If the price is defined it is treated as fixed (manual) price and overrides any price defined by the product. In that case no price calculation will be performed, though markups or discounts might be calculated and applied. |
additional_invoice_information | Array of objects (AdditionalInvoiceInformation) |
Item is successfully created.
Bad request, for example request body is not SalesOrderDraftItem.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect.
Production
{- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "price": {
- "price": {
- "value": 0,
- "unit": "AUD"
}, - "price_is_gross": true
}, - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
{- "id": "string",
- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "price": {
- "price": {
- "value": 0,
- "unit": "AUD"
}, - "price_is_gross": true
}, - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
item-id required | string ID of the item |
Item is successfully returned
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Failure on converting resource to API format
Production
{- "id": "string",
- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "price": {
- "price": {
- "value": 0,
- "unit": "AUD"
}, - "price_is_gross": true
}, - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
item-id required | string ID of the item |
product required | string The ID of the product that is being sold. |
lot | string The ID of the lot that the sold products belong to. |
quantity required | object (Quantity) A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg". |
depending_items | Array of objects (SalesOrderItemDependency) List of items that depend on this item. An item depends on another item, if it cannot exist alone. There are different types of dependencies, therefore each element in the list is a pair of the id of the depending item and the type of the dependency. |
price | object (SalesOrderDraftItemPrice) The set of information defining the price of a single item. Given price can be net or gross. If the price is defined it is treated as fixed (manual) price and overrides any price defined by the product. In that case no price calculation will be performed, though markups or discounts might be calculated and applied. |
additional_invoice_information | Array of objects (AdditionalInvoiceInformation) |
Item is successfully updated.
Bad request, for example request body is not SalesOrderDraftItem.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect.
Production
{- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "price": {
- "price": {
- "value": 0,
- "unit": "AUD"
}, - "price_is_gross": true
}, - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
{- "id": "string",
- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "price": {
- "price": {
- "value": 0,
- "unit": "AUD"
}, - "price_is_gross": true
}, - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
item-id required | string ID of the item |
Item was successfully deleted.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Production
{- "title": "string",
- "detail": "string",
}
Returns pickups of the specified sales order draft, sorted in ascending order by creation order date and time.
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
Data successfully returned
Invalid parameters were sent by the client
Credentials missing or not sufficient
Production
{- "items": [
- {
- "id": "string",
- "items": [
- "string"
], - "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
], - "problems": [
- {
- "title": "string",
- "detail": "string",
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
items required | Array of strings The IDs of the items that are part of the pickup. Those items must be part of the same SalesOrderDraft that the SalesOrderDraftPickup belongs to. |
pickup_location | object (PickupLocation) |
pickup_time_range | object (TimeRange) |
pager_number | string The number/identifier of a paging device for notification of the pickup |
collector_information | object (PickupCollectorInformation) |
Pickup is successfully created.
Bad request, for example request body is not SalesOrderDraftPickups.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect (eg., references non-existing item).
Production
{- "items": [
- "string"
], - "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
{- "id": "string",
- "items": [
- "string"
], - "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
pickup-id required | string ID of the pickup |
Pickup is successfully returned
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Failure on converting resource to API format
Production
{- "id": "string",
- "items": [
- "string"
], - "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
pickup-id required | string ID of the pickup |
items required | Array of strings The IDs of the items that are part of the pickup. Those items must be part of the same SalesOrderDraft that the SalesOrderDraftPickup belongs to. |
pickup_location | object (PickupLocation) |
pickup_time_range | object (TimeRange) |
pager_number | string The number/identifier of a paging device for notification of the pickup |
collector_information | object (PickupCollectorInformation) |
Pickup is successfully updated.
Bad request, for example request body is not SalesOrderDraftPickup.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect (eg., references non-existing item).
Production
{- "items": [
- "string"
], - "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
{- "id": "string",
- "items": [
- "string"
], - "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
pickup-id required | string ID of the pickup |
Pickup was successfully deleted.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Production
{- "title": "string",
- "detail": "string",
}
Returns deliveries the specified sales order draft, sorted in ascending order by creation order date and time.
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
Data successfully returned
Invalid parameters were sent by the client
Credentials missing or not sufficient
Production
{- "items": [
- {
- "id": "string",
- "items": [
- "string"
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "recipient_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
], - "problems": [
- {
- "title": "string",
- "detail": "string",
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
items required | Array of strings The IDs of the items that are part of the delivery. Those items must be part of the same SalesOrderDraft that the SalesOrderDraftDelivery belongs to. |
delivery_address | object (Address) An address of a location/destination |
delivery_time_range | object (TimeRange) |
recipient_information | object (DeliveryRecipientInformation) |
shipping_location | string The ID of the service location from which the shipment will go out. |
shipping_service | string The shipment service ID to be used for the delivery shipment |
Delivery is successfully created.
Bad request, for example request body is not SalesOrderDraftDelivery.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect (eg., references non-existing item).
Production
{- "items": [
- "string"
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "recipient_information": {
- "individual": "string",
- "organization": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
{- "id": "string",
- "items": [
- "string"
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "recipient_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
delivery-id required | string ID of the delivery |
Delivery is successfully returned
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Failure on converting resource to API format
Production
{- "id": "string",
- "items": [
- "string"
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "recipient_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
delivery-id required | string ID of the delivery |
items required | Array of strings The IDs of the items that are part of the delivery. Those items must be part of the same SalesOrderDraft that the SalesOrderDraftDelivery belongs to. |
delivery_address | object (Address) An address of a location/destination |
delivery_time_range | object (TimeRange) |
recipient_information | object (DeliveryRecipientInformation) |
shipping_location | string The ID of the service location from which the shipment will go out. |
shipping_service | string The shipment service ID to be used for the delivery shipment |
Delivery is successfully updated.
Bad request, for example request body is not SalesOrderDraftDelivery.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect (eg., references non-existing item).
Production
{- "items": [
- "string"
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "recipient_information": {
- "individual": "string",
- "organization": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
{- "id": "string",
- "items": [
- "string"
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "recipient_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-draft-id required | string ID of the sales order draft |
delivery-id required | string ID of the delivery |
Delivery was successfully deleted.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Production
{- "title": "string",
- "detail": "string",
}
A sales order is the seller-side representation of a customer's request to purchase one or multiple items.
A sales order is created when the checkout process for a basket has been completed. At that point, the items to be purchased, the customer and the necessary contact, fulfillment, and payment information have been collected.
Returns sales orders for the specified interval, sorted in ascending order by order date and time.
Since our platform was built as a distributed system, we are subject to the laws of the "Eventual consistency" model. This means that time periods close to the present may be unstable and could contain new items if the same time interval is queried again.
We therefore recommend that intervals that are close to the present time should be re-requested and verified at a later time.
org-id required | string ID of the organization whose data is being accessed. |
from required | string <date-time> Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
to required | string <date-time> Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
limit | integer <int64> [ 1 .. 5000 ] Max number of objects to be returned per page.
Note that both the |
offset | integer <int64> >= 0 Offset of items and problems of where to start the next page.
Similar to limit and offset in SQL, one would obtain the second page with |
sales_channel_id | string When specified, only sales orders for the specified sales channel are returned. |
number | string When specified, only sales orders with the specified number are returned. |
status | Array of strings (SalesOrderStatus) Items Enum: "NEW" "CONFIRMED" "REJECTED" "IN_PROCESS" "COMPLETED" "CANCELED" "ON_HOLD" When specified, only sales orders with one of the specified status values are returned. |
Data successfully returned
Invalid parameters were sent by the client
Credentials missing or not sufficient
Production
{- "items": [
- {
- "id": "string",
- "number": "string",
- "sales_channel": "string",
- "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
], - "transaction_date_and_time": "2025-03-25T16:57:48Z",
- "status": "NEW",
- "customer_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "invoice_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "items": [
- {
- "id": "string",
- "name": "string",
- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "undiscounted_gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "undiscounted_net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "discounts": [
- {
- "name": "string",
- "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "promotion_id": "string",
- "external_data": "string"
}
], - "taxes": [
- "CH_STANDARD_VAT_2008"
], - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
], - "fulfillment_information": {
- "aggregated_status": "NOT_NECESSARY",
- "fulfillments": [
- {
- "fulfillment_type": "PICKUP",
- "fulfillment_id": "string"
}
]
}, - "invoice_information": {
- "aggregated_status": "NOT_NECESSARY",
- "invoices": [
- "string"
]
}, - "invoices": [
- "string"
], - "discounts": [
- {
- "name": "string",
- "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "promotion_id": "string",
- "external_data": "string"
}
]
}
], - "problems": [
- {
- "title": "string",
- "detail": "string",
}
]
}
This endpoint is deprecated and will be removed in the future.
Sales orders cannot be created via this API but only via the enforePOS client UI.
Use PATCH /org/{org-id}/sales-order-drafts/{sales-order-draft-id}
with
a SalesOrderDraftFinalizationRequest
to finalize a sales order draft
so it can be opened and checked out via the enforePOS client.
org-id required | string ID of the organization whose data is being accessed. |
The "ID" of the sales order draft that is to be converted to a sales order
Sales order is successfully created.
Bad request, for example request body is not the ID for a SalesOrderDraft.
Credentials missing or not sufficient
Resource(s) not found or invalid identifier
Specified data is semantically incorrect.
Production
"string"
{- "id": "string",
- "number": "string",
- "sales_channel": "string",
- "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
], - "transaction_date_and_time": "2025-03-25T16:57:48Z",
- "status": "NEW",
- "customer_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "invoice_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "items": [
- {
- "id": "string",
- "name": "string",
- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "undiscounted_gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "undiscounted_net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "discounts": [
- {
- "name": "string",
- "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "promotion_id": "string",
- "external_data": "string"
}
], - "taxes": [
- "CH_STANDARD_VAT_2008"
], - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
], - "fulfillment_information": {
- "aggregated_status": "NOT_NECESSARY",
- "fulfillments": [
- {
- "fulfillment_type": "PICKUP",
- "fulfillment_id": "string"
}
]
}, - "invoice_information": {
- "aggregated_status": "NOT_NECESSARY",
- "invoices": [
- "string"
]
}, - "invoices": [
- "string"
], - "discounts": [
- {
- "name": "string",
- "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "promotion_id": "string",
- "external_data": "string"
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-id required | string ID of the sales order |
Sales order is successfully returned
Credentials missing or not sufficient
Sales order not found or invalid identifier
Failure on converting resource to API format
Production
{- "id": "string",
- "number": "string",
- "sales_channel": "string",
- "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
], - "transaction_date_and_time": "2025-03-25T16:57:48Z",
- "status": "NEW",
- "customer_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "invoice_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "items": [
- {
- "id": "string",
- "name": "string",
- "product": "string",
- "lot": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "undiscounted_gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "undiscounted_net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "discounts": [
- {
- "name": "string",
- "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "promotion_id": "string",
- "external_data": "string"
}
], - "taxes": [
- "CH_STANDARD_VAT_2008"
], - "depending_items": [
- {
- "depending_item_id": "string",
- "dependency_type": "UNKNOWN"
}
], - "additional_invoice_information": [
- {
- "type": "string",
- "text": [
- "string"
]
}
]
}
], - "fulfillment_information": {
- "aggregated_status": "NOT_NECESSARY",
- "fulfillments": [
- {
- "fulfillment_type": "PICKUP",
- "fulfillment_id": "string"
}
]
}, - "invoice_information": {
- "aggregated_status": "NOT_NECESSARY",
- "invoices": [
- "string"
]
}, - "invoices": [
- "string"
], - "discounts": [
- {
- "name": "string",
- "gross_amount": {
- "value": 0,
- "unit": "AUD"
}, - "net_amount": {
- "value": 0,
- "unit": "AUD"
}, - "promotion_id": "string",
- "external_data": "string"
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
sales-order-id required | string ID of the sales order |
Sales order status is successfully updated.
Bad request, for example request body is not SalesOrderStatus.
Credentials missing or not sufficient
Sales order not found or invalid identifier
Specified status is incompatible with the current status.
Production
{- "title": "string",
- "detail": "string",
}
Fulfillments
Returns pickups for the specified interval, sorted in ascending order by creation date and time.
org-id required | string ID of the organization whose data is being accessed. |
from required | string <date-time> Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
to required | string <date-time> Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
limit | integer <int64> [ 1 .. 5000 ] Max number of objects to be returned per page.
Note that both the |
offset | integer <int64> >= 0 Offset of items and problems of where to start the next page.
Similar to limit and offset in SQL, one would obtain the second page with |
sales_order_id | string When specified, only pickups for the specified sales order are returned. |
pickup_number | string When specified, only pickups with the specified pickup number are returned. |
pager_number | string When specified, only pickups with the specified pager number are returned. |
pickup_location_id | string When specified, only pickups for the specified pickup location are returned. |
status | Array of strings (PickupStatus) Items Enum: "PENDING" "PREPARED" "PICKED_UP" "CANCELED" When specified, only pickups with one of the specified status values are returned. |
Data successfully returned
Invalid parameters were sent by the client
Credentials missing or not sufficient
Production
{- "items": [
- {
- "id": "string",
- "status": "PENDING",
- "items": [
- {
- "id": "string",
- "product": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "sales_order": "string",
- "sales_order_item_id": "string"
}
], - "pickup_number": "string",
- "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:48Z",
- "end": "2025-03-25T16:57:48Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
], - "problems": [
- {
- "title": "string",
- "detail": "string",
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
pickup-id required | string The identifier of the pickup |
Pickup is successfully returned
Credentials missing or not sufficient
Pickup not found or invalid identifier
Failure on converting resource to API format
Production
{- "id": "string",
- "status": "PENDING",
- "items": [
- {
- "id": "string",
- "product": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "sales_order": "string",
- "sales_order_item_id": "string"
}
], - "pickup_number": "string",
- "pickup_location": {
- "service_location": "string",
- "service_area": "string"
}, - "pickup_time_range": {
- "start": "2025-03-25T16:57:49Z",
- "end": "2025-03-25T16:57:49Z"
}, - "pager_number": "string",
- "collector_information": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "contact": "string"
}
}
org-id required | string ID of the organization whose data is being accessed. |
pickup-id required | string The identifier of the pickup |
Pickup status is successfully updated.
Bad request, for example malformed request body.
Credentials missing or not sufficient
Pickup not found or invalid identifier
Specified status is incompatible with the current status of the pickup.
Production
{- "title": "string",
- "detail": "string",
}
Returns deliveries for the specified interval, sorted in ascending order by creation date and time.
org-id required | string ID of the organization whose data is being accessed. |
from required | string <date-time> Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
to required | string <date-time> Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z |
limit | integer <int64> [ 1 .. 5000 ] Max number of objects to be returned per page.
Note that both the |
offset | integer <int64> >= 0 Offset of items and problems of where to start the next page.
Similar to limit and offset in SQL, one would obtain the second page with |
sales_order_id | string When specified, only deliveries for the specified sales order are returned. |
shipping_location_id | string When specified, only deliveries for the specified shipping location are returned. |
shipping_service_id | string When specified, only deliveries for the specified shipping service are returned. |
status | Array of strings (DeliveryStatus) Items Enum: "PENDING" "PREPARED" "SHIPPED" "RECEIVED" "CANCELED" When specified, only deliveries with one of the specified status values are returned. |
Data successfully returned
Invalid parameters were sent by the client
Credentials missing or not sufficient
Production
{- "items": [
- {
- "id": "string",
- "status": "PENDING",
- "items": [
- {
- "id": "string",
- "product": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "sales_order": "string",
- "sales_order_item_id": "string"
}
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:49Z",
- "end": "2025-03-25T16:57:49Z"
}, - "recipient_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
], - "problems": [
- {
- "title": "string",
- "detail": "string",
}
]
}
org-id required | string ID of the organization whose data is being accessed. |
delivery-id required | string The identifier of the delivery |
Delivery is successfully returned
Credentials missing or not sufficient
Delivery not found or invalid identifier
Failure on converting resource to API format
Production
{- "id": "string",
- "status": "PENDING",
- "items": [
- {
- "id": "string",
- "product": "string",
- "quantity": {
- "value": 0,
- "unit": "ENERGY_JOULES"
}, - "sales_order": "string",
- "sales_order_item_id": "string"
}
], - "delivery_address": {
- "full_address": "string",
- "recipient_name": "string",
- "care_of": "string",
- "street_name": "string",
- "street_number": "string",
- "additional": "string",
- "city": "string",
- "zip": "string",
- "country_code": "AF"
}, - "delivery_time_range": {
- "start": "2025-03-25T16:57:49Z",
- "end": "2025-03-25T16:57:49Z"
}, - "recipient_information": {
- "individual": "string",
- "individual_name": "string",
- "organization": "string",
- "organization_name": "string",
- "contact_email": "user@example.com",
- "contact_phone": "string"
}, - "shipping_location": "string",
- "shipping_service": "string"
}
org-id required | string ID of the organization whose data is being accessed. |
delivery-id required | string The identifier of the delivery |
Delivery status is successfully updated.
Bad request, for example malformed request body.
Credentials missing or not sufficient
Delivery not found or invalid identifier
Specified status is incompatible with the current status of the pickup.
Production
{- "title": "string",
- "detail": "string",
}