Create Dual Shipment
POST
https://api.cargopanel.co/v2/shipmentsPOST
https://sandbox-api.cargopanel.co/v2/shipmentsCreate both an international shipment and a domestic leg shipment simultaneously. In order to get shipping labelshipment:labelscope is needed. Passinglabel: trueautomatically executes carrier operations and generates shipping labels in one step. If you only haveshipment:writescope and passlabel: trueit will still create shipment without label.
Request Fields
labelbooleanoptionalIf set to true, carrier label APIs are invoked immediately after saving shipment records to database.
typestringrequiredpackage- Selected when sending a parcel or boxdocument- Selected when sending documents or papers
categorystringrequiredgiftsamplemicro exportsalesdocument
deliveryTypestringrequiredDAP- Delivered At Place. Duties and taxes paid by receiver. (default)DDP- Delivered Duty Paid. Duties and taxes paid by sender. Additional carrier DDP processing fees may apply.
packagesarrayrequiredArray of package details. Each package must include:
quantity- Number of pieces (number)weight- Weight (number)dimensions.width- Width (number)dimensions.length- Length (number)dimensions.height- Height (number)dimensions.unit- Dimension unit (string, e.g.cm)
itemsarrayrequiredArray of item details. Each item must include:
description- Item description (string)hsCode- HS code (string)countryOfOrigin- Origin country (string)quantity- Quantity (number)unitPrice- Unit price (number)totalPrice- Total price (number)
carriersobjectrequiredObject containing selected carriers:
carriers.international.id- Carrier ID for the international leg (e.g.WIDECT)carriers.domestic.id- Carrier ID for the domestic leg (e.g.HEPSIJET)
customsobjectrequiredCustoms information.
totalGoodsValue- Total goods value (number)currency- Currency (string)iossNumber- IOSS Number. Used for EU countries. Mandatory for Widect carrier, optional for others. (string)marketplaceNumber- Marketplace Number. Mandatory for Widect carrier UK shipments, optional for other carriers and countries. (string)
senderobjectrequiredSender information.
firstName- First name (string)lastName- Last name (string)companyName- Company name (string, optional)identityNumber- Identity number (string, optional)taxNumber- Tax number (string, optional)email- Email (string)phone.code- Phone country code (string)phone.number- Phone number (string)address.line1- Address line 1 (string)address.city- City (string)address.zipCode- Zip code (string)address.country.code- Country code (string)
receiverobjectrequiredReceiver information.
firstName- First name (string)lastName- Last name (string)companyName- Company name (string, optional)identityNumber- Identity number (string, optional)taxNumber- Tax number (string, optional)email- Email (string)phone.code- Phone country code (string)phone.number- Phone number (string)address.line1- Address line 1 (string)address.line2- Address line 2 (string, optional)address.nationalShortAddress- National short address. Required only for KSA shipments; not used for other countries (string)address.city- City (string)address.zipCode- Zip code (string)address.country.code- Country code (string)
Request Body
{
"type": "package",
"category": "sample",
"label": true,
"packages": [
{
"quantity": 1,
"weight": 1,
"dimensions": {
"width": 10,
"length": 10,
"height": 10,
"unit": "cm"
}
}
],
"items": [
{
"description": "Women Dress",
"hsCode": "6104",
"countryOfOrigin": "TR",
"quantity": 1,
"unitPrice": 12,
"totalPrice": 12
}
],
"carriers": {
"domestic": {
"id": "HEPSIJET"
},
"international": {
"id": "WIDECT"
}
},
"customs": {
"totalGoodsValue": 12,
"currency": "USD",
"iossNumber": "",
"marketplaceNumber": ""
},
"sender": {
"firstName": "",
"lastName": "",
"phone": {
"code": "",
"number": ""
},
"email": "",
"address": {
"line1": "",
"city": "",
"cityCode": "",
"zipCode": "",
"country": {
"name": "",
"code": ""
},
"district": ""
}
},
"receiver": {
"firstName": "",
"lastName": "",
"companyName": "",
"phone": {
"code": "",
"number": ""
},
"email": "",
"address": {
"line1": "",
"line2": "",
"city": "",
"zipCode": "",
"country": {
"name": "",
"code": ""
}
}
},
"invoice": {
"firstName": "naz",
"lastName": "sph",
"companyName": "cargopanel A.Ş.",
"taxNumber": "1234567890",
"taxOffice": "Kadıköy",
"phone": {
"code": "90",
"number": "5555555555"
},
"email": "[email protected]",
"address": {
"line1": "adrs1",
"city": "İstanbul",
"cityCode": "34",
"zipCode": "34500",
"country": {
"name": "Türkiye",
"code": "TR"
},
"district": "fatih"
}
},
"deliveryType": "DDP"
}Example Response (with label=true)
201 Created
{
"success": true,
"international": {
"shipment": {
"id": "90811092",
"carrier": { "id": "WIDECT", "name": "Widect" },
"createdAt": "2026-04-07T10:32:41.503Z"
},
"label": {
"success": true,
"operation": "create",
"carrier": "Widect",
"trackingNumber": "WID12345678",
"labelPdf": "https://..."
}
},
"domestic": {
"shipment": {
"id": "92442655",
"carrier": { "id": "HEPSIJET", "name": "HepsiJET" },
"createdAt": "2026-04-07T10:32:41.503Z"
},
"label": {
"success": true,
"operation": "create",
"carrier": "HepsiJET",
"trackingNumber": "CPD92442655"
}
}
}Responses
201Shipment and label operations successfully executed
400Invalid request (missing domestic or international carrier selection)
401Unauthorized (invalid or missing token)