Skip to main content
This is the right section for you if you own the goods and want to send work orders to your production, assembly or service provider. Examples are production orders, kitting or set assembly, and relabelling. Throughout this guide you will learn how to send work orders to the Procuros API. PHP examples are included but you will likely also want to look at the relevant API calls in the API reference.

Process

These are usually the steps taken when sending a work order to Procuros:
  1. Check, if this document should be sent via Procuros (see: Enabled Trade Partners)
  2. Verify this document has not already been sent (see: Tracking Document Status)
  3. Build the transaction payload to be sent via Procuros.
  4. Send the transaction payload via the Procuros API

Authentication

You will need an API token to authenticate. We use a bearer token which has to be included in each request you send to the API. Please read the Authentication section of our API reference for a detailed description.

Error Handling

The API will return a 2xx status code for successful requests. Anything else indicates an error. Please read the Errors section of our API reference for a detailed description plus examples of how to handle them.

Send work orders

The API call Send transaction is used to create transactions, including work orders. The following fields are required:
  • type (Transaction type. In this case WORK_ORDER)
  • content.header.workOrderIdentifier
  • content.header.workOrderDate
  • content.header.type (One of PRODUCTION, ASSEMBLY or SERVICE)
  • content.header.buyer and content.header.supplier, each with at least one identifier
  • content.outputItems (At least one item, each with a workOrderLineIdentifier)
A work order has two item levels:
  • outputItems are the items the work order produces, for example a finished gift set.
  • inputItems (inside each output item) are the items that the output item consumes, for example the jars and the box of the gift set.
Procuros sends the work order to the technicalRecipient. If you do not set a technicalRecipient, Procuros sends it to the buyer. All details can be found in the WORK_ORDER schema as described in the API reference. An example request would look like:

Mark Document Status

Finally, as per the instructions mentioned under Tracking Document Status you must now track the status of the document locally, based on the returned HTTP response. The document should be marked with either status TRANSMITTED or NO_ACTION. If there is an error with the document and it is not accepted, do not mark it with a status so it may be retried. For more information on retrying failed documents, please see: Retrying Documents. For example: