enfore Sales and Purchasing API (0.8.1)

Download OpenAPI specification:Download

enfore API for managing sales and purchasing

Goods Procurements

Iterate over procurements.

Returns procurements, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
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 items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

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 limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

number
string

When specified, only procurements with the specified number are returned.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

get/org/{org-id}/goods-procurements

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/goods-procurements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Load a goods procurement by its identifier.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

goods-procurement-id
required
string

ID of the goods procurement

Responses

200

GoodsProcurement is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/goods-procurements/{goods-procurement-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/goods-procurements/{goods-procurement-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "number_issued_by_supplier": "string",
  • "supplier_id":
    {
    },
  • "issue_date": "2025-03-25T16:20:15Z",
  • "procurement_for":
    [
    ],
  • "deliveries":
    [
    ],
  • "invoice_address":
    {
    },
  • "delivery_address":
    {
    },
  • "creator_staff_id": "string",
  • "responsible_staff_id": "string",
  • "note": "string",
  • "status": "ISSUED",
  • "cancelation_info":
    {
    }
}

update of a goods procurement by its identifier.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

goods-procurement-id
required
string

ID of the goods procurement

Request Body schema: application/json
number_issued_by_supplier
string [ 1 .. 256 ] characters

A "number" identifier that the supplier uses in communications to identify this GoodsProcurement.

status
string (GoodsProcurementStatusType)
Enum: "ISSUED" "RECEIVED" "CONFIRMED" "IN_PROCESS" "COMPLETED" "CANCELED"
cancelation_info
object (GoodsProcurementCancelationInfo)

The reason why GoodsProcurement was canceled.

Responses

200

GoodsProcurement is successfully updated.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

patch/org/{org-id}/goods-procurements/{goods-procurement-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/goods-procurements/{goods-procurement-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "number_issued_by_supplier": "string",
  • "status": "ISSUED",
  • "cancelation_info":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "number_issued_by_supplier": "string",
  • "supplier_id":
    {
    },
  • "issue_date": "2025-03-25T16:20:15Z",
  • "procurement_for":
    [
    ],
  • "deliveries":
    [
    ],
  • "invoice_address":
    {
    },
  • "delivery_address":
    {
    },
  • "creator_staff_id": "string",
  • "responsible_staff_id": "string",
  • "note": "string",
  • "status": "ISSUED",
  • "cancelation_info":
    {
    }
}

Goods Procurements: Items

Iterate over the items of a goods procurement.

Returns items of the specified goods procurement, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

goods-procurement-id
required
string

ID of the goods procurement

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

get/org/{org-id}/goods-procurements/{goods-procurement-id}/items

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/goods-procurements/{goods-procurement-id}/items

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Goods Procurements: Subscriptions

Get a list of registered consumers for goods procurement events.

Retrieve all currently active event subscriptions.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Responses

200

List of registrations

403

Credentials missing or not sufficient

get/org/{org-id}/goods-procurement-subscriptions

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/goods-procurement-subscriptions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Register an event consumer with the API.

If the callback URL is already registered, we return the original subscription ID. We will continue attempting to send new items to registered subscriptions until they are deleted. In case we cannot reach the endpoint, we will apply an exponential backoff.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
callback_url
required
string <uri>

The callback URL where event notifications are to be delivered. It must be HTTPS to prevent man-in-the-middle attacks.

Responses

201

Registration of subscription successful (or already subscribed)

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

Callbacks

post<no summary>
post/org/{org-id}/goods-procurement-subscriptions

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/goods-procurement-subscriptions

Request samples

Content type
application/json
Copy
Expand all Collapse all

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Callback payload samples

Callback
POST: <no summary>
Content type
application/json
Copy
Expand all Collapse all
{
  • "org_id": "string",
  • "items":
    [
    ],
  • "problems":
    []
}

Delete a subscription for procurements

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

subscription-id
required
string

ID of the subscription to delete

Responses

204

Subscription was successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

delete/org/{org-id}/goods-procurement-subscriptions/{subscription-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/goods-procurement-subscriptions/{subscription-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Fulfillment Sales Order Drafts

Iterate over fulfillment sales order drafts.

Returns fulfillment sales order drafts, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
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 items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

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 limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

sales_channel_id
string

When specified, only fulfillment sales order drafts for the specified sales channel are returned.

number
string

When specified, only fulfillment sales order drafts with the specified number are returned.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/fulfillment-sales-order-drafts

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a new fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
sales_channel_id
required
string [ 1 .. 256 ] characters

The ID of the sales channel that the order belongs to.

invoice_address
object (Address)

An address of a location/destination

description
string

A short description given to the order by a user (e.g., cashier) for the pupose of identifying it later on (e.g., in the order switcher).

note
string

A human readable "note" text that will be displayed in the UI and on business documents.

Responses

200

Fulfillment sales order draft is successfully created.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

post/org/{org-id}/fulfillment-sales-order-drafts

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "sales_channel_id": "string",
  • "invoice_address":
    {
    },
  • "description": "string",
  • "note": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "sales_channel_id": "string",
  • "invoice_address":
    {
    },
  • "description": "string",
  • "note": "string"
}

Load a fulfillment sales order draft by its identifier.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Responses

200

Fulfillment sales order draft is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "sales_channel_id": "string",
  • "invoice_address":
    {
    },
  • "description": "string",
  • "note": "string"
}

Update a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Request Body schema: application/json
sales_channel_id
required
string [ 1 .. 256 ] characters

The ID of the sales channel that the order belongs to.

invoice_address
object (Address)

An address of a location/destination

description
string

A short description given to the order by a user (e.g., cashier) for the pupose of identifying it later on (e.g., in the order switcher).

note
string

A human readable "note" text that will be displayed in the UI and on business documents.

Responses

200

Fulfillment sales order draft is successfully updated.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

put/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "sales_channel_id": "string",
  • "invoice_address":
    {
    },
  • "description": "string",
  • "note": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "sales_channel_id": "string",
  • "invoice_address":
    {
    },
  • "description": "string",
  • "note": "string"
}

Delete a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Responses

204

Fulfillment sales order draft info was successfully deleted.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

delete/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Create a new fulfillment sales order draft including subresources

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
@type
required
string
Value: "FulfillmentSalesOrderDraftWithSubresources"
draft
required
object (FulfillmentSalesOrderDraft)
items
Array of objects (FulfillmentSalesOrderDraftItem)
customer_information
any (ContactInformation)

Information about a contact.

Depending on the type of contact (private person, organization, organization with representative) and whether the entities are modeled as contacts via the contacts API, different structures are used.

Note that this structure is used to reference plain contacts as well as contacts with a specific role such as customer or suppliers. Depending on the usage context, not all types of contact informations may be usable.

fulfillment_information
Array of any (FulfillmentInformation)

Responses

200

Fulfillment sales order draft is successfully created.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

post/org/{org-id}/fulfillment-sales-order-drafts-full

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts-full

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "@type": "FulfillmentSalesOrderDraftWithSubresources",
  • "draft":
    {
    },
  • "items":
    [
    ],
  • "customer_information":
    {
    },
  • "fulfillment_information":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "sales_channel_id": "string",
  • "invoice_address":
    {
    },
  • "description": "string",
  • "note": "string"
}

