Kuehne + Nagel SA API-dokumentaatio
Täydellinen API-viite Kuehne + Nagel SA lähetysintegraatioon. Pääsy varauksiin, rahtitariffit, tarrojen luonti ja seuranta Cargosonin yhtenäisen kuljetuksenhallinta-API:n kautta.
Hanki API-avaimesiKuehne + Nagel SA API-yleiskatsaus
Tämä API tarjoaa ohjelmallisen pääsyn Kuehne + Nagel SA kuljetuspalveluihin Cargosonin yhtenäisen kuljetuksenhallinnan alustan kautta. Integroi Kuehne + Nagel SA ominaisuudet, mukaan lukien lähetysten varaukset, seuranta, hintakyselyt ja tarrojen luonti sovelluksiisi.
API-ominaisuudet
- Luo ja hallitse Kuehne + Nagel SA lähetysvarauksia
- Lähetysten seuranta ja tilapäivitykset
- Hae rahtitariffien tarjoukset ja toimitusajat
- Luo lähetystarrat useissa muodoissa (PDF, PNG, ZPL)
- Luo palautustarrat käänteislogistiikkaan
- Hae pakettiautomaattien ja noutopisteiden sijainteja
- Listaa saatavilla olevat kuljetusliikkeen palvelut
- Automaattiset kuriirinoutopyynnöt
Perus-URL ja autentikointi
Perus-URL
https://www.cargoson.com/api/v1
Autentikointi
Kaikkien pyyntöjen on sisällettävä API-avaimesi ja oikea Accept-otsikko:
Authorization: Bearer SINUN_API_AVAIMESI
Accept: application/vnd.api.v1
Kuehne + Nagel SA varaus-API
Cargoson-automaatioKuehne + Nagel SA ei tarjoa varaus-API:a. Cargoson lähettää automaattisesti varausvahvistukset sähköpostitse puolestasi, samalla kun käytät edelleen samaa yhtenäistä API-rajapintaa.
Luo Kuehne + Nagel SA lähetykset ja hae lähetystarrat käyttämällä Queries-päätepistettä. Varaukset lähetetään kuljetusliikkeen järjestelmään reaaliajassa ja tarrat luodaan välittömästi.
Kysely vs suora varaus
Queries-päätepiste tukee kahta varausmenetelmää:
- Kyselytila - Luo kuljetuspyyntö määrittämättä (vielä) kuljetusliikettä. Tämä mahdollistaa kuljetusliikkeiden hintojen ja toimitusaikojen manuaalisen vertailun, uusien spot-hintojen pyytämisen, lähetyksen muutosten/päivitysten tekemisen ja kuljetusliikkeen valinnan delegoinnin muille, ennen lopullista kuljetusliikkeen valintaa Cargosonissa.
- Suora varaus - Määritä kuljetusliikkeen palvelutunnus (Rate- tai Services-API:sta) varataksesi suoraan Kuehne + Nagel SA:n kautta. Tämä varmistaa, että lähetyksesi käyttää täsmälleen valitsemaasi palvelua.
Varataksesi suoraan Kuehne + Nagel SA:lle, määritä aina direct_booking_service_id.
/queries
Luo lähetyskysely tai suora varaus Kuehne + Nagel SA:lle. Sisällytä direct_booking_service_id välittömän varauksen luomiseksi.
Request Parameters
collection_date
string
required
Noutopäivä muodossa VVVV-KK-PP
collection_country
string
required
Noutomaan koodi (ISO 3166-1 alpha-2)
collection_postcode
string
required
Noudon postinumero
collection_address_row_1
string
required
Noudon katuosoite
collection_city
string
required
Noudon kaupunki
collection_company_name
string
required
Lähettäjän yrityksen nimi
collection_contact_name
string
required
Lähettäjän yhteyshenkilö
collection_contact_phone
string
required
Lähettäjän puhelinnumero
delivery_country
string
required
Toimitusmaan koodi
delivery_postcode
string
required
Toimituksen postinumero
delivery_address_row_1
string
required
Toimituksen katuosoite
delivery_city
string
required
Toimituksen kaupunki
delivery_company_name
string
required
Vastaanottajan yrityksen nimi
delivery_contact_name
string
required
Vastaanottajan yhteyshenkilö
delivery_contact_phone
string
required
Vastaanottajan puhelinnumero
rows_attributes
array
required
Pakettien/lavien taulukko määrän, pakkaustyyppin, painon ja kuvauksen kanssa
options[direct_booking_service_id]
integer
Kuehne + Nagel SA palvelutunnus suoraa varausta varten
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"
}
Tarrojen luonti
Kuehne + Nagel SA lähetystarrat luodaan automaattisesti varauksen luomisen yhteydessä. Tarrat ovat saatavilla useissa muodoissa erilaisten tulostintyyppien tueksi.
Tuetut tarramuodot
a4 - A4 PDF-muoto työpöytätulostimille (4 tarraa per sivu)label_printer - 4x6in (~10x15cm) PDF-muoto lämpötulostimille
Tarrat sisältyvät varausvastauksen label_url-kenttään. Lataa ja tulosta tarra annetusta URL-osoitteesta varauksen jälkeen.
Kuehne + Nagel SA hinta-API (rahtihinnoittelu)
Cargoson-moottoriKuehne + Nagel SA ei tarjoa natiivi hinta-API:a. Cargosonin rahtihinnoittelumoottori laskee hinnat käyttämällä lataamiasi hintasopimuksia, tarjoten sinulle saman API-kokemuksen kuin kuljetusliikkeillä, joilla on natiivi hinta-API. Voit ladata kuljetusliikkeen hinnat missä tahansa muodossa (Excel, PDF, jopa käsinkirjoitetut hinnastot) ja me digitoimme ne.
Hae reaaliaikaiset Kuehne + Nagel SA rahtihinnat ennen varausta. Rate-API palauttaa saatavilla olevat palvelut, hinnat ja arvioidut toimitusajat.
/freightPrices/list
Hae rahtitariffien tarjoukset Kuehne + Nagel SA:lta ja muilta tilillesi aktivoiduilta kuljetusliikkeiltä.
Request Parameters
collection_date
string
required
Noutopäivä muodossa VVVV-KK-PP
collection_country
string
required
Noutomaan koodi (ISO 3166-1 alpha-2)
collection_postcode
string
required
Noudon postinumero
delivery_country
string
required
Toimitusmaan koodi
delivery_postcode
string
required
Toimituksen postinumero
rows_attributes
array
required
Pakettien/lavien taulukko määrän, pakkaustyyppin, painon ja kuvauksen kanssa
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": "Kuehne and Nagel Company Limited",
"reg_no": "4030013167",
"id": 5039,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "Kuehne and Nagel Company Limited",
"reg_no": "4030013167",
"id": 5039,
"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"
}
]
}
}
Kuehne + Nagel SA seuranta-API
Cargoson-automaatioKuehne + Nagel SA ei tarjoa seurantatapahtumia API:n kautta. Cargoson tarjoaa seurantaportaalin, jossa kuljetusliike voi manuaalisesti päivittää lähetyksen tilan, antaen sinulle ja asiakkaillesi johdonmukaisen seurantakokemuksen.
Seuraa Kuehne + Nagel SA lähetyksiä käyttämällä Cargosonin viitenumeroa. Saat nykyisen tilan, sijaintipäivitykset ja arvioidun toimitusajan.
/bookings/{reference}
Hae seurantatiedot Kuehne + Nagel SA lähetykselle käyttämällä Cargosonin varausviitettä.
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"
}
Kuehne + Nagel SA palautustarrat-API
Cargosonin tukemaKuehne + Nagel SA ei natiivisti tue palautustarroja. Cargoson luo palautustarrat ja hallitsee palautuslogistiikkaprosessin alustamme kautta.
Luo palautustarrat Kuehne + Nagel SA lähetyksille. Palautustarrat mahdollistavat asiakkaiden lähettää tuotteita takaisin ennakkoon maksetulla toimituksella.
/bookings/{reference}/return_labels
Luo palautustarra olemassa olevalle Kuehne + Nagel SA lähetykselle.
Request Parameters
label_format
string
Tarran muoto: a4 tai label_printer (oletus: 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"
}
Palautustarran ominaisuudet
- Ennakkoon maksetut palautustarrat
- Samat muotovaihtoehdot kuin lähtevissä tarroissa (A4, lämpötulostus)
- Erillinen seurantaviite palautuksille
- Saumaton integraatio Kuehne + Nagel SA palautuspalveluihin
Kuehne + Nagel SA kuriiripyynnöt
Cargoson-automaatioCargoson automatisoi kuriirinoutopyynnöt Kuehne + Nagel SA lähetyksille, mikä tekee siitä yhden tehtävän vähemmän, josta sinun tarvitsee huolehtia.
Miten Cargoson käsittelee kuriiripyyntöjä
Monet kuljetusliikkeet vaativat sinua luomaan tarrat erikseen ja pyytämään sitten manuaalisesti kuriirinoudon. Toisilla ei ole erillistä tarra- ja kuriirikutsujärjestelmää, ja jokainen lähetys on täydellinen, erillinen lähetys. Uskomme, että kuljetusliikkeiden API:iden tulisi olla yhtenäinen standardi, mutta tällä hetkellä jokainen kuljetusliike luo oman ainutlaatuisen järjestelmänsä, mikä tekee käyttäjien vaikeaksi muistaa kunkin erityispiirteet ja monimutkaisuudet. Cargoson yksinkertaistaa kuriirikutsujasi käsittelemällä jokaisen lähetyksen kokonaisvaltaisesti: kuriiripyynnöt hallitaan automaattisesti osana varausprosessia.
Älykäs noudon optimointi
Cargoson optimoi kuriirikutsut kustannusten vähentämiseksi ja tehokkuuden parantamiseksi.
- 1. Eräkonsolidointi - Useat lähetykset samasta sijainnista ryhmitellään yhdeksi noutopyynnöksi
- 2. Kuljetusliikkekohtainen käsittely - Jotkut kuljetusliikkeet sisällyttävät noudon varaukseen, toiset vaativat erilliset pyynnöt. Cargoson käsittelee molemmat variantit automaattisesti puolestasi
- 3. Säännölliset noutojärjestelyt - Määritä ennalta aikataulutetut noudot tietyin väliajoin (esim. päivittäin päävarastooni klo 15) ja Cargoson ohittaa yksittäiset kuriirikutsut kokonaan
Edut
- Ei tarvitse seurata, mitkä kuljetusliikkeet vaativat erilliset kuriiripyynnöt
- Automaattinen optimointi estää tarpeettomat noutokutsut
- Tuki säännöllisille noutojärjestelyille
- Yksinkertaistettu lähetystyönkulku - luo vain varaus
Määritys
Kuriirinoudon automaatio on oletuksena käytössä kaikille Kuehne + Nagel SA lähetyksille. Määrittääksesi säännöllisiä noutojärjestelyjä tai mukautettuja noudon optimointisääntöjä, ota yhteyttä [email protected].
Kuehne + Nagel SA palvelut-API
Cargoson-moottoriPalvelut-API on Cargosonin tarjoama ominaisuus, joka palauttaa yhtenäisen luettelon kaikista saatavilla olevista palveluista Kuehne + Nagel SA:lta ja muilta verkostosi kuljetusliikkeiltä. Tämä mahdollistaa lähetysvaihtoehtojen dynaamisen näyttämisen asiakkaillesi ilman palvelutunnusten kovakoodausta.
Hae luettelo saatavilla olevista Kuehne + Nagel SA kuljetuspalveluista. Käytä palvelutunnuksia tehdessäsi suoria varauksia varmistaaksesi, että saat täsmälleen haluamasi palvelun.
/services/list
Palauta luettelo yrityksesi tilillä saatavilla olevista Kuehne + Nagel SA palveluista.
Example Response
{
"services": [
{
"carrier": {
"id": 5039,
"name": "Kuehne and Nagel Company Limited",
"short_name": "Kuehne + Nagel SA",
"reg_no": "4030013167"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 5039,
"name": "Kuehne and Nagel Company Limited",
"short_name": "Kuehne + Nagel SA",
"reg_no": "4030013167"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Palvelutunnusten käyttäminen
Tämän päätepisteen palvelutunnuksia voidaan käyttää direct_booking_service_id-parametrin kanssa varauksia luotaessa oikean palvelun valitsemiseksi ja lähetyksen lähettämiseksi Kuehne + Nagel SA järjestelmään.
Täydelliset koodiesimerkit
Alla on täydelliset toimivat esimerkit, jotka näyttävät koko työnkulun: hae hinnat, valitse palvelu, varaa lähetys ja pura seurantatiedot.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for Kuehne + Nagel SA
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 bookToKuehne+NagelSA() {
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
bookToKuehne+NagelSA();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_kuehne___nagel_sa():
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_kuehne___nagel_sa()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToKuehneNagelSA($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
bookToKuehneNagelSA($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_kuehne___nagel_sa
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_kuehne___nagel_sa
Miksi käyttää Cargoson API:a Kuehne + Nagel SA integraatioon
Suora integrointi Kuehne + Nagel SA:n natiivin API:n kanssa tarkoittaa painimista kuljetusliikkekohtaisen dokumentaation, erilaisten tietomuotojen käsittelyn ja erillisen koodin ylläpidon kanssa jokaiselle palveluntarjoajalle. Cargoson tarjoaa yhden yhtenäisen RESTful API:n, joka tukee Kuehne + Nagel SA:a ja yli 2000 kuljetusliikettä Euroopan ja Pohjois-Amerikan markkinoilla, ja uusia integraatioita lisätään viikoittain. Vähennämme kehitysajan kuukausista päiviin, käsittelemme kuljetusliikkeiden päivitykset automaattisesti ja hallitsemme alueelliset poikkeukset. Cargosonin kanssa keskityt liiketoimintasi kasvattamiseen sen sijaan, että hallitsisit kuljetusliikkeiden teknisiä monimutkaisuuksia.
Kuehne + Nagel SA:n integroinnin edut Cargoson API:n kautta
Yksi API kaikille kuljetusliikkeille
Korvaa kymmenet erilliset kuljetusliikkeiden integraatiot yhdellä yhteydellä Kuehne + Nagel SA:iin ja yli 2000 muuhun palveluntarjoajaan Cargoson API:n kautta. Ei enää useiden autentikointijärjestelmien ylläpitoa, erilaisten tietomuotojen käsittelyä tai koodin päivittämistä, kun kuljetusliikkeet muuttavat päätepisteitään.
Selkeä dokumentaatio ja tuki
Pääsy suoraviivaiseen API-dokumentaatioon toimivien koodiesimerkkien, yksityiskohtaisten parametrikuvausten ja selkeästi määriteltyjen päätepisteiden kanssa. Tukitiimimme tuntee logistiikka-alan ja voi auttaa sinua ratkaisemaan integraatiohaasteita nopeasti.
Koodiesimerkit useilla kielillä
Aloita välittömästi käyttövalmiilla koodiesimerkeillä cURL, JavaScript, Python, PHP ja Ruby -kielillä. Kopioi, liitä ja mukauta ne omaan pinoon, ei tarvitse selvittää autentikointia, pyynnön muotoilua tai virheiden käsittelyä tyhjästä.
Todellinen tuki logistiikka-asiantuntijoilta
Saat apua ihmisiltä, jotka ymmärtävät lähetyksiä, eivät vain API:ita. Olipa kyse integraatio-ongelman vianmäärityksestä tai neuvosta kansainvälisten lähetysten parhaasta käsittelytavasta, tiimimme on täällä auttamassa.
Maailman edistynein rahtihinnoittelumoottori
Cargosonin rahtihinnoittelu-API menee paljon pidemmälle kuin yksinkertaiset hintakyselyt. Moottori voi lukea, analysoida ja digitoida minkä tahansa kuljetusliikkeen hinnaston riippumatta muodosta tai rakenteesta, mikä tekee siitä tehokkaimman rahtihintojen hallintaratkaisun logistiikka-alalla.
Universaali muototuki
Rahtihinnoittelumoottori käsittelee minkä tahansa muodon: strukturoidut Excel-tiedostot, monimutkaiset PDF:t, vapaa teksti tai jopa käsinkirjoitetut hinnastot. Lataa kuljetusliikkeen sopimuksesi missä tahansa muodossa, ja rahtihinnoittelumoottori jäsentää hinnoittelusäännöt, lisämaksut ja ehdot automaattisesti.
Suora kuljetusliikkeen API-integraatio
Modernien järjestelmien omaavien kuljetusliikkeiden (tyypillisesti globaalit pakettikuljetusliikkeet ja teknologiaystävälliset rahtiyhtiöt) osalta haemme hinnat suoraan heidän API:staan reaaliajassa. Tämä varmistaa, että saat aina ajantasaisimman hinnoittelun ilman manuaalisia päivityksiä.
Julkiset verkkohinnat
Eikö sinulla ole vielä sopimusta kuljetusliikkeen kanssa? Ei hätää. Cargoson voi hakea julkiset verkkohinnat kuljetusliikkeiltä, jolloin voit vertailla vaihtoehtoja jo ennen virallisten sopimusten solmimista.
Spot-hintapyynnöt
Monimutkaisille lähetyksille tai erikoistapauksille pyydä spot-hintoja, joissa kuljetusliikkeet tarkastelevat erityisvaatimuksiasi ja tarjoavat räätälöidyn tarjouksen. Kaikki hallitaan saman yhtenäisen API:n kautta.
Kuehne + Nagel SA lähetys-API: Yksinkertaistettu logistiikka-automaatio
Automatisoi täyttämisprosessisi integroimalla Cargosonin lähetys-API Kuehne + Nagel SA:iin ja yli 2000 kuljetusliikkeeseen maailmanlaajuisesti. Luo lähetystarrat, varaa noudot ja hallitse kaikkia kuljetusliikkeitäsi yhdeltä alustalta säilyttäen samalla neuvotellut hintasi kunkin palveluntarjoajan kanssa.
Automaattinen tarrojen luonti
Luo kuljetusliikkeen hyväksymät lähetystarrat yhdellä API-pyynnöllä. Tuki useille tarramuodoille (A4, lämpötulostin) ja automaattinen tullausasiakirjojen luonti kansainvälisille lähetyksille tarkoittaa vähemmän manuaalista työtä ja vähemmän lähetysvirheitä.
Reaaliaikainen hintojen vertailu
Vertaile reaaliaikaisia hintoja Kuehne + Nagel SA:n ja muiden aktivoitujen kuljetusliikkeidesi välillä valitaksesi parhaan vaihtoehdon kustannusten, nopeuden ja palvelutason perusteella.
Säilytä neuvotellut hintasi
Yhdistä olemassa oleva Kuehne + Nagel SA tilisi säilyttääksesi neuvotellut lähetyshinnat. Cargoson tarjoaa vain teknisen integraation: säilytät suorat kuljetusliikesuhteesi ja mukautetut hinnoittelusopimuksesi.
Yritystason turvallisuus Kuehne + Nagel SA API-integraatioon
Cargosonin API-infrastruktuuri täyttää eurooppalaiset vaatimustenmukaisuusstandardit, jotka varmistavat turvallisen, tarkastuskelpoisen Kuehne + Nagel SA integraation yrityksellesi:
- GDPR-yhteensopiva tietojen käsittely ja tallennus kaikkialla Euroopassa
- ISO 27001 -sertifioitu tietoturvan hallinta
- Päästä päähän -salaus kaikille API-viestinnöille
Valmis integroimaan Kuehne + Nagel SA lähetykset alustaasi?
Varaa demo nähdäksesi, miten Cargosonin yhtenäinen API voi yksinkertaistaa logistiikkatoimintojasi
Varaa demoSisällysluettelo
Usein kysytyt kysymykset
Aloita Kuehne + Nagel SA API:n käyttö
Hanki API-tunnuksesi integraation aloittamiseksi