Skip to content

Create fulfillments for fulfillment order

POST
/merchants/{merchantCode}/fulfillmentOrders/{orderNumber}/fulfillments
curl --request POST \
--url 'https://order.shopgate.io/v1/merchants/example/fulfillmentOrders/example/fulfillments?createShippingLabels=true' \
--header 'Content-Type: application/json' \
--data '{ "fulfillments": [ { "status": "open", "carrier": "DHL", "serviceLevel": "sameDay", "tracking": "JJD000390007882823450", "fulfillmentPackages": [ { "status": "open", "serviceLevel": "sameDay", "package": "small", "fulfilledFromLocationCode": "DERetail001", "weight": 2000, "weightUnit": "g", "dimensions": { "length": 25, "lengthUnit": "mm", "width": 17.5, "widthUnit": "mm", "height": 10, "heightUnit": "mm" }, "tracking": "JJD000390007882823450", "pickUpBy": "Kim Muster", "labelUrl": "https://documentserver.internal/label/label.pdf", "labelType": "pdf", "fulfillmentDate": "2026-04-15T12:00:00Z", "packageItems": [ { "salesOrderLineItemCode": "386", "quantity": 1 } ] } ] } ] }'

Creating fulfillments for directShip fulfillmentOrders

Creating fulfillments for fulfillmentOrders of type directShip requires the following fields, although they are not marked as required by the API documentation:

  • serviceLevel
  • carrier
  • package code or package dimensions
  • weight Additionally, the fulfillmentOrder address has to contain the following fields:
  • firstName
  • lastName
  • address1
  • city
  • postalCode
  • emailAddress
  • country
merchantCode
required
string

Unique merchant code which represents the unique “merchant account”.

orderNumber
required
string

Unique order number

createShippingLabels
boolean
default: true

If set to true, one shipping label per fulfillment package will be created at the configured shipping provider(s)

Media typeapplication/json
object
fulfillments
required
Array<object>
object
status
required
string
Allowed values: open canceled inProgress fulfilled
carrier
string
Example
DHL
serviceLevel
string
Example
sameDay
tracking
string
Example
JJD000390007882823450
fulfillmentPackages
required
Array<object>
object
status
string
default: open
Allowed values: open inProgress readyForPickup inTransit fulfilled canceled
serviceLevel
string
Example
sameDay
package
string
Example
small
fulfilledFromLocationCode
required
string
Example
DERetail001
weight

The actual package weight.

number format: float
Example
2000
weightUnit
string
Allowed values: g lb
dimensions
object
length
number format: float
Example
25
lengthUnit
string
Allowed values: mm cm in
Example
cm
width
number format: float
Example
17.5
widthUnit
string
Allowed values: mm cm in
Example
cm
height
number format: float
Example
10
heightUnit
string
Allowed values: mm cm in
Example
cm
tracking
string
Example
JJD000390007882823450
pickUpBy
string
Example
Kim Muster
labelUrl
string
Example
https://documentserver.internal/label/label.pdf
labelType
string
Allowed values: pdf zpl
fulfillmentDate

The date and time of the package entering status “inTransit” or “fulfilled”.

string format: date-time
packageItems
required
Array<object>
object
salesOrderLineItemCode
required
string
Example
386
quantity
required
number
key
additional properties
any

Fulfillment groups created

Media typeapplication/json
object
ids
Array<number>
errors
Array<object>
object
entityIndex
number
entity
string
entityId
string
code
number
message
string
subentityPath
Array<string | null | number>
Example
{
"ids": [
100
]
}

Merchant or fulfillment order not found

Media typeapplication/json