Via3L Freight API dokumentacija
Popolna API referenca za Via3L Freight integracijo pošiljanja. Dostop do rezervacij, tovornih cen, generiranja nalepk in sledenja preko Cargosonove enotne API za upravljanje prevozov.
Pridobite svoj API ključVia3L Freight API pregled
Ta API omogoča programski dostop do Via3L Freight storitev pošiljanja preko Cargosonove enotne platforme za upravljanje prevozov. Integrirajte Via3L Freight zmogljivosti, vključno z rezervacijo pošiljk, sledenjem, cenovnimi ponudbami in generiranjem nalepk v vaše aplikacije.
API zmogljivosti
- Ustvarite in upravljajte Via3L Freight rezervacije pošiljk
- Sledenje pošiljkam in posodobitve statusa
- Pridobite ponudbe za tovorne cene in čase prevoza
- Generirajte nalepke za pošiljanje v več formatih (PDF, PNG, ZPL)
- Ustvarite nalepke za vračilo za povratno logistiko
- Poiščite lokacije paketomatov in prevzemnih mest
- Seznam razpoložljivih storitev prevoznika
- Avtomatizirane zahteve za prevzem kurirja
Osnovni URL in avtentikacija
Osnovni URL
https://www.cargoson.com/api/v1
Avtentikacija
Vse zahteve morajo vključevati vaš API ključ in pravilno Accept glavo:
Authorization: Bearer VAŠ_API_KLJUČ
Accept: application/vnd.api.v1
Via3L Freight API za rezervacije
Neposredni API prevoznikaUstvarite Via3L Freight pošiljke in pridobite nalepke za pošiljanje z uporabo končne točke Queries. Rezervacije se pošljejo v sistem prevoznika v realnem času in nalepke se generirajo takoj.
Poizvedba proti neposredni rezervaciji
Končna točka Queries podpira dve metodi rezervacije:
- Način poizvedbe - Ustvarite zahtevo za prevoz brez določitve prevoznika (še). To vam omogoča ročno primerjavo cen in časov dostave prevoznikov, zahtevo za nove spot cene, prilagoditve/posodobitve pošiljke in delegiranje izbire prevoznika drugim, preden naredite končno izbiro prevoznika v Cargosonu.
- Neposredna rezervacija - Določite ID storitve prevoznika (iz Rate ali Services API), da rezervirate neposredno pri Via3L Freight. To zagotavlja, da vaša pošiljka uporablja točno storitev, ki ste jo izbrali.
Za neposredno rezervacijo pri Via3L Freight vedno določite direct_booking_service_id.
/queries
Ustvarite poizvedbo pošiljke ali neposredno rezervacijo za Via3L Freight. Vključite direct_booking_service_id za ustvarjanje takojšnje rezervacije.
Request Parameters
collection_date
string
required
Datum prevzema v formatu LLLL-MM-DD
collection_country
string
required
Koda države prevzema (ISO 3166-1 alpha-2)
collection_postcode
string
required
Poštna številka prevzema
collection_address_row_1
string
required
Ulični naslov prevzema
collection_city
string
required
Mesto prevzema
collection_company_name
string
required
Ime podjetja pošiljatelja
collection_contact_name
string
required
Kontaktna oseba pošiljatelja
collection_contact_phone
string
required
Telefonska številka pošiljatelja
delivery_country
string
required
Koda države dostave
delivery_postcode
string
required
Poštna številka dostave
delivery_address_row_1
string
required
Ulični naslov dostave
delivery_city
string
required
Mesto dostave
delivery_company_name
string
required
Ime podjetja prejemnika
delivery_contact_name
string
required
Kontaktna oseba prejemnika
delivery_contact_phone
string
required
Telefonska številka prejemnika
rows_attributes
array
required
Niz paketov/palet s količino, package_type, težo in opisom
options[direct_booking_service_id]
integer
Via3L Freight ID storitve za neposredno rezervacijo
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"
}
Generiranje nalepk
Via3L Freight nalepke za pošiljanje se samodejno generirajo, ko ustvarite rezervacijo. Nalepke so na voljo v več formatih za podporo različnim vrstam tiskalnikov.
Podprti formati nalepk
a4 - A4 PDF format za namizne tiskalnike (4 nalepke na stran)label_printer - 4x6in (~10x15cm) PDF format za termične tiskalnike
Nalepke so vključene v odgovor rezervacije preko polja label_url. Prenesite in natisnite nalepko iz priloženega URL-ja po rezervaciji.
Via3L Freight API za cene (tovorne cene)
Cargoson motorVia3L Freight ne zagotavlja izvornega API za cene. Cargosonov motor za tovorne cene izračuna cene z uporabo vaših naloženih cenovnih dogovorov, kar vam zagotavlja enako izkušnjo API kot prevozniki z izvornimi API-ji za cene. Naložite lahko cene prevoznikov v katerem koli formatu (Excel, PDF, celo ročno napisane cenike) in mi jih bomo digitalizirali.
Pridobite Via3L Freight tovorne cene v realnem času pred rezervacijo. Rate API vrne razpoložljive storitve, cene in ocenjene čase dostave.
/freightPrices/list
Pridobite ponudbe za tovorne cene od Via3L Freight in drugih aktiviranih prevoznikov na vašem računu.
Request Parameters
collection_date
string
required
Datum prevzema v formatu LLLL-MM-DD
collection_country
string
required
Koda države prevzema (ISO 3166-1 alpha-2)
collection_postcode
string
required
Poštna številka prevzema
delivery_country
string
required
Koda države dostave
delivery_postcode
string
required
Poštna številka dostave
rows_attributes
array
required
Niz paketov/palet s količino, package_type, težo in opisom
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": "VIA 3L Freight OÜ",
"reg_no": "14714973",
"id": 167,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "VIA 3L Freight OÜ",
"reg_no": "14714973",
"id": 167,
"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"
}
]
}
}
Via3L Freight API za sledenje
Neposredni API prevoznikaSledite Via3L Freight pošiljkam z uporabo Cargosonove referenčne številke. Pridobite trenutni status, posodobitve lokacije in ocenjeni čas dostave.
/bookings/{reference}
Pridobite podrobnosti sledenja za Via3L Freight pošiljko z uporabo Cargosonove referenčne številke rezervacije.
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"
}
Via3L Freight API za nalepke za vračilo
Poganja CargosonVia3L Freight izvorno ne podpira nalepk za vračilo. Cargoson generira nalepke za vračilo in upravlja proces povratne logistike preko naše platforme.
Generirajte nalepke za vračilo pošiljanja za Via3L Freight pošiljke. Nalepke za vračilo omogočajo strankam, da vrnejo artikle z vnaprej plačanim pošiljanjem.
/bookings/{reference}/return_labels
Ustvarite nalepko za vračilo za obstoječo Via3L Freight pošiljko.
Request Parameters
label_format
string
Format nalepke: a4 ali label_printer (privzeto: 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"
}
Funkcije nalepk za vračilo
- Vnaprej plačane nalepke za vračilo pošiljanja
- Enake možnosti formata kot pri odhodnih nalepkah (A4, termični)
- Ločena referenca za sledenje za vračila
- Brezhibna integracija s Via3L Freight storitvami za vračilo
Via3L Freight zahteve za kurirja
Cargoson avtomatizacijaCargoson avtomatizira zahteve za prevzem kurirja za Via3L Freight pošiljke, kar pomeni eno nalogo manj, o kateri morate razmišljati.
Kako Cargoson obravnava zahteve za kurirja
Številni prevozniki zahtevajo, da ustvarite nalepke ločeno in nato ročno zahtevate prevzem kurirja. Drugi nimajo ločenega sistema nalepk in klica kurirja, vsaka pošiljka je popolna, ločena pošiljka. Verjamemo, da bi moral obstajati en sam standard API-jev prevoznikov, vendar trenutno vsak prevoznik ustvarja svoj edinstven sistem, kar uporabnikom otežuje pomnjenje posebnosti in zapletenosti vsakega. Cargoson poenostavi vaše klice kurirjev z obravnavanjem vsake pošiljke celostno: zahteve za kurirje se samodejno upravljajo kot del procesa rezervacije.
Pametna optimizacija prevzema
Cargoson optimizira klice kurirjev za zmanjšanje stroškov in izboljšanje učinkovitosti.
- 1. Konsolidacija serij - Več pošiljk z iste lokacije se združi v eno zahtevo za prevzem
- 2. Obravnava specifična za prevoznika - Nekateri prevozniki vključujejo prevzem v rezervacijo, drugi zahtevajo ločene zahteve. Cargoson samodejno obravnava obe varianti za vas
- 3. Redni urniki prevzemov - Konfigurirajte vnaprej načrtovane prevzeme v določenih intervalih (npr. dnevno v mojo glavno skladišče ob 15:00) in Cargoson bo popolnoma preskočil posamezne klice kurirjev
Prednosti
- Ni potrebe po sledenju, kateri prevozniki zahtevajo ločene zahteve za kurirja
- Samodejna optimizacija preprečuje nepotrebne klice za prevzem
- Podpora za redne urnike prevzemov
- Poenostavljen potek dela pošiljanja - samo ustvarite rezervacijo
Konfiguracija
Avtomatizacija prevzema kurirja je privzeto omogočena za vse Via3L Freight pošiljke. Za konfiguracijo rednih urnikov prevzemov ali pravil za optimizacijo po meri kontaktirajte [email protected].
Via3L Freight API za storitve
Cargoson motorAPI za storitve je funkcija, ki jo zagotavlja Cargoson in vrne enotni seznam vseh razpoložljivih storitev od Via3L Freight in drugih prevoznikov v vašem omrežju. To vam omogoča dinamičen prikaz možnosti pošiljanja vašim strankam brez trdega kodiranja ID-jev storitev.
Pridobite seznam razpoložljivih Via3L Freight storitev pošiljanja. Uporabite ID-je storitev pri neposrednih rezervacijah, da zagotovite, da dobite točno storitev, ki jo želite.
/services/list
Vrni seznam Via3L Freight storitev, ki so na voljo na računu vašega podjetja.
Example Response
{
"services": [
{
"carrier": {
"id": 167,
"name": "VIA 3L Freight OÜ",
"short_name": "Via3L Freight",
"reg_no": "14714973"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 167,
"name": "VIA 3L Freight OÜ",
"short_name": "Via3L Freight",
"reg_no": "14714973"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Uporaba ID-jev storitev
ID-je storitev iz te končne točke lahko uporabite s parametrom direct_booking_service_id pri ustvarjanju rezervacij za izbiro prave storitve in pošiljanje pošiljke v sistem Via3L Freight.
Popolni primeri kode
Spodaj so popolni delujoči primeri, ki prikazujejo celoten potek dela: pridobite cene, izberite storitev, rezervirajte pošiljko in pridobite informacije o sledenju.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for Via3L Freight
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 bookToVia3LFreight() {
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
bookToVia3LFreight();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_via3l_freight():
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_via3l_freight()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToVia3LFreight($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
bookToVia3LFreight($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_via3l_freight
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_via3l_freight
Zakaj uporabiti Cargoson API za Via3L Freight integracijo
Neposredna integracija z izvornim API-jem Via3L Freight pomeni spopadanje s specifično dokumentacijo prevoznika, obravnavanje edinstvenih formatov podatkov in vzdrževanje ločene kode za vsakega ponudnika. Cargoson ponuja en sam enotni RESTful API, ki podpira Via3L Freight in 2.000+ prevoznikov na evropskih in severnoameriških trgih, z novimi integracijami, ki se dodajajo tedensko. Skrajšamo razvojni čas z mesecev na dni, samodejno obravnavamo posodobitve prevoznikov in upravljamo regionalne izjeme. S Cargosonom se osredotočite na rast svojega poslovanja namesto na upravljanje tehničnih zapletenosti prevoznikov.
Prednosti integracije Via3L Freight preko Cargoson API
En API za vse prevoznike
Zamenjajte desetine ločenih integracij prevoznikov z eno povezavo do Via3L Freight in 2.000+ drugih ponudnikov preko Cargoson API. Ni več vzdrževanja več sistemov avtentikacije, obravnavanja različnih formatov podatkov ali posodabljanja kode, ko prevozniki spremenijo svoje končne točke.
Jasna dokumentacija in podpora
Dostop do jasne API dokumentacije z delujočimi primeri kode, podrobnimi opisi parametrov in jasno opredeljenimi končnimi točkami. Naša ekipa za podporo pozna logistično industrijo in vam lahko pomaga hitro rešiti izzive integracije.
Primeri kode v več jezikih
Začnite takoj z uporabnimi primeri kode v cURL, JavaScript, Python, PHP in Ruby. Kopirajte, prilepite in prilagodite jih svojemu skladu, ni potrebe po ugotavljanju avtentikacije, oblikovanja zahtev ali obravnavanja napak od začetka.
Prava podpora logističnih strokovnjakov
Pridobite pomoč ljudi, ki razumejo pošiljanje, ne samo API-je. Ne glede na to, ali odpravljate težave z integracijo ali potrebujete nasvet o najboljšem načinu obravnavanja mednarodnih pošiljk, je naša ekipa tukaj, da vam pomaga.
Najbolj napreden motor za tovorne cene na svetu
Cargosonov API za tovorne cene gre daleč preko preprostih iskanj cen. Naš motor lahko prebere, analizira in digitalizira kateri koli cenik prevoznika ne glede na format ali strukturo, kar ga naredi za najmočnejšo rešitev za upravljanje tovornih cen v logistični industriji.
Univerzalna podpora formatov
Naš motor za tovorne cene obravnava kateri koli format: strukturirane Excel datoteke, kompleksne PDF-je, prosto besedilo ali celo ročno napisane cenike. Naložite svoje pogodbe s prevozniki v katerem koli formatu in naš motor za tovorne cene bo samodejno razčlenil pravila za določanje cen, doplačila in pogoje.
Neposredna integracija API prevoznika
Za prevoznike s sodobnimi sistemi (običajno globalni paketni prevozniki in tehnološko napredna tovorna podjetja) pridobivamo cene neposredno iz njihovih API-jev v realnem času. To zagotavlja, da vedno dobite najnovejše cene brez ročnih posodobitev.
Javne spletne cene
Še nimate pogodbe s prevoznikom? Ni problema. Cargoson lahko pridobi javne spletne cene od prevoznikov, kar vam omogoča primerjavo možnosti še preden vzpostavite formalne dogovore.
Zahteve za spot cene
Za kompleksne pošiljke ali posebne primere zahtevajte spot cene, kjer prevozniki pregledajo vaše specifične zahteve in zagotovijo ponudbo po meri. Vse upravljano preko istega enotnega API-ja.
Via3L Freight API za pošiljanje: Poenostavljena avtomatizacija logistike
Avtomatizirajte svoj proces izpolnjevanja z integracijo Cargosonovega API za pošiljanje z Via3L Freight in 2.000+ prevozniki po vsem svetu. Ustvarite nalepke za pošiljanje, rezervirajte prevzeme in upravljajte vse svoje prevoznike z ene platforme, hkrati pa ohranite svoje dogovorjene cene z vsakim ponudnikom.
Avtomatizirano generiranje nalepk
Generirajte nalepke za pošiljanje, ki jih odobri prevoznik, v eni sami API zahtevi. Podpora za več formatov nalepk (A4, termični tiskalnik) in samodejna carinska dokumentacija za mednarodne pošiljke pomeni manj ročnega dela in manj napak pri pošiljanju.
Primerjava cen v realnem času
Primerjajte cene v živo med Via3L Freight in vašimi drugimi aktiviranimi prevozniki, da izberete najboljšo možnost glede na stroške, hitrost in raven storitve.
Ohranite svoje dogovorjene cene
Povežite svoj obstoječi Via3L Freight račun, da ohranite svoje dogovorjene cene pošiljanja. Cargoson preprosto zagotavlja tehnično integracijo: ohranite svoje neposredne odnose s prevozniki in dogovore o cenah po meri.
Varnost podjetniške ravni za Via3L Freight API integracijo
Cargosonova API infrastruktura izpolnjuje evropske standarde skladnosti, ki zagotavljajo varno, revizijsko pripravljeno Via3L Freight integracijo za vaše podjetje:
- GDPR skladno ravnanje in shranjevanje podatkov po Evropi
- ISO 27001 certificirano upravljanje informacijske varnosti
- Šifriranje od konca do konca za vse API komunikacije
Pripravljeni integrirati Via3L Freight pošiljanje v vašo platformo?
Rezervirajte predstavitev, da vidite, kako lahko Cargosonov enotni API poenostavi vaše logistične operacije
Rezerviraj predstavitevKazalo vsebine
Pogosto zastavljena vprašanja
Začnite uporabljati Via3L Freight API
Pridobite svoje API poverilnice za začetek integracije