Fulfillment Sales Order Drafts: Customer info

Get the customer information of a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Responses

200

Customer info is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/customer

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/customer

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "AnonymousContactInformation",
  • "name": "string",
  • "contact_address":
    {
    },
  • "contact_email": "user@example.com",
  • "contact_phone": "string",
  • "unique_instance_id": "string",
  • "external_data": "string",
  • "user_level_identifiers":
    [
    ]
}

Update the customer information of a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Request Body schema: application/json
@type
required
string
Default: "AnonymousContactInformation"
name
string

The name of the contact.

contact_address
object (Address)

An address of a location/destination

contact_email
string <email>
contact_phone
string <phone>
unique_instance_id
string <= 256 characters

An optional identifier that can be present on a contact reference that was created by an external system (e.g., via API or ProvideContact-CUWO).

external_data
string <= 256 characters

Optional external data that can be present on a contact reference that was created by an external system (e.g., via API or ProvideContact-CUWO).

user_level_identifiers
Array of objects (LabeledIdentifier)

A list of identifiers of the contact that should be shown to the user given the context the contact is used in.

Responses

200

Customer info is successfully updated.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

put/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/customer

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/customer

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "AnonymousContactInformation",
  • "name": "string",
  • "contact_address":
    {
    },
  • "contact_email": "user@example.com",
  • "contact_phone": "string",
  • "unique_instance_id": "string",
  • "external_data": "string",
  • "user_level_identifiers":
    [
    ]
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "AnonymousContactInformation",
  • "name": "string",
  • "contact_address":
    {
    },
  • "contact_email": "user@example.com",
  • "contact_phone": "string",
  • "unique_instance_id": "string",
  • "external_data": "string",
  • "user_level_identifiers":
    [
    ]
}

