Bring Cargo DK API dokumentatsioon

Integreeritud REST API

Täielik API dokumentatsioon Bring Cargo DK veoteenuse integreerimiseks. Veotellimused, veohinnad, pakisildid ja jälgimise läbi Cargosoni vedajateülese API.

Küsi oma API võti

Bring Cargo DK API ülevaade

See API pakub programmilise juurdepääsu Bring Cargo DK veoteenustele läbi Cargosoni ühtse veohalduse platvormi. Integreeri Bring Cargo DK võimalused, sealhulgas veotellimused, jälgimine, hinnapakkumised ja pakisildid oma rakendustesse.

API võimalused

  • Loo ja halda Bring Cargo DK veotellimusi
  • Saadetiste jälgimine ja staatuse uuendused
  • Küsi transpordi hinnapakkumisi ja tarneaegu
  • Genereeri pakisildid mitmes formaadis (PDF, PNG, ZPL)
  • Loo tagastussildid pöördlogistika jaoks
  • Küsi pakiautomaatide ja väljastuspunktide asukohti
  • Vaata saadaolevaid vedaja teenuseid
  • Automatiseeritud kullerikutsed

Baas-URL ja autentimine

Baas-URL

https://www.cargoson.com/api/v1

Autentimine

Kõik päringud peavad sisaldama sinu API võtit ja õiget Accept päist:

Authorization: Bearer SINU_API_VÕTI
Accept: application/vnd.api.v1

Bring Cargo DK veotellimuste API

Otsene vedaja API

Loo Bring Cargo DK veotellimused ja saa pakisildid kasutades Queries endpointi. Tellimused edastatakse vedaja süsteemi reaalajas ja pakisildid genereeritakse koheselt.

Saadetis vs otsetellimus

Queries otspunkt toetab kahte tellimisviisi:

  • Saadetise režiim - Loo saadetis ilma (veel) vedajat määramata. Sedasi saad hiljem Cargosoni sisse logida ja võrrelda oma erinevate vedajate hindu ja tarneaegu, küsida spot-hinnapakkumisi, teha saadetises muudatusi/uuendusi, või delegeerida vedaja valik kolleegile, enne lõplikku vedaja valiku tegemist.
  • Otsetellimus - Määra vedaja teenuse ID (Rate või Services API-st), et tellida otse Bring Cargo DK kaudu. See tagab, et saadetis kasutab täpselt valitud teenust.

Et teha tellimus otse Bring Cargo DK süsteemi, saada alati kaasa direct_booking_service_id-ga.

POST /queries

Loo saadetise päring või otsene tellimus Bring Cargo DK jaoks. Lisa direct_booking_service_id kohese tellimuse loomiseks.

Request Parameters

collection_date string required

Pealekorje kuupäev formaadis AAAA-KK-PP

collection_country string required

Pealekorje riigi kood (ISO 3166-1 alpha-2)

collection_postcode string required

Pealekorje postiindeks

collection_address_row_1 string required

Pealekorje tänavaaadress

collection_city string required

Pealekorje linn

collection_company_name string required

Saatja ettevõtte nimi

collection_contact_name string required

Saatja kontaktisik

collection_contact_phone string required

Saatja telefoninumber

delivery_country string required

Mahalaadimise riigi kood

delivery_postcode string required

Mahalaadimise postiindeks

delivery_address_row_1 string required

Mahalaadimise tänavaaadress

delivery_city string required

Mahalaadimise linn

delivery_company_name string required

Saaja ettevõtte nimi

delivery_contact_name string required

Saaja kontaktisik

delivery_contact_phone string required

Saaja telefoninumber

rows_attributes array required

Pakendite/kaubaaluste massiiv koos koguse, pakendi tüübi, kaalu ja kirjeldusega

options[direct_booking_service_id] integer

Bring Cargo DK teenuse ID otsese tellimuse jaoks

Example: Direct Booking Request

{
  "collection_date": "2026-02-15",
  "collection_country": "DE",
  "collection_postcode": "10115",
  "collection_address_row_1": "Hauptstraße 123",
  "collection_city": "Berlin",
  "collection_company_name": "Demo GmbH",
  "collection_contact_name": "Max Mustermann",
  "collection_contact_phone": "+4930123456",
  "delivery_country": "SE",
  "delivery_postcode": "11122",
  "delivery_address_row_1": "Drottninggatan 45",
  "delivery_city": "Stockholm",
  "delivery_company_name": "Demo Sweden AB",
  "delivery_contact_name": "Erik Andersson",
  "delivery_contact_phone": "+46812345678",
  "rows_attributes": [
    {
      "quantity": 1,
      "package_type": "EUR",
      "weight": 100.0,
      "description": "Goods on EUR pallet"
    }
  ],
  "options": {
    "direct_booking_service_id": 1234
  }
}

Example Response

