Skip to main content
POST
/
deliveries
/
custom
curl --request POST \
  --url https://api.comstruct.com/v1/deliveries/custom \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "jsonContent": {
    "deliveryNumber": "LS-2024-001",
    "customerName": "Musterbau GmbH",
    "items": [
      {
        "title": "Beton C30/37",
        "quantity": 25.5,
        "unit": "m3"
      }
    ]
  }
}
'
{
  "success": true,
  "message": "Delivery note has no changes"
}

Documentation Index

Fetch the complete documentation index at: https://developer.comstruct.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

This endpoint allows suppliers to submit delivery notes in custom, non-standardized formats to comstruct. The data is automatically processed by system-specific processors and converted into comstruct deliveries. The endpoint accepts either JSON or XML as input format.

Input format

The request body can be sent in two ways:
VariantContent-TypeBody
JSON wrapperapplication/json{ "jsonContent": { ... } } or { "xmlContent": "<xml>...</xml>" }
Raw XML stringapplication/xml<delivery>...</delivery>
If you send raw JSON or XML content as a string, comstruct automatically detects the format based on the content.

Example calls

Send JSON delivery note

curl -X POST "https://api.comstruct.com/v1/deliveries/custom" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonContent": {
      "deliveryNumber": "DN-2024-001",
      "customerName": "Construction Corp",
      "projectNumber": "PRJ-001",
      "deliveryDate": "2024-06-15T08:30:00Z",
      "items": [
        {
          "title": "Concrete C30/37",
          "productNumber": "CONC-C30",
          "quantity": 25.5,
          "unit": "m3"
        },
        {
          "title": "Reinforcement steel B500S",
          "productNumber": "STEEL-B500S",
          "quantity": 3.2,
          "unit": "t"
        }
      ]
    }
  }'

Send XML delivery note

curl -X POST "https://api.comstruct.com/v1/deliveries/custom" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "xmlContent": "<delivery><number>DN-2024-002</number><customer>Construction Corp</customer><date>2024-06-15</date><items><item><title>Concrete C30/37</title><quantity>25.5</quantity><unit>m3</unit></item></items></delivery>"
  }'

Successful response

{
  "success": true,
  "message": "Delivery note uploaded successfully",
  "deliveryNumber": "DN-2024-001"
}

Response codes

CodeDescription
201Delivery note successfully processed and created
200Delivery note received but no changes (e.g. duplicate)
400Invalid input or missing supplier ID
401Unauthorized - missing or invalid API key
403Forbidden - missing scope deliveries:write
500Internal server error

Authorizations

X-API-Key
string
header
required

API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.

Jeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.

Body

Lieferscheindaten im JSON- oder XML-Format

xmlContent
string

XML-Inhalt des Lieferscheins (alternativ zu jsonContent)

jsonContent

JSON-Inhalt des Lieferscheins (alternativ zu xmlContent)

Response

Lieferschein wurde empfangen, aber nicht erstellt (z.B. Duplikat oder keine Änderungen).

success
boolean
Example:

true

message
string
Example:

"Delivery note has no changes"