Remove the customer information from a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Responses

204

Customer info was successfully deleted.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

delete/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/customer

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/customer

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Fulfillment Sales Order Drafts: Fulfillment info

Get list of all fulfillment information objects of a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Responses

200

List is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a fulfillment information to a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Request Body schema: application/json
@type
required
string
fulfillment_location_id
required
string [ 1 .. 256 ] characters

The ID of the ServiceLocation where the fulfillment is performed.

Fulfillment of orders is always carried out at a ServiceLocation (branch) of an organisation. This is not necessarily the ServiceLocation where the order has been placed.

fulfillment_processing_location_id
required
string [ 1 .. 256 ] characters

The ID of the ProcessingLocation where the fulfillment is performed.

scheduled_pickup_time
object (TimeRange)
collector
any (ContactInformation)

Information about a contact.

Depending on the type of contact (private person, organization, organization with representative) and whether the entities are modeled as contacts via the contacts API, different structures are used.

Note that this structure is used to reference plain contacts as well as contacts with a specific role such as customer or suppliers. Depending on the usage context, not all types of contact informations may be usable.

pager_id
string

For pickups with notification by pager the ID to be used.

Responses

200

Fulfillment info is successfully created.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

post/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "PickupFulfillmentInformation",
  • "fulfillment_location_id": "string",
  • "fulfillment_processing_location_id": "string",
  • "scheduled_pickup_time":
    {
    },
  • "collector":
    {
    },
  • "pager_id": "string"
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "PickupFulfillmentInformation",
  • "id": "string",
  • "fulfillment_location_id": "string",
  • "fulfillment_processing_location_id": "string",
  • "scheduled_pickup_time":
    {
    },
  • "collector":
    {
    },
  • "pager_id": "string",
  • "pickup_code": "string"
}

Get a fulfillment information of a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

fulfillment-id
required
string

ID of the fulfillment info

Responses

200

Fulfillment info is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments/{fulfillment-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments/{fulfillment-id}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "PickupFulfillmentInformation",
  • "id": "string",
  • "fulfillment_location_id": "string",
  • "fulfillment_processing_location_id": "string",
  • "scheduled_pickup_time":
    {
    },
  • "collector":
    {
    },
  • "pager_id": "string",
  • "pickup_code": "string"
}

Update a fulfillment information of a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

fulfillment-id
required
string

ID of the fulfillment info

Request Body schema: application/json
@type
required
string
fulfillment_location_id
required
string [ 1 .. 256 ] characters

The ID of the ServiceLocation where the fulfillment is performed.

Fulfillment of orders is always carried out at a ServiceLocation (branch) of an organisation. This is not necessarily the ServiceLocation where the order has been placed.

fulfillment_processing_location_id
required
string [ 1 .. 256 ] characters

The ID of the ProcessingLocation where the fulfillment is performed.

scheduled_pickup_time
object (TimeRange)
collector
any (ContactInformation)

Information about a contact.

Depending on the type of contact (private person, organization, organization with representative) and whether the entities are modeled as contacts via the contacts API, different structures are used.

Note that this structure is used to reference plain contacts as well as contacts with a specific role such as customer or suppliers. Depending on the usage context, not all types of contact informations may be usable.

pager_id
string

For pickups with notification by pager the ID to be used.

Responses

200

Fulfillment info is successfully updated.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

put/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments/{fulfillment-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments/{fulfillment-id}

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "PickupFulfillmentInformation",
  • "fulfillment_location_id": "string",
  • "fulfillment_processing_location_id": "string",
  • "scheduled_pickup_time":
    {
    },
  • "collector":
    {
    },
  • "pager_id": "string"
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "PickupFulfillmentInformation",
  • "id": "string",
  • "fulfillment_location_id": "string",
  • "fulfillment_processing_location_id": "string",
  • "scheduled_pickup_time":
    {
    },
  • "collector":
    {
    },
  • "pager_id": "string",
  • "pickup_code": "string"
}

Remove a fulfillment information from a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

fulfillment-id
required
string

ID of the fulfillment info

Responses

204

Fulfillment info was successfully deleted.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

delete/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments/{fulfillment-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/fulfillments/{fulfillment-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Fulfillment Sales Order Drafts: Items

Iterate over the items of a fulfillment sales order draft.

Returns items of the specified fulfillment sales order draft, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

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 limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new item to a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

Request Body schema: application/json
id
string [ 1 .. 256 ] characters

The technical identifier of the object. Assigned by the enfore platform on creation of the object and not changeable afterwards.

product
required
object (ProductReference)
lot_id
string [ 1 .. 256 ] characters

The ID of the lot from which the sold units are taken.

unit
required
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

number_of_units
required
integer <int64>

The number of units as specified by "unit".

pricing_configuration
object (LineItemPricingConfiguration)
options
Array of objects (SalesOrderItemOption)

The options configured for the line item. Only used when the product is a BTO product with options.

extra_charges
Array of objects (SalesOrderItemExtraCharge)

The extra charges configured for the line item.

fulfillment_information
Array of objects (SalesOrderItemFulfillmentInformation)

Array of SalesOrderItemFulfillmentInformation structures that define what number of units of this line item are part of which fulfillment.

barcode
object (Barcode)

Data structure holding information about a barcode.

Responses

200

Item is successfully created.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

post/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "product":
    {
    },
  • "lot_id": "string",
  • "unit":
    {
    },
  • "number_of_units": 0,
  • "pricing_configuration":
    {
    },
  • "options":
    [
    ],
  • "extra_charges":
    [
    ],
  • "fulfillment_information":
    [
    ],
  • "barcode":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "product":
    {
    },
  • "lot_id": "string",
  • "unit":
    {
    },
  • "number_of_units": 0,
  • "pricing_configuration":
    {
    },
  • "options":
    [
    ],
  • "extra_charges":
    [
    ],
  • "fulfillment_information":
    [
    ],
  • "barcode":
    {
    }
}

Load an item of a fulfillment sales order draft.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

item-id
required
string

ID of the fulfillment sales order draft item

Responses

200

Item is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items/{item-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items/{item-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "product":
    {
    },
  • "lot_id": "string",
  • "unit":
    {
    },
  • "number_of_units": 0,
  • "pricing_configuration":
    {
    },
  • "options":
    [
    ],
  • "extra_charges":
    [
    ],
  • "fulfillment_information":
    [
    ],
  • "barcode":
    {
    }
}

Update an item of a fulfillment sales order draft.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

item-id
required
string

ID of the fulfillment sales order draft item

Request Body schema: application/json
id
string [ 1 .. 256 ] characters

The technical identifier of the object. Assigned by the enfore platform on creation of the object and not changeable afterwards.

product
required
object (ProductReference)
lot_id
string [ 1 .. 256 ] characters

The ID of the lot from which the sold units are taken.

unit
required
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

number_of_units
required
integer <int64>

The number of units as specified by "unit".

pricing_configuration
object (LineItemPricingConfiguration)
options
Array of objects (SalesOrderItemOption)

The options configured for the line item. Only used when the product is a BTO product with options.

extra_charges
Array of objects (SalesOrderItemExtraCharge)

The extra charges configured for the line item.

fulfillment_information
Array of objects (SalesOrderItemFulfillmentInformation)

Array of SalesOrderItemFulfillmentInformation structures that define what number of units of this line item are part of which fulfillment.

barcode
object (Barcode)

Data structure holding information about a barcode.

Responses

200

Item is successfully updated.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

put/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items/{item-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items/{item-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "product":
    {
    },
  • "lot_id": "string",
  • "unit":
    {
    },
  • "number_of_units": 0,
  • "pricing_configuration":
    {
    },
  • "options":
    [
    ],
  • "extra_charges":
    [
    ],
  • "fulfillment_information":
    [
    ],
  • "barcode":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "product":
    {
    },
  • "lot_id": "string",
  • "unit":
    {
    },
  • "number_of_units": 0,
  • "pricing_configuration":
    {
    },
  • "options":
    [
    ],
  • "extra_charges":
    [
    ],
  • "fulfillment_information":
    [
    ],
  • "barcode":
    {
    }
}

Remove an item from a fulfillment sales order draft

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-draft-id
required
string

ID of the fulfillment sales order draft

item-id
required
string

ID of the fulfillment sales order draft item

Responses

204

Item was successfully deleted.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

delete/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items/{item-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-order-drafts/{fso-draft-id}/items/{item-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Fulfillment Sales Orders

Iterate over fulfillment sales orders.

Returns fulfillment sales orders, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
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 items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

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 limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

sales_channel_id
string

When specified, only fulfillment sales orders for the specified sales channel are returned.

number
string

When specified, only fulfillment sales orders with the specified number are returned.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/fulfillment-sales-orders

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-orders

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Load a fulfillment sales order by its identifier.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-id
required
string

ID of the fulfillment sales order

Responses

200

Fulfillment sales order is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/fulfillment-sales-orders/{fso-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-orders/{fso-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "sales_channel_id": "string",
  • "invoice_address":
    {
    },
  • "description": "string",
  • "note": "string",
  • "customer_information":
    {
    },
  • "fulfillment_information":
    [
    ],
  • "status": "UNCONFIRMED",
  • "kpis":
    {
    },
  • "cancelation_info":
    {
    }
}

Fulfillment Sales Orders: Items

Iterate over the items of a fulfillment sales order.

Returns items of the specified fulfillment sales order, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-id
required
string

ID of the fulfillment sales order

query Parameters
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 items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

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 limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/fulfillment-sales-orders/{fso-id}/items

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-orders/{fso-id}/items

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Load an item of a fulfillment sales order.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

fso-id
required
string

ID of the fulfillment sales order

item-id
required
string

ID of the fulfillment sales order item

Responses

200

Item is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/fulfillment-sales-orders/{fso-id}/items/{item-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/fulfillment-sales-orders/{fso-id}/items/{item-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "order_date_and_time": "2025-03-25T16:20:17Z",
  • "product":
    {
    },
  • "lot_id": "string",
  • "unit":
    {
    },
  • "number_of_units": 0,
  • "pricing_configuration":
    {
    },
  • "options":
    [
    ],
  • "extra_charges":
    [
    ],
  • "fulfillment_information":
    [
    ],
  • "scanned_barcode":
    {
    },
  • "status": "UNCONFIRMED",
  • "cancelations":
    [
    ],
  • "sort_key": "string"
}

OTC Sales Orders

Iterate over OTC sales orders.

Returns OTC sales orders, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
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 items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

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 limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

sales_channel_id
string

When specified, only OTC sales orders for the specified sales channel are returned.

number
string

When specified, only OTC sales orders with the specified number are returned.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/otc-sales-orders

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/otc-sales-orders

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Load an OTC sales order by its identifier.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

order-id
required
string

ID of the OTC sales order

Responses

200

OTC sales order is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/otc-sales-orders/{order-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/otc-sales-orders/{order-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "number": "string",
  • "sales_channel_id": "string",
  • "description": "string",
  • "note": "string",
  • "customer_information":
    {
    },
  • "status": "UNCONFIRMED",
  • "kpis":
    {
    },
  • "cancelation_info":
    {
    }
}

OTC Sales Orders: Items

Iterate over the items of an OTC sales order.

Returns items of the specified OTC sales order, sorted in ascending order by creation order date and time.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

order-id
required
string

ID of the OTC sales order

query Parameters
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 items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

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 limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/otc-sales-orders/{order-id}/items

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/otc-sales-orders/{order-id}/items

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Load an item of an OTC sales order.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

order-id
required
string

ID of the OTC sales order

item-id
required
string

ID of the OTC sales order item

Responses

200

Item is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

get/org/{org-id}/otc-sales-orders/{order-id}/items/{item-id}

Production

https://external.apis.enfore.com/sales-and-purchasing/org/{org-id}/otc-sales-orders/{order-id}/items/{item-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "order_date_and_time": "2025-03-25T16:20:17Z",
  • "product":
    {
    },
  • "lot_id": "string",
  • "unit":
    {
    },
  • "number_of_units": 0,
  • "pricing_configuration":
    {
    },
  • "options":
    [
    ],
  • "extra_charges":
    [
    ],
  • "scanned_barcode":
    {
    },
  • "status": "UNCONFIRMED",
  • "cancelations":
    [
    ],
  • "sort_key": "string"
}