{
  "id": 12345,
  "reference": "CG12345",
  "status": "booked",
  "latest_status": "confirmed",
  "tracking_reference": "ABC1234567890",
  "tracking_url": "https://tracking.carrier.com/ABC1234567890",
  "label_url": "https://www.cargoson.com/labels/abc123.pdf",
  "confirmed_at": "2026-02-15T10:30:00Z"
}

Pakisildid

Bring Cargo DK pakisildid genereeritakse automaatselt veotellimuse loomisel. Etiketid on saadaval mitmes formaadis erinevate printeritüüpide jaoks.

Toetatud formaadid

a4 - A4 PDF formaat kontoriprinteritele (4 silti lehel)
label_printer - 4x6in (~10x15cm) PDF formaat termoprinterile

Sildid on automaatselt kaasas veotellimuse vastuses label_url väljal. Laadi alla ja prindi silt antud URLi kaudu pärast tellimust.

Bring Cargo DK veohindade API

Otsene vedaja API

Küsi reaalajas Bring Cargo DK veohindu enne tellimust. Rate API tagastab saadaolevad teenused, hinnad ja hinnangulised tarneajad.

POST /freightPrices/list

Küsi veohindade hinnapakkumisi Bring Cargo DK-lt ja teistelt sinu kontol aktiveeritud vedajatelt.

Request Parameters

collection_date string required

Pealekorje kuupäev formaadis AAAA-KK-PP

collection_country string required

Pealekorje riigi kood (ISO 3166-1 alpha-2)

collection_postcode string required

Pealekorje postiindeks

delivery_country string required

Mahalaadimise riigi kood

delivery_postcode string required

Mahalaadimise postiindeks

rows_attributes array required

Pakendite/kaubaaluste massiiv koos koguse, pakendi tüübi, kaalu ja kirjeldusega

Example Request

{
  "collection_date": "2026-02-15",
  "collection_postcode": "10115",
  "collection_country": "DE",
  "collection_with_tail_lift": true,
  "collection_prenotification": true,
  "delivery_postcode": "11122",
  "delivery_country": "SE",
  "delivery_with_tail_lift": true,
  "delivery_prenotification": true,
  "delivery_return_document": true,
  "delivery_to_private_person": true,
  "frigo": true,
  "adr": false,
  "rows_attributes": [
    {
      "quantity": 1,
      "package_type": "EUR",
      "weight": 100.0,
      "description": "Goods on EUR pallet"
    },
    {
      "quantity": 2,
      "package_type": "FIN",
      "weight": 300.0,
      "description": "Goods on two FIN pallets"
    }
  ],
  "request_external_partners": false
}

Example Response

{
  "status": 200,
  "object": {
    "prices": [
      {
        "carrier": "Bring Cargo International A/S (DK)",
        "reg_no": "33358083",
        "id": 3350,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "Bring Cargo International A/S (DK)",
        "reg_no": "33358083",
        "id": 3350,
        "service": "Express Service",
        "service_id": 123,
        "price": "32.50",
        "unit": "real_weight",
        "type": "online"
      },
      {
        "carrier": "Demo Logistics GmbH",
        "reg_no": "87654321",
        "id": 456,
        "service": "Main",
        "service_id": 555,
        "price": "20.00",
        "unit": "payable_weight",
        "type": "price_list"
      }
    ]
  }
}

Bring Cargo DK jälgimise API

Otsene vedaja API
Cargosoni täiustus:

Bring Cargo DK pakub ainult jälgimise URL-i, mitte struktureeritud jälgimisandmeid. Cargoson normaliseerib jälgimisteabe kõigi vedajate vahel, andes sulle järjepideva API vastuse formaadi olenemata iga vedaja võimalustest.

Jälgi Bring Cargo DK saadetisi kasutades Cargosoni viitenumbrit. Vaata hetkestaatust, asukoha uuendusi ja hinnangulist tarnekuupäeva.

GET /bookings/{reference}

Vaata jälgimise üksikasju Bring Cargo DK saadetise kohta kasutades Cargosoni tellimuse viidet.

Example Response

{
  "reference": "CG12345",
  "status": "in_transit",
  "latest_status": "collected",
  "tracking_reference": "ABC1234567890",
  "tracking_url": "https://tracking.carrier.com/ABC1234567890",
  "confirmed_at": "2026-02-15T10:30:00Z",
  "collected_at": "2026-02-15T14:20:00Z",
  "estimated_delivery": "2026-02-18T16:00:00Z"
}

Bring Cargo DK tagastusetikettide API

Cargoson tehnoloogial
Cargosoni täiustus:

Bring Cargo DK ei toeta algupäraselt tagastussilte. Cargoson genereerib tagastussildid ja haldab tagastuslogistika protsessi meie platvormi kaudu.

Genereeri tagastusetiketid Bring Cargo DK saadetistele. Tagastussildid võimaldavad klientidel saata kaupu tagasi eelmakstud veoga.

POST /bookings/{reference}/return_labels

Loo tagastussilt olemasolevale Bring Cargo DK saadetisele.

Request Parameters

label_format string

Pakisildi formaat: a4 või label_printer (vaikimisi: a4)

Example Request

{
  "label_format": "a4"
}

Example Response

{
  "return_label_url": "https://www.cargoson.com/labels/return_abc123.pdf",
  "tracking_reference": "RETURN9876543210",
  "tracking_url": "https://tracking.carrier.com/RETURN9876543210"
}

Tagastusetiketi funktsioonid

  • Eelmakstud tagastusetiketid
  • Samad formaadi valikud kui väljaminevatel siltidel (A4, termoprinter)
  • Eraldi jälgimisviide tagastustele
  • Sujuv integratsioon Bring Cargo DK tagastusteenustega

Bring Cargo DK kullerikutsed

Cargosoni automatiseering

Cargoson automatiseerib kullerikutsed Bring Cargo DK saadetistele - üks tegevus vähem, mille pärast muretseda.

Kuidas Cargoson käsitleb kullerikutseid

Paljud vedajad nõuavad, et lood pakisildid eraldi ja seejärel tellid käsitsi eraldi kulleri pealekorje. Teistel pole eraldi etiketi ja kullerikutse süsteemi ning iga saadetis on täielik, eraldiseisev tellimus. Meie usume, et vedajate API-d peaksid olema ühtses formaadis, kuid praegusel hetkel on igal vedajal oma süsteem, mis tähendab, et kasutajatel on keeruline meeles pidada iga vedaja eripära. Cargoson lihtsustab kullerikutseid, käsitledes iga saadetist terviklikult: kullerikutseid hallatakse automaatselt osana tellimisprotsessist.

Nutikas pealekorje optimeerimine

Cargoson optimeerib kullerikutseid kulude vähendamiseks ja tõhususe parandamiseks.

  • 1. Partii konsolideerimine - Mitu saadetist samast asukohast grupeeritakse üheks pealekorjeks
  • 2. Vedajapõhine käsitlemine - Mõned vedaja puhul on tellimus nii pakisilt kui kullerikutse koos, teised nõuavad eraldi päringut. Cargoson haldab mõlemat varianti sinu eest automaatselt
  • 3. Regulaarkorjed - Seadista eelplaneeritud pealekorjed kindlatel aegadel (nt pealaoaadressile iga päev kell 15:00) ja Cargoson sellisel juhul eraldi üksikuid kullerikutseid sinna ei tee

Eelised

  • Pole vaja jälgida, millised vedajad nõuavad eraldi kullerikutseid
  • Automaatne optimeerimine hoiab ära mittevajalikud kullerikutsed
  • Regulaarkorjete tugi
  • Lihtsustatud veoprotsess - lihtsalt loo tellimus

Seadistamine

Kullerikutse automatiseerimine on vaikimisi sisse lülitatud kõigile Bring Cargo DK saadetistele. Regulaarkorje või kohandatud optimeerimisreeglite seadistamiseks võta ühendust [email protected].

Bring Cargo DK teenuste API

Cargosoni mootor
Cargosoni täiustus:

Teenuste API on Cargosoni pakutav funktsioon, mis tagastab ühtse loetelu kõigist saadaolevatest teenustest Bring Cargo DK-lt ja teistelt vedajatelt sinu võrgustikus. See võimaldab sul dünaamiliselt kuvada veoteenuseid oma klientidele ilma teenuse ID-sid kõvakoodimata.

Küsi kõikide saadaolevate Bring Cargo DK veoteenuste nimekiri. Kasuta teenuse ID-sid otsetellimuste esitamisel, et valida soovitud teenus.

GET /services/list

Tagasta loetelu sinu ettevõtte kontol saadaolevatest Bring Cargo DK teenustest.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 3350,
        "name": "Bring Cargo International A/S (DK)",
        "short_name": "Bring Cargo DK",
        "reg_no": "33358083"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 3350,
        "name": "Bring Cargo International A/S (DK)",
        "short_name": "Bring Cargo DK",
        "reg_no": "33358083"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Teenuse ID-de kasutamine

Selle otspunkti tagastatavaid teenuste ID-sid saab kasutada direct_booking_service_id parameetriga tellimuste loomisel, et garanteerida saadetise marsruutimine Bring Cargo DK süsteemi.

Täielikud koodinäited

Allpool on täielikud töötavad näited, mis näitavad kogu töövoogu: küsi hinnad, vali teenus, telli vedu ja vaata jälgimisinfot.

# Define the service ID you want to use
CARRIER_SERVICE_ID=85

