Kredeo FH API-dokumentasjon

Integrert REST API

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

Få din API-nøkkel

Kredeo FH API-oversikt

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

API-funksjoner

  • Opprett og administrer Kredeo FH 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

Kredeo FH Booking-API

Cargoson-automatisering
Cargoson-forbedring:

Kredeo FH tilbyr ikke et booking-API. Cargoson sender automatisk bookingbekreftelser via e-post på dine vegne, mens du fortsatt bruker samme enhetlige API-grensesnitt.

Opprett Kredeo FH 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 Kredeo FH. Dette sikrer at forsendelsen din bruker nøyaktig den tjenesten du valgte.

For å booke direkte til Kredeo FH, definer alltid direct_booking_service_id.

POST /queries

Opprett en forsendelseforespørsel eller direkte booking for Kredeo FH. 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

Kredeo FH 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

Kredeo FH 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.

Kredeo FH Rate-API (fraktprising)

Cargoson-motor
Cargoson-forbedring:

Kredeo FH 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 Kredeo FH fraktrater før booking. Rate-API returnerer tilgjengelige tjenester, priser og estimerte leveringstider.

POST /freightPrices/list

Få fraktpristilbud fra Kredeo FH 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": "KREDO FH SIA",
        "reg_no": "40003536663",
        "id": 3287,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "KREDO FH SIA",
        "reg_no": "40003536663",
        "id": 3287,
        "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"
      }
    ]
  }
}

Kredeo FH Sporing-API

Cargoson-automatisering
Cargoson-forbedring:

Kredeo FH tilbyr ikke sporingshendelser via API. Cargoson tilbyr en sporingsportal hvor transportøren kan oppdatere forsendelsestatus manuelt, noe som gir deg og kundene dine en konsistent sporingsopplevelse.

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

GET /bookings/{reference}

Hent sporingsdetaljer for en Kredeo FH 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"
}

Kredeo FH Returfraktetiketter-API

Drevet av Cargoson
Cargoson-forbedring:

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

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

POST /bookings/{reference}/return_labels

Opprett en returfraktetikett for en eksisterende Kredeo FH 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 Kredeo FH returtjenester

Kredeo FH budforespørsler

Cargoson-automatisering

Cargoson automatiserer budhenteforespørsler for Kredeo FH 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 Kredeo FH forsendelser. For å konfigurere regelmessige henteplaner eller tilpassede henteoptimaliseringsregler, kontakt [email protected].

Kredeo FH Tjenester-API

Cargoson-motor
Cargoson-forbedring:

Services-API er en Cargoson-levert funksjon som returnerer en enhetlig liste over alle tilgjengelige tjenester fra Kredeo FH 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 Kredeo FH 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 Kredeo FH tjenester tilgjengelig på din firmakonto.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 3287,
        "name": "KREDO FH SIA",
        "short_name": "Kredeo FH",
        "reg_no": "40003536663"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 3287,
        "name": "KREDO FH SIA",
        "short_name": "Kredeo FH",
        "reg_no": "40003536663"
      },
      "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 Kredeo FH-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 Kredeo FH
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 bookToKredeoFH() {
  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
bookToKredeoFH();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToKredeoFH($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
bookToKredeoFH($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_kredeo_fh
  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_kredeo_fh

Hvorfor bruke Cargoson API for Kredeo FH integrasjon

Å integrere direkte med Kredeo FHs 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 Kredeo FH 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 Kredeo FH via Cargoson API

Ett API for alle transportører

Erstatt dusinvis av separate transportørintegrasjoner med én tilkobling til Kredeo FH 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.

Kredeo FH forsendelses-API: Forenklet logistikkautomatisering

Automatiser oppfyllelsesprosessen din ved å integrere Cargosons forsendelses-API med Kredeo FH 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 Kredeo FH 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 Kredeo FH-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 Kredeo FH API-integrasjon

Cargosons API-infrastruktur oppfyller europeiske samsvarsstandarder, som sikrer sikker, revisjonsklar Kredeo FH-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 Kredeo FH 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 Kredeo FH-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 Kredeo FH-konto for å bruke Kredeo FH-tjenester gjennom Cargoson. Dette sikrer at du beholder dine forhandlede priser og opprettholder ditt direkte forhold til Kredeo FH. Cargoson tilbyr ganske enkelt det tekniske integrasjonslaget som gjør det enklere å jobbe med Kredeo FH 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 Kredeo FH 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 Kredeo FH 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 Kredeo FH API

Få dine API-legitimasjoner for å starte integrasjonen

Få din API-nøkkel