Cargobus EE API-dokumentasjon

Integrert REST API

Komplett API-referanse for Cargobus EE forsendelseintegrasjon. Få tilgang til booking, fraktrater, etikettgenerering og sporing gjennom Cargosons enhetlige API for transportadministrasjon.

Få din API-nøkkel

Cargobus EE API-oversikt

Dette API-et gir programmatisk tilgang til Cargobus EE forsendelsetjenester gjennom Cargosons enhetlige plattform for transportadministrasjon. Integrer Cargobus EE-funksjoner inkludert forsendelsebooking, sporing, ratetilbud og etikettgenerering i applikasjonene dine.

API-funksjoner

  • Opprett og administrer Cargobus EE forsendelsebookinger
  • Forsendelsesporing og statusoppdateringer
  • Få fraktpristilbud og transittider
  • Generer fraktetiketter i flere formater (PDF, PNG, ZPL)
  • Opprett returfraktetiketter for returlogistikk
  • Søk etter pakkebokser og hentepunkter
  • List tilgjengelige transportørtjenester
  • Automatiserte budforespørsler

Basis-URL og autentisering

Basis-URL

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

Autentisering

Alle forespørsler må inkludere din API-nøkkel og riktig Accept-header:

Authorization: Bearer DIN_API_NØKKEL
Accept: application/vnd.api.v1

Cargobus EE Booking-API

Direkte transportør-API

Opprett Cargobus EE forsendelser og hent fraktetiketter ved hjelp av Queries-endepunktet. Bookinger sendes til transportørens system i sanntid og etiketter genereres umiddelbart.

Query vs direkte booking

Queries-endepunktet støtter to bookingmetoder:

  • Query-modus - Opprett en transportforespørsel uten å spesifisere en transportør (ennå). Dette lar deg manuelt sammenligne transportørpriser og leveringstider, be om nye spot-priser, gjøre justeringer/oppdateringer til forsendelsen, og delegere transportørvalg til andre, før du gjør det endelige transportørvalget i Cargoson.
  • Direkte booking - Spesifiser en transportørtjeneste-ID (fra Rate- eller Services-API) for å booke direkte med Cargobus EE. Dette sikrer at forsendelsen din bruker nøyaktig den tjenesten du valgte.

For å booke direkte til Cargobus EE, definer alltid direct_booking_service_id.

POST /queries

Opprett en forsendelseforespørsel eller direkte booking for Cargobus EE. Inkluder direct_booking_service_id for å opprette en umiddelbar booking.

Request Parameters

collection_date string required

Hentedato i ÅÅÅÅ-MM-DD-format

collection_country string required

Hentelandskode (ISO 3166-1 alpha-2)

collection_postcode string required

Hentepostnummer

collection_address_row_1 string required

Hentegateadresse

collection_city string required

Henteby

collection_company_name string required

Avsenders firmanavn

collection_contact_name string required

Avsenders kontaktperson

collection_contact_phone string required

Avsenders telefonnummer

delivery_country string required

Leveringslandskode

delivery_postcode string required

Leveringspostnummer

delivery_address_row_1 string required

Leveringsgateadresse

delivery_city string required

Leveringsby

delivery_company_name string required

Mottakers firmanavn

delivery_contact_name string required

Mottakers kontaktperson

delivery_contact_phone string required

Mottakers telefonnummer

rows_attributes array required

Array av pakker/paller med antall, pakketype, vekt og beskrivelse

options[direct_booking_service_id] integer

Cargobus EE tjeneste-ID for direkte booking

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"
}

Etikettgenerering

Cargobus EE fraktetiketter genereres automatisk når du oppretter en booking. Etiketter er tilgjengelige i flere formater for å støtte forskjellige skrivertyper.

Støttede etikettformater

a4 - A4 PDF-format for skrivebordsskrivere (4 etiketter per side)
label_printer - 4x6in (~10x15cm) PDF-format for termoskrivere

Etiketter er inkludert i bookingsvaret via label_url-feltet. Last ned og skriv ut etiketten fra den oppgitte URL-en etter booking.

Cargobus EE Rate-API (fraktprising)

Cargoson-motor
Cargoson-forbedring:

Cargobus EE tilbyr ikke et native rate-API. Cargosons fraktprismotor beregner priser ved hjelp av dine opplastede prisavtaler, og gir deg samme API-opplevelse som transportører med native rate-API-er. Du kan laste opp transportørpriser i hvilket som helst format (Excel, PDF, til og med håndskrevne prislister) og vi vil digitalisere dem.

Få sanntids Cargobus EE fraktrater før booking. Rate-API returnerer tilgjengelige tjenester, priser og estimerte leveringstider.

POST /freightPrices/list

Få fraktpristilbud fra Cargobus EE og andre aktiverte transportører på kontoen din.

Request Parameters

collection_date string required

Hentedato i ÅÅÅÅ-MM-DD-format

collection_country string required

Hentelandskode (ISO 3166-1 alpha-2)

collection_postcode string required

Hentepostnummer

delivery_country string required

Leveringslandskode

delivery_postcode string required

Leveringspostnummer

rows_attributes array required

Array av pakker/paller med antall, pakketype, vekt og beskrivelse

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": "T Grupp OÜ (Cargobus)",
        "reg_no": "10056042",
        "id": 19,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "T Grupp OÜ (Cargobus)",
        "reg_no": "10056042",
        "id": 19,
        "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"
      }
    ]
  }
}

Cargobus EE Sporing-API

Direkte transportør-API

Spor Cargobus EE forsendelser ved hjelp av Cargoson-referansenummeret. Få gjeldende status, posisjonsoppdateringer og estimert leveringstid.

GET /bookings/{reference}

Hent sporingsdetaljer for en Cargobus EE forsendelse ved hjelp av Cargoson-bookingreferansen.

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"
}

Cargobus EE Returfraktetiketter-API

Drevet av Cargoson
Cargoson-forbedring:

Cargobus EE støtter ikke native returfraktetiketter. Cargoson genererer returfraktetiketter og administrerer returlogistikkprosessen gjennom vår plattform.

Generer returfraktetiketter for Cargobus EE forsendelser. Returfraktetiketter lar kunder sende varer tilbake med forhåndsbetalt frakt.

POST /bookings/{reference}/return_labels

Opprett en returfraktetikett for en eksisterende Cargobus EE forsendelse.

Request Parameters

label_format string

Etikettformat: a4 eller label_printer (standard: 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"
}

Returfraktetikett-funksjoner

  • Forhåndsbetalte returfraktetiketter
  • Samme formatalternativer som utgående etiketter (A4, termisk)
  • Separat sporingsreferanse for returer
  • Sømløs integrasjon med Cargobus EE returtjenester

Cargobus EE budforespørsler

Cargoson-automatisering

Cargoson automatiserer budhenteforespørsler for Cargobus EE forsendelser, noe som gjør det til én oppgave mindre du trenger å tenke på.

Hvordan Cargoson håndterer budforespørsler

Mange frakttransportører krever at du oppretter etiketter separat og deretter manuelt ber om budhenting. Andre har ikke et separat system for etikett pluss budbestilling, og hver forsendelse er en komplett, separat forsendelse. Vi mener det bør være én enkelt standard for transportør-API-er, men for øyeblikket lager hver transportør sitt eget unike system, noe som gjør det vanskelig for brukerne å huske hver enkelt sine særegenheter og forviklinger. Cargoson forenkler budbestillingene dine ved å behandle hver forsendelse helhetlig: budforespørsler administreres automatisk som en del av bookingprosessen.

Smart henteoptimalisering

Cargoson optimaliserer budbestillinger for å redusere kostnader og forbedre effektiviteten.

  • 1. Batchkonsolidering - Flere forsendelser fra samme sted grupperes i én henteforespørsel
  • 2. Transportørspesifikk håndtering - Noen transportører inkluderer henting i bookingen, andre krever separate forespørsler. Cargoson håndterer begge varianter automatisk for deg
  • 3. Regelmessige henteplaner - Konfigurer forhåndsplanlagte hentinger med spesifikke intervaller (f.eks. daglig til hovedlageret mitt kl. 15.00) og Cargoson vil hoppe over individuelle budbestillinger helt

Fordeler

  • Ingen behov for å spore hvilke transportører som krever separate budforespørsler
  • Automatisk optimalisering forhindrer unødvendige hentebestillinger
  • Støtte for regelmessige henteplaner
  • Forenklet forsendelsesarbeidsflyt - bare opprett bookingen

Konfigurasjon

Automatisering av budhenting er aktivert som standard for alle Cargobus EE forsendelser. For å konfigurere regelmessige henteplaner eller tilpassede henteoptimaliseringsregler, kontakt [email protected].

Cargobus EE Pakkebokser-API

Direkte transportør-API

Søk etter tilgjengelige Cargobus EE pakkebokser og hentepunkter. Bruk dette endepunktet for å vise kunder en liste over nærliggende pakkebokser under utsjekking.

GET /parcelMachines

Søk etter Cargobus EE pakkebokser og hentepunkter etter plassering eller postnummer.

Request Parameters

country string required

Landskode (ISO 3166-1 alpha-2)

postcode string

Filtrer etter postnummer

carrier_id integer

Filtrer etter spesifikk transportør

reference string

Finn spesifikk pakkeboks etter referanse

Example Response

{
  "parcel_machines": [
    {
      "id": 123,
      "reference": "PM12345",
      "name": "Parcel Locker - Hauptstraße",
      "carrier_id": 19,
      "carrier_name": "T Grupp OÜ (Cargobus)",
      "address_row_1": "Hauptstraße 123",
      "city": "Berlin",
      "postcode": "10115",
      "country": "DE",
      "latitude": 52.52,
      "longitude": 13.405
    }
  ]
}

Cargobus EE Tjenester-API

Cargoson-motor
Cargoson-forbedring:

Services-API er en Cargoson-levert funksjon som returnerer en enhetlig liste over alle tilgjengelige tjenester fra Cargobus EE og andre transportører i nettverket ditt. Dette lar deg dynamisk vise fraktalternativer til kundene dine uten å hardkode tjeneste-ID-er.

Hent en liste over tilgjengelige Cargobus EE forsendelsetjenester. Bruk tjeneste-ID-er når du gjør direkte bookinger for å sikre at du får nøyaktig den tjenesten du ønsker.

GET /services/list

Returner liste over Cargobus EE tjenester tilgjengelig på din firmakonto.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 19,
        "name": "T Grupp OÜ (Cargobus)",
        "short_name": "Cargobus EE",
        "reg_no": "10056042"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 19,
        "name": "T Grupp OÜ (Cargobus)",
        "short_name": "Cargobus EE",
        "reg_no": "10056042"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Bruke tjeneste-ID-er

Tjeneste-ID-er fra dette endepunktet kan brukes med direct_booking_service_id-parameteren når du oppretter bookinger for å velge riktig tjeneste og sende forsendelsen til Cargobus EE-systemet.

Komplette kodeeksempler

Nedenfor er komplette fungerende eksempler som viser hele arbeidsflyten: få rater, velg en tjeneste, book forsendelse og hent sporingsinformasjon.

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

# Step 1: Get freight prices for Cargobus EE
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 bookToCargobusEE() {
  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
bookToCargobusEE();
import requests

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

def book_to_cargobus_ee():
    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_cargobus_ee()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';

define('CARRIER_SERVICE_ID', 85);

function bookToCargobusEE($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
bookToCargobusEE($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_cargobus_ee
  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_cargobus_ee

Hvorfor bruke Cargoson API for Cargobus EE integrasjon

Å integrere direkte med Cargobus EEs native API betyr å slite med transportørspesifikk dokumentasjon, håndtere unike dataformater og vedlikeholde separat kode for hver leverandør. Cargoson tilbyr ett enkelt enhetlig RESTful API som støtter Cargobus EE og 2000+ transportører på tvers av europeiske og nordamerikanske markeder, med nye integrasjoner lagt til ukentlig. Vi reduserer utviklingstiden fra måneder til dager, håndterer transportøroppdateringer automatisk og administrerer regionale unntak. Med Cargoson fokuserer du på å vokse virksomheten din i stedet for å håndtere transportørers tekniske kompleksiteter.

Fordeler ved å integrere Cargobus EE via Cargoson API

Ett API for alle transportører

Erstatt dusinvis av separate transportørintegrasjoner med én tilkobling til Cargobus EE og 2000+ andre leverandører via Cargoson API. Ikke mer vedlikehold av flere autentiseringssystemer, håndtering av forskjellige dataformater eller oppdatering av kode når transportører endrer sine endepunkter.

Klar dokumentasjon og støtte

Få tilgang til enkel API-dokumentasjon med fungerende kodeeksempler, detaljerte parameterbeskrivelser og klart definerte endepunkter. Vårt supportteam kjenner logistikkbransjen og kan hjelpe deg med å løse integrasjonsutfordringer raskt.

Kodeeksempler på flere språk

Kom i gang umiddelbart med klare til bruk kodeeksempler i cURL, JavaScript, Python, PHP og Ruby. Kopier, lim inn og tilpass dem til din stack, ingen behov for å finne ut autentisering, forespørselsformatering eller feilhåndtering fra bunnen av.

Ekte støtte fra logistikkeksperter

Få hjelp fra folk som forstår frakt, ikke bare API-er. Enten du feilsøker et integrasjonsproblem eller trenger råd om den beste måten å håndtere internasjonale forsendelser på, er teamet vårt her for å hjelpe.

Verdens mest avanserte fraktprismotor

Cargosons fraktpris-API går langt utover enkle rateoppslag. Vår motor kan lese, analysere og digitalisere enhver transportørprisliste uavhengig av format eller struktur, noe som gjør den til den kraftigste fraktadministrasjonsløsningen i logistikkbransjen.

Universell formatstøtte

Vår fraktprismotor håndterer alle formater: strukturerte Excel-filer, komplekse PDF-er, friteksttekst eller til og med håndskrevne prislister. Last opp transportørkontraktene dine i hvilket som helst format, og vår fraktprismotor vil parse prisreglene, tilleggsavgiftene og betingelsene automatisk.

Direkte transportør-API-integrasjon

For transportører med moderne systemer (typisk globale pakketransportører og teknologifremmede fraktselskaper), henter vi rater direkte fra deres API-er i sanntid. Dette sikrer at du alltid får den mest oppdaterte prisingen uten manuelle oppdateringer.

Offentlige online-priser

Har du ikke en kontrakt med en transportør ennå? Ikke noe problem. Cargoson kan hente offentlige online-priser fra transportører, slik at du kan sammenligne alternativer selv før du etablerer formelle avtaler.

Spot-rateforespørsler

For komplekse forsendelser eller spesielle tilfeller, be om spot-rater hvor transportører gjennomgår dine spesifikke krav og gir et tilpasset tilbud. Alt administrert gjennom samme enhetlige API.

Cargobus EE forsendelses-API: Forenklet logistikkautomatisering

Automatiser oppfyllelsesprosessen din ved å integrere Cargosons forsendelses-API med Cargobus EE og 2000+ transportører over hele verden. Opprett fraktetiketter, book hentinger og administrer alle transportørene dine fra én plattform samtidig som du beholder dine forhandlede priser med hver leverandør.

Automatisert etikettgenerering

Generer transportørgodkjente fraktetiketter i én enkelt API-forespørsel. Støtte for flere etikettformater (A4, termoskriver) og automatisk tolldokumentasjon for internasjonale forsendelser betyr mindre manuelt arbeid og færre fraktefeil.

Sanntids ratesammenligning

Sammenlign live-rater på tvers av Cargobus EE og dine andre aktiverte transportører for å velge det beste alternativet basert på kostnad, hastighet og tjenestenivå.

Behold dine forhandlede priser

Koble til din eksisterende Cargobus EE-konto for å beholde dine forhandlede fraktpriser. Cargoson tilbyr ganske enkelt den tekniske integrasjonen: du beholder dine direkte transportørforhold og tilpassede prisavtaler.

Sikkerhet på bedriftsnivå for Cargobus EE API-integrasjon

Cargosons API-infrastruktur oppfyller europeiske samsvarsstandarder, som sikrer sikker, revisjonsklar Cargobus EE-integrasjon for virksomheten din:

  • GDPR-kompatibel datahåndtering og lagring over hele Europa
  • ISO 27001-sertifisert informasjonssikkerhetsstyring
  • Ende-til-ende-kryptering for all API-kommunikasjon

Klar til å integrere Cargobus EE forsendelse i plattformen din?

Book en demo for å se hvordan Cargosons enhetlige API kan forenkle logistikkoperasjonene dine

Book en demo

Ofte stilte spørsmål

Cargoson er et TMS (Transport Management System) for europeiske og nordamerikanske produsenter. Vår sentrale visjon er enkelhet: integrer alle transportører og fraktmoduser (vei, pakke, fly, sjø, jernbane) i ett vindu og ett API. Enten du sender paller over Europa eller containere over havet, administrer alt fra én enkelt plattform.

Å komme i gang er enkelt. Først, registrer deg for en Cargoson-konto og få din API-nøkkel. Deretter kobler du til din Cargobus EE-konto i Cargoson-dashbordet. Når det er gjort, kan du begynne å gjøre API-forespørsler ved hjelp av vår dokumentasjon og kodeeksempler. Hele oppsettet tar vanligvis mindre enn en time.

Ja, du trenger din egen Cargobus EE-konto for å bruke Cargobus EE-tjenester gjennom Cargoson. Dette sikrer at du beholder dine forhandlede priser og opprettholder ditt direkte forhold til Cargobus EE. Cargoson tilbyr ganske enkelt det tekniske integrasjonslaget som gjør det enklere å jobbe med Cargobus EE og andre transportører gjennom ett enhetlig API.

Cargoson opererer med en transparent månedlig abonnementsmodell uten gebyrer per forsendelse eller provisjoner, noensinne. Planen din inkluderer API-tilgang, dokumentasjon, støtte og automatiske oppdateringer når transportører endrer systemene sine. Du betaler Cargobus EE direkte for frakt til dine forhandlede priser. Ingen skjulte kostnader, ingen overraskelser.

Absolutt! Det er hovedfordelen med å bruke Cargoson. Når du integrerer vårt API, kan du jobbe med Cargobus EE og 2000+ andre transportører ved å bruke samme endepunkter, autentisering og dataformater. Legg til nye transportører uten å skrive ny integrasjonskode, bare aktiver dem i Cargoson-dashbordet ditt.

Ja! Vi integrerer hvilken som helst transportør du trenger uten ekstra kostnad. Dette er inkludert i Cargoson-abonnementet ditt. Bare introduser oss for transportørkontaktene dine, så håndterer vi den tekniske integrasjonen. Nye integrasjoner legges til daglig basert på kundeforespørsler.

Ja, vi kan sette opp webhooks for å varsle systemet ditt basert på hendelser og triggere i Cargoson, som forsendelsesstatusoppdateringer, bookingbekreftelser eller endringer i forsendelsene dine. Kontakt supportteamet vårt eller book en demo for å diskutere dine webhook-krav og oppsett.

Cargoson kan være overkill hvis du er et lite selskap som sender bare noen få ganger per måned med én enkelt transportør. Du kan sannsynligvis administrere disse forsendelsene fint uten et TMS. Vi er heller ikke riktig valg hvis du er en transportør eller speditør. Cargoson er bygget spesifikt for vareeiere (BCO-er) som produsenter og distributører som eier varene som sendes. Hvis du leter etter et TMS for å administrere din spedisjonsbedrift eller transportøroperasjoner, er vi ikke designet for det bruksområdet.

Vårt API returnerer klare feilmeldinger med spesifikke feilkoder og beskrivelser. Vanlige problemer er dokumentert med løsninger i utviklerdokumentasjonen vår. Hvis du står fast, kan supportteamet vårt hjelpe med å feilsøke integrasjonsproblemer.

Vi implementerer rimelige rategrenser for å sikre systemstabilitet for alle kunder. Det er både langtidsrategrenser og burst-rategrenser, med verdier som bør være mer enn nok for de fleste virksomheter. Hvis du trenger høyere grenser for bedriftsskala-operasjoner, kontakt oss for å diskutere tilpassede rategrenser for kontoen din.

Begynn å bruke Cargobus EE API

Få dine API-legitimasjoner for å starte integrasjonen

Få din API-nøkkel