# Step 1: Get freight prices for Bring Cargo DK
curl -X POST https://www.cargoson.com/api/v1/freightPrices/list \
  -H "Content-Type: application/json" \
  -H "Accept: application/vnd.api.v1" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "collection_date": "2026-02-15",
    "collection_country": "DE",
    "collection_postcode": "10115",
    "delivery_country": "SE",
    "delivery_postcode": "11122",
    "rows_attributes": [{
      "quantity": 1,
      "package_type": "EUR",
      "weight": 100.0,
      "description": "Goods on EUR pallet"
    }]
  }'

# Extract the price for your service from response:
# transport_price=$(echo "$response" | jq '.object.prices[] | select(.service_id==85) | .price')

# Step 2: Book shipment using the service_id
curl -X POST https://www.cargoson.com/api/v1/queries \
  -H "Content-Type: application/json" \
  -H "Accept: application/vnd.api.v1" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "collection_date": "2026-02-15",
    "collection_country": "DE",
    "collection_postcode": "10115",
    "collection_address_row_1": "Hauptstraße 123",
    "collection_city": "Berlin",
    "collection_company_name": "Demo GmbH",
    "collection_contact_name": "Max Mustermann",
    "collection_contact_phone": "+4930123456",
    "delivery_country": "SE",
    "delivery_postcode": "11122",
    "delivery_address_row_1": "Drottninggatan 45",
    "delivery_city": "Stockholm",
    "delivery_company_name": "Demo Sweden AB",
    "delivery_contact_name": "Erik Andersson",
    "delivery_contact_phone": "+46812345678",
    "rows_attributes": [{
      "quantity": 1,
      "package_type": "EUR",
      "weight": 100.0,
      "description": "Goods on EUR pallet"
    }],
    "options": {
      "direct_booking_service_id": '$CARRIER_SERVICE_ID'
    }
  }'

# Response contains:
# - reference: "CG12345"
# - tracking_url: "https://tracking.carrier.com/..."
# - label_url: "https://www.cargoson.com/labels/abc123.pdf"
const axios = require('axios');

const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://www.cargoson.com/api/v1';
const CARRIER_SERVICE_ID = 85;

async function bookToBringCargoDK() {
  try {
    // Step 1: Get freight prices
    const pricesResponse = await axios.post(`${BASE_URL}/freightPrices/list`, {
      collection_date: '2026-02-15',
      collection_country: 'DE',
      collection_postcode: '10115',
      delivery_country: 'SE',
      delivery_postcode: '11122',
      rows_attributes: [{
        quantity: 1,
        package_type: 'EUR',
        weight: 100.0,
        description: 'Goods on EUR pallet'
      }]
    }, {
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/vnd.api.v1',
        'Authorization': `Bearer ${API_KEY}`
      }
    });

    // Step 2: Find service by ID and extract price
    const prices = pricesResponse.data.object.prices;
    const selectedService = prices.find(p => p.service_id === CARRIER_SERVICE_ID);

    if (!selectedService) {
      throw new Error(`Service ID ${CARRIER_SERVICE_ID} not found in prices`);
    }

    const transportPrice = selectedService.price;
    console.log(`Selected service price: €${transportPrice}`);

    // Step 3: Book shipment using the service_id
    const bookingResponse = await axios.post(`${BASE_URL}/queries`, {
      collection_date: '2026-02-15',
      collection_country: 'DE',
      collection_postcode: '10115',
      collection_address_row_1: 'Hauptstraße 123',
      collection_city: 'Berlin',
      collection_company_name: 'Demo GmbH',
      collection_contact_name: 'Max Mustermann',
      collection_contact_phone: '+4930123456',
      delivery_country: 'SE',
      delivery_postcode: '11122',
      delivery_address_row_1: 'Drottninggatan 45',
      delivery_city: 'Stockholm',
      delivery_company_name: 'Demo Sweden AB',
      delivery_contact_name: 'Erik Andersson',
      delivery_contact_phone: '+46812345678',
      rows_attributes: [{
        quantity: 1,
        package_type: 'EUR',
        weight: 100.0,
        description: 'Goods on EUR pallet'
      }],
      options: {
        direct_booking_service_id: CARRIER_SERVICE_ID
      }
    }, {
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/vnd.api.v1',
        'Authorization': `Bearer ${API_KEY}`
      }
    });

    // Extract important fields
    const reference = bookingResponse.data.reference;
    const trackingUrl = bookingResponse.data.tracking_url;
    const labelUrl = bookingResponse.data.label_url;

    console.log('Shipment booked successfully!');
    console.log(`Reference: ${reference}`);
    console.log(`Tracking: ${trackingUrl}`);
    console.log(`Label: ${labelUrl}`);

    return { reference, trackingUrl, labelUrl };
  } catch (error) {
    console.error('Error:', error.response?.data || error.message);
  }
}

// Usage
bookToBringCargoDK();
import requests

API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85

