cargopanel logocargopanel for developers

Create Shipment

POSThttps://api.cargopanel.co/api/shipments/v1/create
POSThttps://api.cargopanel.co/api/shipments/v1/test/create

Create a new shipment with detailed package and content information.

This API requires a contract. Get in touch with cargopanel Support Team.

Test API is used for testing purposes. It does not create a real shipment.

Path Params

carrierobjectrequired
  • id - Carrier ID (string)
  • name - Carrier name (string)
  • price - Carrier price (string)
  • currency - Carrier currency (string)
  • Carrier information. Must include:

    • 74e7d2a8 - UPS Express (Express Service, USD)
    • be48b8dd - UPS Expedited (Expedited Service, USD)
    • 1acdb78f - FedEx (Express Service, EUR)
    • 6c42d502 - DHL (Express Service, EUR)
    • 5d0ea8d7 - Widect (Economy Service, EUR)
    • a0333283 - DPD (Economy Service, EUR)
    • c1725c41 - PTT (Kayıtlı Küçük Paket, EUR)
    contentCurrencystringrequired

    Currency code for the content value (e.g., "USD", "EUR")

    packagesarrayrequired

    Array of package details. Each package must include:

    • packageCount - Number of pieces (string)
    • weight - Weight of the piece in kg (number)
    • dimensions.width - Width in cm (string)
    • dimensions.length - Length in cm (string)
    • dimensions.height - Height in cm (string)
    shippingTypestringrequired

    Type of shipment: "Package" (Koli) or "Document" (Doküman)

    shippingCategorystringrequired

    Category of shipment:

    • "Gift" (Hediye)
    • "Sample" (Numune)
    • "Micro Export" (Mikro İhracat)
    • "Export" (İhracat)
    shippingContentarrayrequired

    Array of shipping content details. Each item must include:

    • contentDescription - Description of the content (string)
    • gtipCode - GTIP code for the content (string)
    • country - Country of origin (string)
    • quantity - Quantity of items (string)
    • unitPrice - Price per unit (string)
    • dangerousGoodsInformation - Object containing dangerous goods details (optional)
    iossNumberstring | nulloptional

    IOSS number for EU shipments. Required for shipments to EU countries.

    marketPlaceVATNumberstring | nulloptional

    Marketplace VAT number.

    addresses.senderAddressobjectrequired

    Sender's address information. Must include:

    • firstName - First name (string)
    • lastName - Last name (string)
    • companyName - Company name (string)
    • taxNumber - Tax number (string)
    • identityNumber - Identity number (string)
    • phoneNumber - Phone number (string)
    • email - Email address (string)
    • address1 - Primary address (string)
    • address2 - Secondary address (string, optional)
    • country - Country (object)
    • country.name - Country name (string)
    • country.code - Country code (string)
    • city - City (string)
    • district - District (string)
    • zipCode - Postal code (string)
    addresses.receiverAddressobjectrequired

    Receiver's address information. Must include:

    • firstName - First name (string)
    • lastName - Last name (string)
    • companyName - Company name (string, optional)
    • taxNumber - Tax number (string, optional)
    • identityNumber - Identity number (string, optional)
    • phoneNumber - Phone number (string)
    • email - Email address (string, optional)
    • address1 - Primary address (string)
    • address2 - Secondary address (string, optional)
    • zipCode - Postal code (string)
    • country - Country (object)
    • country.name - Country name (string)
    • country.code - Country code (string)
    • state - State/Province (string, optional)
    • city - City (string)
    • addressType - Type of address (string, e.g., "home", "office")
    originCountryobjectrequired

    Origin country information. Must include:

    • name - Country name (string)
    • code - Country code (string)
    destinationCountryobjectrequired

    Destination country information. Must include:

    • name - Country name (string)
    • code - Country code (string)

    Request Body

    The request body should be a JSON object containing the following structure under a data key:

    {
      "data": {
        "carrier": {
          "id": "<string>",
          "name": "<string>"
        },
        "contentCurrency": "<string>",
        "packages": [
          {
            "packageCount": "<string>",
            "weight": <number>,
            "dimensions": {
              "width": "<string>",
              "length": "<string>",
              "height": "<string>"
            }
          }
        ],
        "shippingType": "<string>",
        "shippingCategory": "<string>",
        "shippingContent": [
          {
            "contentDescription": "<string>",
            "gtipCode": "<string>",
            "country": "<string>",
            "quantity": "<string>",
            "unitPrice": "<string>",
            "dangerousGoodsInformation": {
              "containsDangerousGoods": "<string>",
              "unCode": "<string>",
              "msds": "<string>",
              "packingInstructions": "<string>",
              "packingGroup": "<string>"
            }
          }
        ],
        "iossNumber": <string | null>,
        "marketPlaceVATNumber": <string | null>,
        "addresses": {
        "senderAddress": {
          "firstName": "<string>",
          "lastName": "<string>",
          "companyName": "<string>",
          "taxNumber": "<string>",
          "identityNumber": "<string>",
          "phoneNumber": "<string>",
          "email": "<string>",
          "address1": "<string>",
          "address2": "<string | null>",
          "country": "<string>",
          "city": "<string>",
          "district": "<string>",
          "zipCode": "<string>"
        },
        "receiverAddress": {
          "firstName": "<string>",
          "lastName": "<string>",
          "companyName": "<string>",
          "taxNumber": "<string>",
          "identityNumber": "<string>",
          "phoneNumber": "<string>",
          "email": "<string>",
          "address1": "<string>",
          "address2": "<string>",
          "zipCode": "<string>",
          "country": "<string>",
          "state": "<string>",
          "city": "<string>",
          "addressType": "<string>"
        }
    },
        "originCountry": {
          "name": "<string>",
          "code": "<string>"
        },
        "destinationCountry": {
          "name": "<string>",
          "code": "<string>"
        }
      }
    }

    Example Response

    {
        "message": "Shipment created successfully",
        "shippingId": "",
        "createdAt": "",
        "price": "",
        "chargeableWeight": ""
    }

    Responses

    200Shipment created successfully
    400Bad Request - Missing required data or invalid input
    401Unauthorized - Invalid credentials
    500Internal Server Error