Olimzar API-dokumentation
Komplet API-reference til Olimzar forsendelseintegration. Få adgang til booking, fragtrater, labelgenerering og sporing gennem Cargosons samlede transportstyring-API.
Få din API-nøgleOlimzar API-oversigt
Denne API giver programmatisk adgang til Olimzar forsendelseservices gennem Cargosons samlede transportstyringplatform. Integrer Olimzar funktioner, herunder forsendelsesbooking, sporing, ratetilbud og labelgenerering i dine applikationer.
API-funktioner
- Opret og administrer Olimzar forsendelsesbookinger
- Forsendelsessporing og statusopdateringer
- Få fragtratetilbud og transittider
- Generer forsendelselabels i flere formater (PDF, PNG, ZPL)
- Opret returlabels til returlogistik
- Forespørg pakkeboks- og afhentningsstedplaceringer
- Vis tilgængelige fragtmandservices
- Automatiserede kurérafhentningsanmodninger
Base URL & godkendelse
Base URL
https://www.cargoson.com/api/v1
Godkendelse
Alle anmodninger skal inkludere din API-nøgle og den korrekte Accept-header:
Authorization: Bearer DIN_API_NØGLE
Accept: application/vnd.api.v1
Olimzar booking-API
Cargoson-automatiseringOlimzar leverer ikke en booking-API. Cargoson sender automatisk bookingbekræftelser via e-mail på dine vegne, mens du stadig bruger den samme samlede API-grænseflade.
Opret Olimzar forsendelser og hent forsendelselabels ved hjælp af Queries-endpointet. Bookinger sendes til fragtmandens system i realtid, og labels genereres øjeblikkeligt.
Query vs direkte booking
Queries-endpointet understøtter to bookingmetoder:
- Query-tilstand - Opret en transportanmodning uden at specificere en fragtmand (endnu). Dette giver dig mulighed for manuelt at sammenligne fragtmandpriser og leveringstider, anmode om nye spotpriser, foretage justeringer/opdateringer til forsendelsen og delegere fragtmandvalg til andre, før du foretager det endelige fragtmandvalg i Cargoson.
- Direkte booking - Angiv et fragtmandservice-ID (fra Rate- eller Services-API'en) for at booke direkte med Olimzar. Dette sikrer, at din forsendelse bruger præcis den service, du har valgt.
For at booke direkte til Olimzar, skal du altid definere direct_booking_service_id.
/queries
Opret en forsendelsesforespørgsel eller direkte booking til Olimzar. Inkluder direct_booking_service_id for at oprette en øjeblikkelig booking.
Request Parameters
collection_date
string
required
Afhentningsdato i ÅÅÅÅ-MM-DD format
collection_country
string
required
Afhentningslandekode (ISO 3166-1 alpha-2)
collection_postcode
string
required
Afhentningspostnummer
collection_address_row_1
string
required
Afhentningsgadeadresse
collection_city
string
required
Afhentningsby
collection_company_name
string
required
Afsendervirksomhedsnavn
collection_contact_name
string
required
Afsenderkontaktperson
collection_contact_phone
string
required
Afsendertelefonnummer
delivery_country
string
required
Leveringslandekode
delivery_postcode
string
required
Leveringspostnummer
delivery_address_row_1
string
required
Leveringsgadeadresse
delivery_city
string
required
Leveringsby
delivery_company_name
string
required
Modtagervirksomhedsnavn
delivery_contact_name
string
required
Modtagerkontaktperson
delivery_contact_phone
string
required
Modtagertelefonnummer
rows_attributes
array
required
Array af pakker/paller med antal, pakketype, vægt og beskrivelse
options[direct_booking_service_id]
integer
Olimzar service-ID til 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"
}
Labelgenerering
Olimzar forsendelselabels genereres automatisk, når du opretter en booking. Labels er tilgængelige i flere formater for at understøtte forskellige printertyper.
Understøttede labelformater
a4 - A4 PDF-format til skrivebordsprintere (4 labels pr. side)label_printer - 4x6in (~10x15cm) PDF-format til termoprintere
Labels er inkluderet i bookingreaktionen via label_url-feltet. Download og print labelen fra den angivne URL efter booking.
Olimzar rate-API (fragtpriser)
Cargoson-motorOlimzar leverer ikke en native rate-API. Cargosons fragtprismotor beregner priser ved hjælp af dine uploadede prisaftaler, hvilket giver dig den samme API-oplevelse som fragtmænd med native rate-API'er. Du kan uploade fragtmandrater i ethvert format (Excel, PDF, endda håndskrevne prislister), og vi digitaliserer dem.
Få realtids Olimzar fragtrater før booking. Rate-API'en returnerer tilgængelige services, priser og estimerede leveringstider.
/freightPrices/list
Få fragtratetilbud fra Olimzar og andre aktiverede fragtmænd på din konto.
Request Parameters
collection_date
string
required
Afhentningsdato i ÅÅÅÅ-MM-DD format
collection_country
string
required
Afhentningslandekode (ISO 3166-1 alpha-2)
collection_postcode
string
required
Afhentningspostnummer
delivery_country
string
required
Leveringslandekode
delivery_postcode
string
required
Leveringspostnummer
rows_attributes
array
required
Array af pakker/paller med antal, pakketype, vægt 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": "Olimzar OÜ",
"reg_no": "10822915",
"id": 522,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "Olimzar OÜ",
"reg_no": "10822915",
"id": 522,
"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"
}
]
}
}
Olimzar sporings-API
Cargoson-automatiseringOlimzar leverer ikke sporingshændelser via API. Cargoson leverer en sporingsportal, hvor fragtmanden manuelt kan opdatere forsendelsesstatus, hvilket giver dig og dine kunder en konsistent sporingsoplevelse.
Spor Olimzar forsendelser ved hjælp af Cargoson-referencenummeret. Få aktuel status, placeringsopdateringer og estimeret leveringstid.
/bookings/{reference}
Hent sporingsdetaljer for en Olimzar forsendelse ved hjælp af Cargoson-bookingreferencen.
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"
}
Olimzar returlabel-API
Drevet af CargosonOlimzar understøtter ikke native returlabels. Cargoson genererer returlabels og administrerer returlogistikprocessen gennem vores platform.
Generer returforsendelselabels til Olimzar forsendelser. Returlabels giver kunderne mulighed for at sende varer retur ved hjælp af forudbetalt forsendelse.
/bookings/{reference}/return_labels
Opret et returlabel til en eksisterende Olimzar forsendelse.
Request Parameters
label_format
string
Labelformat: 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"
}
Returlabel-funktioner
- Forudbetalte returforsendelselabels
- Samme formatmuligheder som udgående labels (A4, termo)
- Separat sporingreference til returer
- Problemfri integration med Olimzar returservices
Olimzar kurérforespørgsler
Cargoson-automatiseringCargoson automatiserer kurérafhentningsanmodninger til Olimzar forsendelser, hvilket gør det til én opgave mindre, du skal tænke på.
Hvordan Cargoson håndterer kurérforespørgsler
Mange fragtmænd kræver, at du opretter labels separat og derefter manuelt anmoder om kurérafhentning. Andre har ikke et separat label plus kurérkaldsystem, og hver forsendelse er en komplet, separat forsendelse. Vi mener, at der bør være en enkelt standard for fragtmand-API'er, men i øjeblikket opretter hver fragtmand sit eget unikke system, hvilket gør det svært for deres brugere at huske hver enkelt særegenhed og indviklethed. Cargoson forenkler dine kurérkald ved at behandle hver forsendelse holistisk: kurérforespørgsler administreres automatisk som en del af bookingprocessen.
Smart afhentningsoptimering
Cargoson optimerer kurérkald for at reducere omkostninger og forbedre effektiviteten.
- 1. Batchkonsolidering - Flere forsendelser fra samme placering grupperes i en enkelt afhentningsanmodning
- 2. Fragtmandspecifik håndtering - Nogle fragtmænd inkluderer afhentning i bookingen, andre kræver separate anmodninger. Cargoson håndterer begge varianter automatisk for dig
- 3. Regelmæssige afhentningsplaner - Konfigurer forudplanlagte afhentninger med bestemte intervaller (f.eks. dagligt til mit hovedlager kl. 15) og Cargoson vil helt springe individuelle kurérkald over
Fordele
- Ingen grund til at holde styr på, hvilke fragtmænd der kræver separate kurérforespørgsler
- Automatisk optimering forhindrer unødvendige afhentningskald
- Understøttelse af regelmæssige afhentningsplaner
- Forenklet forsendelsesworkflow - opret bare bookingen
Konfiguration
Kurérafhentningsautomatisering er aktiveret som standard for alle Olimzar forsendelser. For at konfigurere regelmæssige afhentningsplaner eller tilpassede afhentningsoptimeringsregler, kontakt [email protected].
Olimzar services-API
Cargoson-motorServices-API'en er en Cargoson-leveret funktion, der returnerer en samlet liste over alle tilgængelige services fra Olimzar og andre fragtmænd i dit netværk. Dette giver dig mulighed for dynamisk at vise forsendelsesvalgmuligheder til dine kunder uden at hardcode service-ID'er.
Hent en liste over tilgængelige Olimzar forsendelseservices. Brug service-ID'er, når du foretager direkte bookinger for at sikre, at du får præcis den service, du ønsker.
/services/list
Returner liste over Olimzar services tilgængelige på din virksomhedskonto.
Example Response
{
"services": [
{
"carrier": {
"id": 522,
"name": "Olimzar OÜ",
"short_name": "Olimzar",
"reg_no": "10822915"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 522,
"name": "Olimzar OÜ",
"short_name": "Olimzar",
"reg_no": "10822915"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Brug af service-ID'er
Service-ID'er fra dette endpoint kan bruges med direct_booking_service_id-parameteren, når du opretter bookinger for at vælge den rigtige service og sende forsendelsen til Olimzar systemet.
Komplette kodeeksempler
Nedenfor er komplette fungerende eksempler, der viser hele workflowet: få rater, vælg en service, book forsendelse og udtræk sporingsinformation.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for Olimzar
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 bookToOlimzar() {
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
bookToOlimzar();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_olimzar():
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_olimzar()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToOlimzar($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
bookToOlimzar($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_olimzar
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_olimzar
Hvorfor bruge Cargoson API til Olimzar integration
At integrere direkte med Olimzar's native API betyder at kæmpe med fragtmandspecifik dokumentation, håndtere unikke dataformater og vedligeholde separat kode for hver udbyder. Cargoson tilbyder en enkelt samlet RESTful API, der understøtter Olimzar og 2.000+ fragtmænd på tværs af europæiske og nordamerikanske markeder, med nye integrationer tilføjet ugentligt. Vi reducerer udviklingstiden fra måneder til dage, håndterer fragtmandopdateringer automatisk og administrerer regionale undtagelser. Med Cargoson fokuserer du på at vokse din forretning i stedet for at administrere fragtmandtekniske kompleksiteter.
Fordele ved at integrere Olimzar via Cargoson API
Én API til alle fragtmænd
Erstat snesevis af separate fragtmandintegrationer med én forbindelse til Olimzar og 2.000+ andre udbydere via Cargoson API. Ikke mere vedligeholdelse af flere godkendelsessystemer, håndtering af forskellige dataformater eller opdatering af kode, når fragtmænd ændrer deres endpoints.
Klar dokumentation og support
Få adgang til ligetil API-dokumentation med fungerende kodeeksempler, detaljerede parameterbeskrivelser og klart definerede endpoints. Vores supportteam kender logistikbranchen og kan hjælpe dig med at løse integrationsudfordringer hurtigt.
Kodeeksempler på flere sprog
Kom i gang med det samme med klar-til-brug kodeeksempler i cURL, JavaScript, Python, PHP og Ruby. Kopier, indsæt og tilpas dem til din stack, ingen grund til at finde ud af godkendelse, anmodningsformatering eller fejlhåndtering fra bunden.
Reel support fra logistikeksperter
Få hjælp fra folk, der forstår forsendelse, ikke kun API'er. Uanset om du fejlsøger et integrationsproblem eller har brug for råd om den bedste måde at håndtere internationale forsendelser på, er vores team her for at hjælpe.
Verdens mest avancerede fragtprismotor
Cargosons fragtpris-API går langt ud over simple rateopslag. Vores motor kan læse, analysere og digitalisere enhver fragtmandprisliste uanset format eller struktur, hvilket gør den til den mest kraftfulde fragtratestyringsløsning i logistikbranchen.
Universel formatunderstøttelse
Vores fragtprismotor håndterer ethvert format: strukturerede Excel-filer, komplekse PDF'er, fri tekst eller endda håndskrevne prislister. Upload dine fragtmandkontrakter i ethvert format, og vores fragtratemotor vil parse prisreglerne, tillæg og betingelser automatisk.
Direkte fragtmand-API-integration
For fragtmænd med moderne systemer (typisk globale pakkeoperatører og teknologifremadrettede fragtvirksomheder) trækker vi rater direkte fra deres API'er i realtid. Dette sikrer, at du altid får de mest aktuelle priser uden manuelle opdateringer.
Offentlige onlinepriser
Har du ikke en kontrakt med en fragtmand endnu? Intet problem. Cargoson kan trække offentlige onlinepriser fra fragtmænd, hvilket giver dig mulighed for at sammenligne muligheder, selv før du etablerer formelle aftaler.
Spotprisanmodninger
For komplekse forsendelser eller særlige tilfælde, anmod om spotpriser, hvor fragtmænd gennemgår dine specifikke krav og giver et tilpasset tilbud. Alt administreret gennem den samme samlede API.
Olimzar forsendelses-API: Forenklet logistikautomatisering
Automatiser din opfyldelsesproces ved at integrere Cargosons forsendelses-API med Olimzar og 2.000+ fragtmænd verden over. Opret forsendelselabels, book afhentninger og administrer alle dine fragtmænd fra én platform, mens du beholder dine forhandlede rater med hver udbyder.
Automatiseret labelgenerering
Generer fragtmandgodkendte forsendelselabels i en enkelt API-anmodning. Understøttelse af flere labelformater (A4, termoprinter) og automatisk tolddokumentation til internationale forsendelser betyder mindre manuelt arbejde og færre forsendelsesfejl.
Realtids ratesammenligning
Sammenlign live rater på tværs af Olimzar og dine andre aktiverede fragtmænd for at vælge den bedste mulighed baseret på pris, hastighed og serviceniveau.
Behold dine forhandlede rater
Tilslut din eksisterende Olimzar konto for at beholde dine forhandlede forsendelsespriser. Cargoson leverer blot den tekniske integration: du beholder dine direkte fragtmandrelationer og tilpassede prisaftaler.
Virksomhedssikkerhed i verdensklasse til Olimzar API-integration
Cargosons API-infrastruktur opfylder europæiske overholdelsesstandarder, som sikrer sikker, revisionsklar Olimzar integration til din virksomhed:
- GDPR-kompatibel datahåndtering og -lagring på tværs af Europa
- ISO 27001-certificeret informationssikkerhedsstyring
- End-to-end kryptering for al API-kommunikation
Klar til at integrere Olimzar forsendelse i din platform?
Book en demo for at se, hvordan Cargosons samlede API kan forenkle dine logistikoperationer
Book en demoIndholdsfortegnelse
Ofte stillede spørgsmål
Begynd at bruge Olimzar API'en
Få dine API-legitimationsoplysninger for at begynde integration