def book_to_bring_cargo_dk():
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/vnd.api.v1',
        'Authorization': f'Bearer {API_KEY}'
    }

    # Step 1: Get freight prices
    prices_data = {
        'collection_date': '2026-02-15',
        'collection_country': 'DE',
        'collection_postcode': '10115',
        'delivery_country': 'SE',
        'delivery_postcode': '11122',
        'rows_attributes': [{
            'quantity': 1,
            'package_type': 'EUR',
            'weight': 100.0,
            'description': 'Goods on EUR pallet'
        }]
    }

    prices_response = requests.post(
        f'{BASE_URL}/freightPrices/list',
        headers=headers,
        json=prices_data
    )
    prices_response.raise_for_status()

    # Step 2: Find service by ID and extract price
    prices = prices_response.json()['object']['prices']
    selected_service = next(
        (p for p in prices if p['service_id'] == CARRIER_SERVICE_ID),
        None
    )

    if not selected_service:
        raise ValueError(f'Service ID {CARRIER_SERVICE_ID} not found in prices')

    transport_price = selected_service['price']
    print(f'Selected service price: €{transport_price}')

    # Step 3: Book shipment using the service_id
    booking_data = {
        'collection_date': '2026-02-15',
        'collection_country': 'DE',
        'collection_postcode': '10115',
        'collection_address_row_1': 'Hauptstraße 123',
        'collection_city': 'Berlin',
        'collection_company_name': 'Demo GmbH',
        'collection_contact_name': 'Max Mustermann',
        'collection_contact_phone': '+4930123456',
        'delivery_country': 'SE',
        'delivery_postcode': '11122',
        'delivery_address_row_1': 'Drottninggatan 45',
        'delivery_city': 'Stockholm',
        'delivery_company_name': 'Demo Sweden AB',
        'delivery_contact_name': 'Erik Andersson',
        'delivery_contact_phone': '+46812345678',
        'rows_attributes': [{
            'quantity': 1,
            'package_type': 'EUR',
            'weight': 100.0,
            'description': 'Goods on EUR pallet'
        }],
        'options': {
            'direct_booking_service_id': CARRIER_SERVICE_ID
        }
    }

    booking_response = requests.post(
        f'{BASE_URL}/queries',
        headers=headers,
        json=booking_data
    )
    booking_response.raise_for_status()
    booking = booking_response.json()

    # Extract important fields
    reference = booking['reference']
    tracking_url = booking['tracking_url']
    label_url = booking['label_url']

    print('Shipment booked successfully!')
    print(f'Reference: {reference}')
    print(f'Tracking: {tracking_url}')
    print(f'Label: {label_url}')

    return {
        'reference': reference,
        'tracking_url': tracking_url,
        'label_url': label_url
    }

# Usage
if __name__ == '__main__':
    book_to_bring_cargo_dk()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';

define('CARRIER_SERVICE_ID', 85);

