BANTO Plus API dokumentacija
Potpuna API referenca za BANTO Plus integraciju otpreme. Pristupite rezervacijama, cijenama prijevoza, generiranju naljepnica i praćenju kroz Cargosonov jedinstveni API za upravljanje prijevozom.
Nabavite svoj API ključBANTO Plus API pregled
Ovaj API pruža programski pristup BANTO Plus uslugama otpreme kroz Cargosonovu jedinstvenu platformu za upravljanje prijevozom. Integrirajte BANTO Plus mogućnosti uključujući rezervaciju pošiljaka, praćenje, ponude cijena i generiranje naljepnica u svoje aplikacije.
API mogućnosti
- Kreirajte i upravljajte BANTO Plus rezervacijama pošiljaka
- Praćenje pošiljaka i ažuriranja statusa
- Dobijte ponude cijena prijevoza i vremena isporuke
- Generirajte naljepnice za otpremu u više formata (PDF, PNG, ZPL)
- Kreirajte naljepnice za povrat za povratnu logistiku
- Upitajte lokacije paketomata i mjesta preuzimanja
- Prikažite dostupne usluge prijevoznika
- Automatizirani zahtjevi za preuzimanje kurira
Osnovni URL i autentifikacija
Osnovni URL
https://www.cargoson.com/api/v1
Autentifikacija
Svi zahtjevi moraju uključivati vaš API ključ i ispravno Accept zaglavlje:
Authorization: Bearer VAŠ_API_KLJUČ
Accept: application/vnd.api.v1
BANTO Plus API za rezervacije
Cargoson automatizacijaBANTO Plus ne pruža API za rezervacije. Cargoson automatski šalje potvrde rezervacija putem e-pošte u vaše ime, dok i dalje koristite isto jedinstveno API sučelje.
Kreirajte BANTO Plus pošiljke i preuzmite naljepnice za otpremu koristeći Queries endpoint. Rezervacije se šalju u sustav prijevoznika u stvarnom vremenu i naljepnice se generiraju odmah.
Upit vs izravna rezervacija
Queries endpoint podržava dvije metode rezervacije:
- Način upita - Kreirajte zahtjev za prijevoz bez specificiranja prijevoznika (još). Ovo vam omogućuje da ručno usporedite cijene i vremena isporuke prijevoznika, zatražite nove spot cijene, napravite prilagodbe/ažuriranja pošiljke i delegirate odabir prijevoznika drugima, prije nego što napravite konačan odabir prijevoznika u Cargosonu.
- Izravna rezervacija - Specificirajte ID usluge prijevoznika (iz Rate ili Services API-ja) za izravnu rezervaciju s BANTO Plus. Ovo osigurava da vaša pošiljka koristi točno odabranu uslugu.
Za izravnu rezervaciju s BANTO Plus, uvijek definirajte direct_booking_service_id.
/queries
Kreirajte upit za pošiljku ili izravnu rezervaciju za BANTO Plus. Uključite direct_booking_service_id za kreiranje trenutne rezervacije.
Request Parameters
collection_date
string
required
Datum preuzimanja u formatu GGGG-MM-DD
collection_country
string
required
Kod zemlje preuzimanja (ISO 3166-1 alpha-2)
collection_postcode
string
required
Poštanski broj preuzimanja
collection_address_row_1
string
required
Ulična adresa preuzimanja
collection_city
string
required
Grad preuzimanja
collection_company_name
string
required
Naziv tvrtke pošiljatelja
collection_contact_name
string
required
Kontakt osoba pošiljatelja
collection_contact_phone
string
required
Telefonski broj pošiljatelja
delivery_country
string
required
Kod zemlje isporuke
delivery_postcode
string
required
Poštanski broj isporuke
delivery_address_row_1
string
required
Ulična adresa isporuke
delivery_city
string
required
Grad isporuke
delivery_company_name
string
required
Naziv tvrtke primatelja
delivery_contact_name
string
required
Kontakt osoba primatelja
delivery_contact_phone
string
required
Telefonski broj primatelja
rows_attributes
array
required
Niz paketa/paleta s količinom, vrstom paketa, težinom i opisom
options[direct_booking_service_id]
integer
BANTO Plus ID usluge za izravnu rezervaciju
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 naljepnica
BANTO Plus naljepnice za otpremu automatski se generiraju kada kreirate rezervaciju. Naljepnice su dostupne u više formata za podršku različitim vrstama pisača.
Podržani formati naljepnica
a4 - A4 PDF format za stolne pisače (4 naljepnice po stranici)label_printer - 4x6in (~10x15cm) PDF format za termalne pisače
Naljepnice su uključene u odgovor rezervacije putem label_url polja. Preuzmite i ispišite naljepnicu s navedenog URL-a nakon rezervacije.
BANTO Plus API za cijene (cijene prijevoza)
Cargoson sustavBANTO Plus ne pruža izvorni API za cijene. Cargosonov sustav za cijene prijevoza izračunava cijene koristeći vaše učitane sporazume o cijenama, pružajući vam isto API iskustvo kao prijevoznici s izvornim API-jima za cijene. Možete učitati cijene prijevoznika u bilo kojem formatu (Excel, PDF, čak i ručno pisane cjenike) i mi ćemo ih digitalizirati.
Dobijte BANTO Plus cijene prijevoza u stvarnom vremenu prije rezervacije. Rate API vraća dostupne usluge, cijene i procijenjeno vrijeme isporuke.
/freightPrices/list
Dobijte ponude cijena prijevoza od BANTO Plus i drugih aktiviranih prijevoznika na vašem računu.
Request Parameters
collection_date
string
required
Datum preuzimanja u formatu GGGG-MM-DD
collection_country
string
required
Kod zemlje preuzimanja (ISO 3166-1 alpha-2)
collection_postcode
string
required
Poštanski broj preuzimanja
delivery_country
string
required
Kod zemlje isporuke
delivery_postcode
string
required
Poštanski broj isporuke
rows_attributes
array
required
Niz paketa/paleta s količinom, vrstom paketa, težinom i 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": "BANTO Plus SIA",
"reg_no": "40103483184",
"id": 3087,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "BANTO Plus SIA",
"reg_no": "40103483184",
"id": 3087,
"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"
}
]
}
}
BANTO Plus API za praćenje
Cargoson automatizacijaBANTO Plus ne pruža događaje praćenja putem API-ja. Cargoson pruža portal za praćenje gdje prijevoznik može ručno ažurirati status pošiljke, pružajući vam i vašim kupcima dosljednu iskustvo praćenja.
Pratite BANTO Plus pošiljke koristeći Cargoson referentni broj. Dobijte trenutni status, ažuriranja lokacije i procijenjeno vrijeme isporuke.
/bookings/{reference}
Preuzmite detalje praćenja za BANTO Plus pošiljku koristeći Cargoson referentni broj 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"
}
BANTO Plus API za naljepnice za povrat
Pokreće CargosonBANTO Plus ne podržava izvorno naljepnice za povrat. Cargoson generira naljepnice za povrat i upravlja procesom povratne logistike kroz našu platformu.
Generirajte naljepnice za povrat za BANTO Plus pošiljke. Naljepnice za povrat omogućuju kupcima da vrate artikle koristeći unaprijed plaćenu otpremu.
/bookings/{reference}/return_labels
Kreirajte naljepnicu za povrat za postojeću BANTO Plus pošiljku.
Request Parameters
label_format
string
Format naljepnice: a4 ili label_printer (zadano: 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"
}
Značajke naljepnica za povrat
- Unaprijed plaćene naljepnice za povrat
- Iste opcije formata kao i za odlazne naljepnice (A4, termalni)
- Odvojena referenca za praćenje povrata
- Besprijekorna integracija s BANTO Plus uslugama povrata
BANTO Plus zahtjevi za kurirom
Cargoson automatizacijaCargoson automatizira zahtjeve za preuzimanje kurira za BANTO Plus pošiljke, što čini jedan zadatak manje o kojem morate razmišljati.
Kako Cargoson upravlja zahtjevima za kurirom
Mnogi prijevoznici zahtijevaju da kreirate naljepnice odvojeno, a zatim ručno zatražite preuzimanje kurira. Drugi nemaju odvojeni sustav naljepnica i poziva kurira, i svaka pošiljka je potpuna, odvojena pošiljka. Vjerujemo da bi trebao postojati jedan standard API-ja prijevoznika, ali trenutno svaki prijevoznik kreira svoj jedinstveni sustav, što otežava korisnicima da zapamte posebnosti i složenosti svakog. Cargoson pojednostavljuje vaše pozive kurira tretirajući svaku pošiljku holistički: zahtjevi za kurirom automatski se upravljaju kao dio procesa rezervacije.
Pametna optimizacija preuzimanja
Cargoson optimizira pozive kurira kako bi smanjio troškove i poboljšao učinkovitost.
- 1. Grupna konsolidacija - Više pošiljaka s iste lokacije grupiraju se u jedan zahtjev za preuzimanje
- 2. Rukovanje specifično za prijevoznika - Neki prijevoznici uključuju preuzimanje u rezervaciju, drugi zahtijevaju odvojene zahtjeve. Cargoson automatski upravlja obje varijante za vas
- 3. Redoviti rasporedi preuzimanja - Konfigurirajte unaprijed zakazana preuzimanja u određenim intervalima (npr. dnevno u moje glavno skladište u 15:00) i Cargoson će u potpunosti preskočiti pojedinačne pozive kurira
Prednosti
- Nije potrebno pratiti koji prijevoznici zahtijevaju odvojene zahtjeve za kurirom
- Automatska optimizacija sprječava nepotrebne pozive za preuzimanje
- Podrška za redovite rasporede preuzimanja
- Pojednostavljen tijek rada otpreme - samo kreirajte rezervaciju
Konfiguracija
Automatizacija preuzimanja kurira omogućena je prema zadanim postavkama za sve BANTO Plus pošiljke. Za konfiguraciju redovitih rasporeda preuzimanja ili prilagođenih pravila optimizacije preuzimanja, kontaktirajte [email protected].
BANTO Plus API za usluge
Cargoson sustavAPI za usluge je značajka koju pruža Cargoson koja vraća jedinstveni popis svih dostupnih usluga od BANTO Plus i drugih prijevoznika u vašoj mreži. Ovo vam omogućuje dinamički prikaz opcija otpreme vašim kupcima bez hardkodiranja ID-ova usluga.
Preuzmite popis dostupnih BANTO Plus usluga otpreme. Koristite ID-ove usluga pri izravnim rezervacijama kako biste osigurali da dobijete točno onu uslugu koju želite.
/services/list
Vraća popis BANTO Plus usluga dostupnih na vašem računu tvrtke.
Example Response
{
"services": [
{
"carrier": {
"id": 3087,
"name": "BANTO Plus SIA",
"short_name": "BANTO Plus",
"reg_no": "40103483184"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 3087,
"name": "BANTO Plus SIA",
"short_name": "BANTO Plus",
"reg_no": "40103483184"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Korištenje ID-ova usluga
ID-ovi usluga iz ovog endpointa mogu se koristiti s direct_booking_service_id parametrom pri kreiranju rezervacija za odabir prave usluge i slanje pošiljke u BANTO Plus sustav.
Potpuni primjeri koda
Ispod su potpuni radni primjeri koji pokazuju cijeli tijek rada: dobijte cijene, odaberite uslugu, rezervirajte pošiljku i izvucite informacije o praćenju.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for BANTO Plus
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 bookToBANTOPlus() {
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
bookToBANTOPlus();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_banto_plus():
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_banto_plus()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToBANTOPlus($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
bookToBANTOPlus($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_banto_plus
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_banto_plus
Zašto koristiti Cargoson API za BANTO Plus integraciju
Izravna integracija s BANTO Plus izvornim API-jem znači borbu s dokumentacijom specifičnom za prijevoznika, rukovanje jedinstvenim formatima podataka i održavanje odvojenog koda za svakog pružatelja. Cargoson nudi jedan jedinstveni RESTful API koji podržava BANTO Plus i 2.000+ prijevoznika na europskim i sjevernoameričkim tržištima, s novim integracijama koje se dodaju tjedno. Smanjujemo vrijeme razvoja s mjeseci na dane, automatski upravljamo ažuriranjima prijevoznika i upravljamo regionalnim iznimkama. S Cargosonom se fokusirate na rast svog poslovanja umjesto na upravljanje tehničkim složenostima prijevoznika.
Prednosti integracije BANTO Plus putem Cargoson API-ja
Jedan API za sve prijevoznike
Zamijenite desetke odvojenih integracija prijevoznika s jednom vezom na BANTO Plus i 2.000+ drugih pružatelja putem Cargoson API-ja. Nema više održavanja više sustava autentifikacije, rukovanja različitim formatima podataka ili ažuriranja koda kada prijevoznici mijenjaju svoje endpointe.
Jasna dokumentacija i podrška
Pristupite jasnoj API dokumentaciji s radnim primjerima koda, detaljnim opisima parametara i jasno definiranim endpointima. Naš tim podrške poznaje logističku industriju i može vam pomoći brzo riješiti izazove integracije.
Primjeri koda na više jezika
Počnite odmah s primjerima koda spremnim za korištenje u cURL, JavaScript, Python, PHP i Ruby. Kopirajte, zalijepite i prilagodite ih svom stacku, nije potrebno izmišljati autentifikaciju, formatiranje zahtjeva ili rukovanje greškama od nule.
Prava podrška od logističkih stručnjaka
Dobijte pomoć od ljudi koji razumiju otpremu, ne samo API-je. Bilo da rješavate problem integracije ili vam treba savjet o najboljem načinu rukovanja međunarodnim pošiljkama, naš tim je tu da pomogne.
Najnapredniji sustav za cijene prijevoza na svijetu
Cargosonov API za cijene prijevoza daleko nadilazi jednostavna pretraživanja cijena. Naš sustav može čitati, analizirati i digitalizirati bilo koji cjenik prijevoznika bez obzira na format ili strukturu, što ga čini najmoćnijim rješenjem za upravljanje cijenama prijevoza u logističkoj industriji.
Univerzalna podrška za formate
Naš sustav za cijene prijevoza rukuje bilo kojim formatom: strukturirane Excel datoteke, složeni PDF-ovi, slobodni tekst ili čak ručno pisani cjenici. Učitajte svoje ugovore s prijevoznicima u bilo kojem formatu, a naš sustav za cijene prijevoza automatski će parsirati pravila cijena, dodatne naknade i uvjete.
Izravna integracija API-ja prijevoznika
Za prijevoznike s modernim sustavima (obično globalni paketni prijevoznici i tehnološki napredne prijevozne tvrtke), povlačimo cijene izravno iz njihovih API-ja u stvarnom vremenu. Ovo osigurava da uvijek dobijete najnovije cijene bez ručnih ažuriranja.
Javne online cijene
Nemate još ugovor s prijevoznikom? Nema problema. Cargoson može povući javne online cijene od prijevoznika, omogućujući vam usporedbu opcija čak i prije uspostavljanja formalnih sporazuma.
Zahtjevi za spot cijene
Za složene pošiljke ili posebne slučajeve, zatražite spot cijene gdje prijevoznici pregledavaju vaše specifične zahtjeve i pružaju prilagođenu ponudu. Sve se upravlja kroz isti jedinstveni API.
BANTO Plus API za otpremu: Pojednostavljena automatizacija logistike
Automatizirajte svoj proces ispunjenja integrirajući Cargosonov API za otpremu s BANTO Plus i 2.000+ prijevoznika diljem svijeta. Kreirajte naljepnice za otpremu, rezervirajte preuzimanja i upravljajte svim svojim prijevoznicima s jedne platforme dok zadržavate svoje dogovorene cijene sa svakim pružateljem.
Automatizirano generiranje naljepnica
Generirajte naljepnice za otpremu odobrene od prijevoznika u jednom API zahtjevu. Podrška za više formata naljepnica (A4, termalni pisač) i automatska carinska dokumentacija za međunarodne pošiljke znači manje ručnog rada i manje grešaka u otpremi.
Usporedba cijena u stvarnom vremenu
Usporedite cijene uživo između BANTO Plus i vaših drugih aktiviranih prijevoznika kako biste odabrali najbolju opciju na temelju troška, brzine i razine usluge.
Zadržite svoje dogovorene cijene
Povežite svoj postojeći BANTO Plus račun kako biste zadržali svoje dogovorene cijene otpreme. Cargoson jednostavno pruža tehničku integraciju: zadržavate svoje izravne odnose s prijevoznicima i prilagođene sporazume o cijenama.
Sigurnost na razini poduzeća za BANTO Plus API integraciju
Cargosonova API infrastruktura zadovoljava europske standarde usklađenosti, koji osiguravaju sigurnu, spremnu za reviziju BANTO Plus integraciju za vaše poslovanje:
- GDPR usklađeno rukovanje i pohrana podataka diljem Europe
- ISO 27001 certificirano upravljanje sigurnošću informacija
- End-to-end enkripcija za sve API komunikacije
Spremni integrirati BANTO Plus otpremu u svoju platformu?
Rezervirajte demo kako biste vidjeli kako Cargosonov jedinstveni API može pojednostaviti vaše logističke operacije
Rezerviraj demoSadržaj
Često postavljana pitanja
Počnite koristiti BANTO Plus API
Nabavite svoje API vjerodajnice za početak integracije