cargopanel logocargopanel for developers

Create Dual Shipment

POSThttps://api.cargopanel.co/v2/shipments
POSThttps://sandbox-api.cargopanel.co/v2/shipments

Create 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

labelbooleanoptional

If set to true, carrier label APIs are invoked immediately after saving shipment records to database.

typestringrequired
  • package - Selected when sending a parcel or box
  • document - Selected when sending documents or papers
categorystringrequired
  • gift
  • sample
  • micro export
  • sales
  • document
deliveryTypestringrequired
  • DAP - 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.
packagesarrayrequired

Array 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)
itemsarrayrequired

Array 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)
carriersobjectrequired

Object 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)
customsobjectrequired

Customs 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)
senderobjectrequired

Sender 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)
receiverobjectrequired

Receiver 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)