Create fulfillment orders
const url = 'https://order.shopgate.io/v1/merchants/example/fulfillmentOrders';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"fulfillmentOrders":[{"orderNumber":"1293747-0001","externalCode":"000000274","salesOrderNumber":"1293747","locationCode":"DERetail001","customerId":"55c98b8e-1100-497c-8df6-4b4f0353ab2a","externalCustomerNumber":"C1756793","channel":{"code":"USRTL"},"type":"directShip","routeType":"standardDirectShip","status":"new","sequenceId":1,"expedited":true,"subTotal":0,"taxAmount":0,"tax2Amount":0,"shippingTotal":1,"total":1,"localeCode":"example","currencyCode":"EUR","notes":"Please wrap each item individually.","specialInstructions":"House behind the dumpster","fulfillmentOrderAddress":{"orderIndex":1,"type":"pickup","firstName":"Max","middleName":"René","lastName":"Muster","company":"Shopgate GmbH","address1":"Schloßstr. 10","address2":"Haus B","address3":"erste Etage","address4":null,"city":"Butzbach","region":"HE","postalCode":"\"35510\"","country":"DE","additionalFields":{"dhlPostBoxNumber":"example","dhlPostNumber":"example"},"phone":"+49 12345 6789 001","fax":"+49 12345 6789 002","mobile":"+49 12345 6789 003","emailAddress":"max.muster@shopgate.com"},"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}]}]}],"lineItems":[{"salesOrderLineItemCode":"386","lineItemGroupId":"386-1","sku":"1337-hoodie-dark-green","quantity":1,"status":"new","currencyCode":"EUR","price":79.99,"salePrice":65.99,"shippingAmount":1,"unitPromoAmount":0,"unitDiscountAmount":0,"taxAmount":1,"tax2Amount":1,"taxExempt":false,"discountAmount":0,"promoAmount":0,"overrideAmount":1,"extendedPrice":72,"product":{"code":"24-MB02","name":"Fusion Backpack","image":"https://myawesomeshop.com/images/img1.jpg","price":59.99,"salePrice":39.99,"currencyCode":"EUR","identifiers":{"mfgPartNum":"100-440-0.750-3434-A","upc":"\"72527273070\"","ean":"\"401234567890\"","isbn":"978-3-16-148410-0","sku":"UGG-BB-PUR-06","distiPartNum":"\"235454356363\""},"options":[{"code":"color","name":"Color","value":{"code":"red","name":"Red"}}]},"substitutionAllowed":true}],"fulfillmentSlot":{"id":"5_2019-09-03","date":"2019-09-03","weekday":"fri","from":"08:00","to":"08:59","status":"active","orderCount":10},"submitDate":"2019-09-02T09:02:57.733Z","acceptDate":"2019-09-02T14:02:57.733Z","readyDate":"2019-09-02T14:03:57.733Z","completeDate":"2019-09-03T15:02:57.733Z"}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://order.shopgate.io/v1/merchants/example/fulfillmentOrders \ --header 'Content-Type: application/json' \ --data '{ "fulfillmentOrders": [ { "orderNumber": "1293747-0001", "externalCode": "000000274", "salesOrderNumber": "1293747", "locationCode": "DERetail001", "customerId": "55c98b8e-1100-497c-8df6-4b4f0353ab2a", "externalCustomerNumber": "C1756793", "channel": { "code": "USRTL" }, "type": "directShip", "routeType": "standardDirectShip", "status": "new", "sequenceId": 1, "expedited": true, "subTotal": 0, "taxAmount": 0, "tax2Amount": 0, "shippingTotal": 1, "total": 1, "localeCode": "example", "currencyCode": "EUR", "notes": "Please wrap each item individually.", "specialInstructions": "House behind the dumpster", "fulfillmentOrderAddress": { "orderIndex": 1, "type": "pickup", "firstName": "Max", "middleName": "René", "lastName": "Muster", "company": "Shopgate GmbH", "address1": "Schloßstr. 10", "address2": "Haus B", "address3": "erste Etage", "address4": null, "city": "Butzbach", "region": "HE", "postalCode": "\"35510\"", "country": "DE", "additionalFields": { "dhlPostBoxNumber": "example", "dhlPostNumber": "example" }, "phone": "+49 12345 6789 001", "fax": "+49 12345 6789 002", "mobile": "+49 12345 6789 003", "emailAddress": "max.muster@shopgate.com" }, "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 } ] } ] } ], "lineItems": [ { "salesOrderLineItemCode": "386", "lineItemGroupId": "386-1", "sku": "1337-hoodie-dark-green", "quantity": 1, "status": "new", "currencyCode": "EUR", "price": 79.99, "salePrice": 65.99, "shippingAmount": 1, "unitPromoAmount": 0, "unitDiscountAmount": 0, "taxAmount": 1, "tax2Amount": 1, "taxExempt": false, "discountAmount": 0, "promoAmount": 0, "overrideAmount": 1, "extendedPrice": 72, "product": { "code": "24-MB02", "name": "Fusion Backpack", "image": "https://myawesomeshop.com/images/img1.jpg", "price": 59.99, "salePrice": 39.99, "currencyCode": "EUR", "identifiers": { "mfgPartNum": "100-440-0.750-3434-A", "upc": "\"72527273070\"", "ean": "\"401234567890\"", "isbn": "978-3-16-148410-0", "sku": "UGG-BB-PUR-06", "distiPartNum": "\"235454356363\"" }, "options": [ { "code": "color", "name": "Color", "value": { "code": "red", "name": "Red" } } ] }, "substitutionAllowed": true } ], "fulfillmentSlot": { "id": "5_2019-09-03", "date": "2019-09-03", "weekday": "fri", "from": "08:00", "to": "08:59", "status": "active", "orderCount": 10 }, "submitDate": "2019-09-02T09:02:57.733Z", "acceptDate": "2019-09-02T14:02:57.733Z", "readyDate": "2019-09-02T14:03:57.733Z", "completeDate": "2019-09-03T15:02:57.733Z" } ] }'Create fulfillment orders
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Unique merchant code which represents the unique “merchant account”.
Request Body
Section titled “Request Body”object
object
Unique fulfillment order number
Example
1293747-0001External order id
Example
000000274Example
1293747Location code which should fulfill the order
Example
DERetail001Customer identifier
Example
55c98b8e-1100-497c-8df6-4b4f0353ab2aA customer number / reference to an external system.
Example
C1756793object
Example
USRTLIf not provided it will automatically be set to the highest so far incremented by 1.
Tax amount of the first tax group (e.g. for german taxes this is an absolut number based on either 7% or 19% of the order total; the order total is 10.00 EUR so the taxAmount is 10.00 EUR * 0.19 = 1.9 EUR)
Tax amount of the second tax group (can be used for additional taxes like for example US state taxes)
Example
EURCustomer notes where the shopper can provide special instructions. The notes are shown in the In-Store App & Admin.
Example
Please wrap each item individually.Special instructions of the order. It can contain special shipping or fulfillment instructions
Example
House behind the dumpsterobject
Example
MaxExample
RenéExample
MusterExample
Shopgate GmbHIf used as shipping address for direct ship, this field is required
Example
Schloßstr. 10Example
Haus BExample
erste EtageExample
nullThis field is required if used as shipping address for direct ship
Example
ButzbachExample
HEThis field is required if used as shipping address for direct ship
Example
"35510"This field is required if used as shipping address for direct ship
Example
DEobject
Number of a postbox
Number of a post
Validated according to country code
Example
+49 12345 6789 001Validated according to country code
Example
+49 12345 6789 002Validated according to country code
Example
+49 12345 6789 003Example
max.muster@shopgate.comobject
Example
DHLExample
sameDayExample
JJD000390007882823450object
Example
sameDayExample
smallExample
DERetail001The actual package weight.
Example
2000object
Example
25Example
cmExample
17.5Example
cmExample
10Example
cmExample
JJD000390007882823450Example
Kim MusterExample
https://documentserver.internal/label/label.pdfThe date and time of the package entering status “inTransit” or “fulfilled”.
object
Example
386object
Example
386Used as a group identifier when single-quantity fulfillment is enabled
Example
386-1Example
1337-hoodie-dark-greenExample
newExample
EURExample
79.99Example
65.99Amount of all applied promotions for a single unit (single quantity).
Example
-4Amount of all applied discounts (promotions with coupons) for a single unit (single quantity).
Example
-3Total amount of all applied promotions with coupons for the line item. (Formula: lineItem.unitDiscountAmount * lineItem.quantity)
Example
-6Total amount of all applied promotions for the line item. (Formula: lineItem.unitPromoAmount * lineItem.quantity)
Example
-8The extended Price is the final price of the line item, including all discounts & promotions that apply to this line item, and also already multiplied with the quantity. Formula: (product.price or product.salePrice if not empty) * quantity + promoAmount + discountAmount. Example: A product original price is 60€ (product.price), but it is on sale for 40€ (product.salePrice). Ordered quantity is 2, there is no discount but there is a promotion that applies to this product and gives 10% additional discount (unitPromoAmount = 4€, promoAmount = 8€). The extended price of this line item should be (40€ * 2) + (-8€) = 72€.
Example
72object
Product code
Example
24-MB02Product name
Example
Fusion BackpackMain image url of the product
Example
https://myawesomeshop.com/images/img1.jpgMain price of the product
Example
59.99Sale price of the product
Example
39.99Example
EURobject
Example
100-440-0.750-3434-AExample
"72527273070"Example
"401234567890"Example
978-3-16-148410-0Example
UGG-BB-PUR-06Example
"235454356363"object
Example
colorExample
Colorobject
Example
redExample
RedDetermines if a substitution is allowed for this line item.
object
Id of the fulfillment slot
Example
5_2019-09-03Hour and minute of the day where the time should start
Example
08:00Example
08:59Limit of orders which can be placed in this slot. This value can only be set for the type fulfillmentSlot
Example
20Example
{ "id": "5_2019-09-03", "date": "2019-09-03", "weekday": "fri", "from": "08:00", "to": "08:59", "status": "active", "orderCount": 10}Date when the order was submitted by the customer
Example
2019-09-02T09:02:57.733ZDate when the order status was changed to accepted
Example
2019-09-02T14:02:57.733ZDate when the order status was changed to ready
Example
2019-09-02T14:03:57.733ZDate when the order status was changed to completed
Example
2019-09-03T15:02:57.733ZResponses
Section titled “Responses”object
object
Examplegenerated
{ "errors": [ { "entityIndex": 1, "entity": "example", "entityId": "example", "code": 1, "message": "example", "subentityPath": [ "example" ] } ]}Order not found
default
Section titled “default”Unexpected error
object
Machine readable error code
Human readable error code
Example
{ "code": "internal.database", "message": "Internal Database Error"}