function bookToBringCargoDK($apiKey, $baseUrl) {
    $headers = [
        'Content-Type: application/json',
        'Accept: application/vnd.api.v1',
        'Authorization: Bearer ' . $apiKey
    ];

    // Step 1: Get freight prices
    $pricesData = [
        'collection_date' => '2026-02-15',
        'collection_country' => 'DE',
        'collection_postcode' => '10115',
        'delivery_country' => 'SE',
        'delivery_postcode' => '11122',
        'rows_attributes' => [[
            'quantity' => 1,
            'package_type' => 'EUR',
            'weight' => 100.0,
            'description' => 'Goods on EUR pallet'
        ]]
    ];

    $ch = curl_init($baseUrl . '/freightPrices/list');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($pricesData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $pricesResponse = curl_exec($ch);
    curl_close($ch);
    $prices = json_decode($pricesResponse, true)['object']['prices'];

    // Step 2: Find service by ID and extract price
    $selectedService = null;
    foreach ($prices as $price) {
        if ($price['service_id'] === CARRIER_SERVICE_ID) {
            $selectedService = $price;
            break;
        }
    }

    if (!$selectedService) {
        throw new Exception('Service ID ' . CARRIER_SERVICE_ID . ' not found in prices');
    }

    $transportPrice = $selectedService['price'];
    echo "Selected service price: €$transportPrice
";

    // Step 3: Book shipment using the service_id
    $bookingData = [
        'collection_date' => '2026-02-15',
        'collection_country' => 'DE',
        'collection_postcode' => '10115',
        'collection_address_row_1' => 'Hauptstraße 123',
        'collection_city' => 'Berlin',
        'collection_company_name' => 'Demo GmbH',
        'collection_contact_name' => 'Max Mustermann',
        'collection_contact_phone' => '+4930123456',
        'delivery_country' => 'SE',
        'delivery_postcode' => '11122',
        'delivery_address_row_1' => 'Drottninggatan 45',
        'delivery_city' => 'Stockholm',
        'delivery_company_name' => 'Demo Sweden AB',
        'delivery_contact_name' => 'Erik Andersson',
        'delivery_contact_phone' => '+46812345678',
        'rows_attributes' => [[
            'quantity' => 1,
            'package_type' => 'EUR',
            'weight' => 100.0,
            'description' => 'Goods on EUR pallet'
        ]],
        'options' => [
            'direct_booking_service_id' => CARRIER_SERVICE_ID
        ]
    ];

    $ch = curl_init($baseUrl . '/queries');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($bookingData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $bookingResponse = curl_exec($ch);
    curl_close($ch);
    $booking = json_decode($bookingResponse, true);

    // Extract important fields
    $reference = $booking['reference'];
    $trackingUrl = $booking['tracking_url'];
    $labelUrl = $booking['label_url'];

    echo "Shipment booked successfully!
";
    echo "Reference: $reference
";
    echo "Tracking: $trackingUrl
";
    echo "Label: $labelUrl
";

    return [
        'reference' => $reference,
        'tracking_url' => $trackingUrl,
        'label_url' => $labelUrl
    ];
}

// Usage
bookToBringCargoDK($apiKey, $baseUrl);
?>
require 'net/http'
require 'json'

API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85

def book_to_bring_cargo_dk
  headers = {
    'Content-Type' => 'application/json',
    'Accept' => 'application/vnd.api.v1',
    'Authorization' => "Bearer #{API_KEY}"
  }

  # Step 1: Get freight prices
  prices_uri = URI("#{BASE_URL}/freightPrices/list")
  prices_data = {
    collection_date: '2026-02-15',
    collection_country: 'DE',
    collection_postcode: '10115',
    delivery_country: 'SE',
    delivery_postcode: '11122',
    rows_attributes: [{
      quantity: 1,
      package_type: 'EUR',
      weight: 100.0,
      description: 'Goods on EUR pallet'
    }]
  }

  http = Net::HTTP.new(prices_uri.host, prices_uri.port)
  http.use_ssl = true

  prices_request = Net::HTTP::Post.new(prices_uri)
  headers.each { |k, v| prices_request[k] = v }
  prices_request.body = prices_data.to_json

  prices_response = http.request(prices_request)
  prices = JSON.parse(prices_response.body)['object']['prices']

  # Step 2: Find service by ID and extract price
  selected_service = prices.find { |p| p['service_id'] == CARRIER_SERVICE_ID }

  raise "Service ID #{CARRIER_SERVICE_ID} not found in prices" unless selected_service

  transport_price = selected_service['price']
  puts "Selected service price: €#{transport_price}"

  # Step 3: Book shipment using the service_id
  booking_uri = URI("#{BASE_URL}/queries")
  booking_data = {
    collection_date: '2026-02-15',
    collection_country: 'DE',
    collection_postcode: '10115',
    collection_address_row_1: 'Hauptstraße 123',
    collection_city: 'Berlin',
    collection_company_name: 'Demo GmbH',
    collection_contact_name: 'Max Mustermann',
    collection_contact_phone: '+4930123456',
    delivery_country: 'SE',
    delivery_postcode: '11122',
    delivery_address_row_1: 'Drottninggatan 45',
    delivery_city: 'Stockholm',
    delivery_company_name: 'Demo Sweden AB',
    delivery_contact_name: 'Erik Andersson',
    delivery_contact_phone: '+46812345678',
    rows_attributes: [{
      quantity: 1,
      package_type: 'EUR',
      weight: 100.0,
      description: 'Goods on EUR pallet'
    }],
    options: {
      direct_booking_service_id: CARRIER_SERVICE_ID
    }
  }

  booking_request = Net::HTTP::Post.new(booking_uri)
  headers.each { |k, v| booking_request[k] = v }
  booking_request.body = booking_data.to_json

  booking_response = http.request(booking_request)
  booking = JSON.parse(booking_response.body)

  # Extract important fields
  reference = booking['reference']
  tracking_url = booking['tracking_url']
  label_url = booking['label_url']

  puts 'Shipment booked successfully!'
  puts "Reference: #{reference}"
  puts "Tracking: #{tracking_url}"
  puts "Label: #{label_url}"

  {
    reference: reference,
    tracking_url: tracking_url,
    label_url: label_url
  }
end

# Usage
book_to_bring_cargo_dk

Miks kasutada Cargosoni API-d Bring Cargo DK integratsiooni jaoks

Otse Bring Cargo DK API-ga integreerimine tähendab vedajapõhise dokumentatsiooniga tegelemist, erinevate andmevormingute käsitlemist ja eraldi koodi haldamist iga vedaja jaoks. Cargoson pakub ühte ühtset RESTful API-d, mis toetab Bring Cargo DK-t ja 2000+ vedajat üle Euroopa ja Põhja-Ameerika - uusi integratsioone lisatakse iganädalaselt. Me vähendame arendusaega kuudelt päevadele, käsitleme vedajate uuendusi automaatselt ja haldame piirkondlikke erandeid. Cargosoniga keskendud oma äri kasvatamisele, mitte vedajate tehniliste keerukuste haldamisele.

Bring Cargo DK integreerimise eelised Cargosoni API kaudu

Üks API kõigile vedajatele

Asenda kümneid eraldi vedajate integratsioone ühe ühendusega Bring Cargo DK ja 2000+ teise vedajaga Cargosoni API kaudu. Pole enam vaja hallata mitut autentimissüsteemi, käsitleda erinevaid andmevorminguid või uuendada koodi, kui vedajad muudavad oma otspunkte.

Selge dokumentatsioon ja tugi

Selge API dokumentatsioon koos töötavate koodinäidetega, üksikasjalike parameetrite kirjeldustega ja selgelt määratletud otspunktidega. Meie kienditugi tunneb logistikat ja aitab sul integratsiooniprobleeme kiiresti lahendada.

Koodinäited mitmes keeles

Alusta kohe kasutamisvalmis koodinäidetega cURL, JavaScript, Python, PHP ja Ruby keeltes. Kopeeri, kleebi ja kohanda neid oma tehnoloogiale - pole vaja autentimist, päringu vormindamist või vigade käsitlemist nullist välja mõelda.

Päris tugi logistika ekspertidelt

Saa abi inimestelt, kes mõistavad logistikat, mitte ainult API-sid. Olenemata sellest, kas teed integratsiooniprobleemi tõrkeotsingut või vajad nõu rahvusvaheliste saadetiste käsitlemiseks, on meie meeskond siin, et aidata.

Maailma kõige arenenum veohindade mootor

Cargosoni veohindade API ei piirdu ainult lihtsate hinnapäringutega. Meie mootor suudab lugeda, analüüsida ja digiteerida mis tahes vedaja hinnakirja olenemata formaadist või struktuurist - see on kõige võimsam veohindade haldussüsteem logistikamaailmas.

Universaalne formaadi tugi

Meie veohindade haldamise mootor käsitleb mis tahes formaati: struktureeritud Exceli failid, keerulised PDF-id, vaba tekst või isegi käsitsi kirjutatud hinnakirjad. Laadi üles oma veolepingud mis tahes formaadis ja meie veohindade mootor digitiseerib hinnaarvutuse reeglid, lisatasud ja tingimused automaatselt.

Otsene vedaja API integratsioon

Kaasaegsete süsteemidega vedajate puhul (tavaliselt globaalsed pakiveod ja tehnoloogiasõbralikud veofirmad) tõmbame hinnad otse nende API-dest reaalajas. See tagab, et saad alati kõige värskemad veohinnad ilma käsitsi uuendusteta.

Avalikud veebipõhised hinnad

Pole veel vedajaga lepingut? Pole probleemi. Cargoson saab tõmmata vedajatelt avalikke veebipõhiseid hindu, mis võimaldab sul võrrelda valikuid isegi enne ametlike kokkulepete sõlmimist.

Spot-hinna päringud

Keeruliste saadetiste või erijuhtude puhul küsi spot-hindu - vedajad vaatavad üle sinu konkreetsed nõuded ja teevad hinnapakkumise. Kõik hallatav sellesama ühtse API kaudu.

Bring Cargo DK veo API: Lihtsustatud logistika automatiseerimine

Automatiseeri oma täitmisprotsess, integreerides Cargosoni veo API Bring Cargo DK ja 2000+ vedajaga üle maailma. Loo pakisildid, telli pealekorjed ja halda kõiki oma vedajaid ühelt platvormilt, säilitades samal ajal oma läbirääkitud hinnad iga pakkujaga.

Automatiseeritud pakisiltide genereerimine

Genereeri vedajale sobivad pakisildid ühe API päringuga. Tugi mitmele formaadile (A4, termoprinter) ja automaatne tollidokumentide koostamine rahvusvahelistele saadetistele tähendab vähem käsitsi tööd ja vähem vigu.

Reaalajas veohindade võrdlus

Võrdle reaalajas veohindasid Bring Cargo DK ja teiste Sinu kontol aktiveeritud vedajate vahel, et valida parim valik veomaksumuse, -kiiruse ja teenuse taseme põhjal.

Eelnevalt läbiräägitud hinnad jäävad samaks

Ühenda oma olemasolev Bring Cargo DK konto, et säilitada oma senised vedajatega kokkulepitud veohinnad. Cargoson pakub lihtsalt tehnilist integratsiooni - otsesed suhted ja hinnakokkulepped oma vedajatega ei kao kuhugi.

Ettevõtte tasemel turvalisus Bring Cargo DK API integratsiooni jaoks

Cargosoni API infrastruktuur vastab Euroopa standarditele, mis tagavad turvalise, auditeerimiseks valmis Bring Cargo DK integratsiooni sinu ettevõttele:

  • GDPR-iga kooskõlas andmete käsitlemine ja salvestamine üle Euroopa
  • ISO 27001 sertifitseeritud infoturbe haldus
  • Otsast lõpuni krüpteerimine kõigile API suhtlustele

Valmis integreerima Bring Cargo DK veoteenust oma süsteemiga?

Broneeri demo, et näha, kuidas Cargosoni ühtne API saab lihtsustada sinu logistikatoiminguid

Broneeri demo

Korduma kippuvad küsimused

Cargoson on veohaldustarkvara (TMS) Euroopa ja Põhja-Ameerika tootjatele. Meie eesmärk on lihtsus: integreeri kõik vedajad ja veorežiimid (maantee, pakett, õhk, meri, raudtee) ühte aknasse ja ühte API-sse. Olenemata sellest, kas saadate kaubaaluseid üle Euroopa või konteinereid üle ookeani, hallake kõike ühelt platvormilt.

Alustamine on lihtne. Esiteks registreeri Cargosoni konto ja küsi oma API võti. Seejärel ühenda oma Bring Cargo DK konto Cargosoni juhtpaneelil. Kui see on tehtud, saad alustada API päringute tegemist meie dokumentatsiooni ja koodinäidete abil. Kogu seadistamine võtab tavaliselt vähem kui tunni.

Jah, vajad oma Bring Cargo DK kontot, et kasutada Bring Cargo DK teenuseid Cargosoni kaudu. See tagab, et säilita oma läbirääkitud hinnad ja hoia oma otsene suhe Bring Cargo DK-ga. Cargoson pakub lihtsalt tehnilist integratsioonikihti, mis muudab Bring Cargo DK ja teiste vedajatega töötamise lihtsamaks ühe ühtse API kaudu.

Cargoson töötab läbipaistva kuutellimuse mudeliga ilma saadetisepõhiste tasudeta või komisjonitasudeta, kunagi. Sinu plaan sisaldab API juurdepääsu, dokumentatsiooni, tuge ja automaatseid uuendusi, kui vedajad muudavad oma süsteeme. Maksad Bring Cargo DK-le otse veo eest oma läbirääkitud veohindadega. Pole varjatud kulusid, pole üllatusi.

Absoluutselt! See on Cargosoni kasutamise peamine eelis. Kui oled meie API integreerinud, saad töötada Bring Cargo DK ja 2000+ teise vedajaga, kasutades samu otspunkte, autentimist ja andmevorminguid. Lisa uusi vedajaid ilma uut integratsioonikoodi kirjutamata, lihtsalt aktiveeri need oma Cargosoni juhtpaneelil.

Jah! Me integreerime mis tahes vedaja, mida vajad, ilma lisatasuta. See on kaasas sinu Cargosoni tellimuses. Lihtsalt tutvusta meid oma vedajate kontaktidega ja me käsitleme tehnilist integratsiooni. Uusi integratsioone lisatakse iga päev klientide taotluste põhjal.

Jah, saame seadistada webhooke, et teavitada sinu süsteemi Cargosonis toimuvate sündmuste ja triggerite põhjal, nagu näiteks saadetise staatuse uuendused, tellimuse kinnitused või saadetiste muudatused. Võta ühendust meie klienditoega või broneeri demo, et arutada oma webhooki nõudeid ja seadistust.

Cargoson ei pruugi olla vajalik, kui oled väike ettevõte, kes saadab vaid mõni kord kuus ühe vedajaga. Selliseid saadetisi saab tõenäoliselt hästi hallata ka ilma veohaldustarkvara. Me ei sobi ka, kui oled vedaja või veokorraldaja. Cargoson on ehitatud spetsiaalselt kauba omanikele (BCO-d) nagu tootjad ja jaemüüjad, kes omavad saadetavaid kaupu. Kui otsid veohaldustarkvara oma edastusäri või vedaja tegevuse haldamiseks, pole me selle jaoks loodud.

Meie API tagastab selged veateated koos veakoodide ja kirjeldustega. Levinud probleemid on dokumenteeritud lahendustega meie arendajate dokumentatsioonis. Kui jääd kinni, aitab meie klienditugi integratsiooniprobleemide lahendamisel.

Me rakendame mõistlikke limiite, et tagada süsteemi stabiilsus kõigile klientidele. On nii pikaajaliseid limiite kui ka burst-limiite, mille väärtused peaksid olema enamiku ettevõtete jaoks rohkem kui piisavad. Kui vajad ettevõtte suuruses tegevuse jaoks kõrgemaid limiite, võta meiega ühendust, et arutada oma konto jaoks kohandatud limiite.

Alusta Bring Cargo DK API kasutamist

Küsi oma API tunnused integratsiooni alustamiseks

Küsi oma API võti