Documentazione API Maile Cargo
Riferimento API completo per l'integrazione delle spedizioni Maile Cargo. Accedi a prenotazioni, tariffe di trasporto, generazione di etichette e tracking attraverso l'API unificata di gestione trasporti di Cargoson.
Ottieni la Tua Chiave APIPanoramica API Maile Cargo
Questa API fornisce accesso programmatico ai servizi di spedizione Maile Cargo attraverso la piattaforma unificata di gestione trasporti di Cargoson. Integra le funzionalità Maile Cargo incluse prenotazione spedizioni, tracking, preventivi tariffari e generazione di etichette nelle tue applicazioni.
Funzionalità API
- Crea e gestisci prenotazioni di spedizioni Maile Cargo
- Tracking delle spedizioni e aggiornamenti di stato
- Ottieni preventivi tariffari e tempi di transito
- Genera etichette di spedizione in più formati (PDF, PNG, ZPL)
- Crea etichette di reso per la logistica inversa
- Interroga posizioni di locker per pacchi e punti di ritiro
- Elenca i servizi vettore disponibili
- Richieste automatizzate di ritiro corriere
URL Base e Autenticazione
URL Base
https://www.cargoson.com/api/v1
Autenticazione
Tutte le richieste devono includere la tua chiave API e l'header Accept corretto:
Authorization: Bearer TUA_CHIAVE_API
Accept: application/vnd.api.v1
API Prenotazioni Maile Cargo
Automazione CargosonMaile Cargo non fornisce un'API di prenotazione. Cargoson invia automaticamente conferme di prenotazione via email per tuo conto, mentre continui a utilizzare la stessa interfaccia API unificata.
Crea spedizioni Maile Cargo e recupera etichette di spedizione utilizzando l'endpoint Queries. Le prenotazioni vengono inviate al sistema del vettore in tempo reale e le etichette vengono generate immediatamente.
Query vs Prenotazione Diretta
L'endpoint Queries supporta due metodi di prenotazione:
- Modalità Query - Crea una richiesta di trasporto senza specificare (ancora) un vettore. Questo ti consente di confrontare manualmente prezzi e tempi di consegna dei vettori, richiedere nuovi prezzi spot, apportare modifiche/aggiornamenti alla spedizione e delegare la selezione del vettore ad altri, prima di effettuare la selezione finale del vettore in Cargoson.
- Prenotazione diretta - Specifica un ID servizio vettore (dall'API Rate o Services) per prenotare direttamente con Maile Cargo. Questo garantisce che la tua spedizione utilizzi esattamente il servizio che hai selezionato.
Per prenotare direttamente con Maile Cargo, definisci sempre il direct_booking_service_id.
/queries
Crea una query di spedizione o prenotazione diretta per Maile Cargo. Includi direct_booking_service_id per creare una prenotazione immediata.
Request Parameters
collection_date
string
required
Data di ritiro in formato AAAA-MM-GG
collection_country
string
required
Codice paese di ritiro (ISO 3166-1 alpha-2)
collection_postcode
string
required
Codice postale di ritiro
collection_address_row_1
string
required
Indirizzo stradale di ritiro
collection_city
string
required
Città di ritiro
collection_company_name
string
required
Nome azienda mittente
collection_contact_name
string
required
Persona di contatto mittente
collection_contact_phone
string
required
Numero di telefono mittente
delivery_country
string
required
Codice paese di consegna
delivery_postcode
string
required
Codice postale di consegna
delivery_address_row_1
string
required
Indirizzo stradale di consegna
delivery_city
string
required
Città di consegna
delivery_company_name
string
required
Nome azienda destinatario
delivery_contact_name
string
required
Persona di contatto destinatario
delivery_contact_phone
string
required
Numero di telefono destinatario
rows_attributes
array
required
Array di colli/pallet con quantità, tipo_collo, peso e descrizione
options[direct_booking_service_id]
integer
ID servizio Maile Cargo per prenotazione diretta
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"
}
Generazione Etichette
Le etichette di spedizione Maile Cargo vengono generate automaticamente quando crei una prenotazione. Le etichette sono disponibili in più formati per supportare diversi tipi di stampanti.
Formati Etichetta Supportati
a4 - Formato PDF A4 per stampanti desktop (4 etichette per pagina)label_printer - Formato PDF 4x6in (~10x15cm) per stampanti termiche
Le etichette sono incluse nella risposta di prenotazione tramite il campo label_url. Scarica e stampa l'etichetta dall'URL fornito dopo la prenotazione.
API Tariffe Maile Cargo (Prezzi di Trasporto)
Motore CargosonMaile Cargo non fornisce un'API tariffe nativa. Il motore di tariffe di trasporto di Cargoson calcola i prezzi utilizzando i tuoi accordi di prezzo caricati, fornendoti la stessa esperienza API dei vettori con API tariffe native. Puoi caricare le tariffe vettore in qualsiasi formato (Excel, PDF, persino listini prezzi scritti a mano) e li digitalizzeremo.
Ottieni tariffe di trasporto Maile Cargo in tempo reale prima della prenotazione. L'API Rate restituisce servizi disponibili, prezzi e tempi di consegna stimati.
/freightPrices/list
Ottieni preventivi tariffari da Maile Cargo e altri vettori attivati sul tuo account.
Request Parameters
collection_date
string
required
Data di ritiro in formato AAAA-MM-GG
collection_country
string
required
Codice paese di ritiro (ISO 3166-1 alpha-2)
collection_postcode
string
required
Codice postale di ritiro
delivery_country
string
required
Codice paese di consegna
delivery_postcode
string
required
Codice postale di consegna
rows_attributes
array
required
Array di colli/pallet con quantità, tipo_collo, peso e descrizione
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": "Maile Cargo SIA",
"reg_no": "40203365428",
"id": 3828,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "Maile Cargo SIA",
"reg_no": "40203365428",
"id": 3828,
"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"
}
]
}
}
API Tracking Maile Cargo
Automazione CargosonMaile Cargo non fornisce eventi di tracking tramite API. Cargoson fornisce un portale di tracking dove il vettore può aggiornare manualmente lo stato della spedizione, offrendo a te e ai tuoi clienti un'esperienza di tracking coerente.
Traccia le spedizioni Maile Cargo utilizzando il numero di riferimento Cargoson. Ottieni stato attuale, aggiornamenti di posizione e tempo di consegna stimato.
/bookings/{reference}
Recupera i dettagli di tracking per una spedizione Maile Cargo utilizzando il riferimento di prenotazione Cargoson.
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"
}
API Etichette di Reso Maile Cargo
Powered by CargosonMaile Cargo non supporta nativamente le etichette di reso. Cargoson genera etichette di reso e gestisce il processo di logistica inversa attraverso la nostra piattaforma.
Genera etichette di spedizione di reso per spedizioni Maile Cargo. Le etichette di reso consentono ai clienti di restituire articoli utilizzando spedizioni prepagate.
/bookings/{reference}/return_labels
Crea un'etichetta di reso per una spedizione Maile Cargo esistente.
Request Parameters
label_format
string
Formato etichetta: a4 o label_printer (predefinito: 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"
}
Funzionalità Etichette di Reso
- Etichette di spedizione di reso prepagate
- Stesse opzioni di formato delle etichette in uscita (A4, termica)
- Riferimento di tracking separato per i resi
- Integrazione perfetta con i servizi di reso Maile Cargo
Richieste Corriere Maile Cargo
Automazione CargosonCargoson automatizza le richieste di ritiro corriere per le spedizioni Maile Cargo, rendendo questa un'attività in meno a cui pensare.
Come Cargoson Gestisce le Richieste Corriere
Molti vettori di spedizione richiedono di creare etichette separatamente e poi richiedere manualmente il ritiro del corriere. Altri non hanno un sistema separato di etichetta più chiamata corriere, e ogni spedizione è una spedizione completa e separata. Crediamo che dovrebbe esserci un unico standard di API dei vettori, ma attualmente ogni vettore crea il proprio sistema unico, il che rende difficile per i loro utenti ricordare le peculiarità e le complessità di ciascuno. Cargoson semplifica le tue chiamate corriere trattando ogni spedizione in modo olistico: le richieste corriere vengono gestite automaticamente come parte del processo di prenotazione.
Ottimizzazione Intelligente del Ritiro
Cargoson ottimizza le chiamate corriere per ridurre i costi e migliorare l'efficienza.
- 1. Consolidamento in lotti - Più spedizioni dalla stessa posizione vengono raggruppate in un'unica richiesta di ritiro
- 2. Gestione specifica per vettore - Alcuni vettori includono il ritiro nella prenotazione, altri richiedono richieste separate. Cargoson gestisce automaticamente entrambe le varianti per te
- 3. Programmi di ritiro regolari - Configura ritiri preprogrammati a intervalli specifici (es. giornaliero al mio magazzino principale alle 15:00) e Cargoson salterà completamente le singole chiamate corriere
Vantaggi
- Non è necessario tenere traccia di quali vettori richiedono richieste corriere separate
- L'ottimizzazione automatica previene chiamate di ritiro non necessarie
- Supporto per programmi di ritiro regolari
- Flusso di lavoro di spedizione semplificato - basta creare la prenotazione
Configurazione
L'automazione del ritiro corriere è abilitata per impostazione predefinita per tutte le spedizioni Maile Cargo. Per configurare programmi di ritiro regolari o regole di ottimizzazione del ritiro personalizzate, contatta [email protected].
API Servizi Maile Cargo
Motore CargosonL'API Services è una funzionalità fornita da Cargoson che restituisce un elenco unificato di tutti i servizi disponibili da Maile Cargo e altri vettori nella tua rete. Questo ti consente di visualizzare dinamicamente le opzioni di spedizione ai tuoi clienti senza codificare gli ID servizio.
Recupera un elenco dei servizi di spedizione Maile Cargo disponibili. Utilizza gli ID servizio quando effettui prenotazioni dirette per assicurarti di ottenere esattamente il servizio che desideri.
/services/list
Restituisce l'elenco dei servizi Maile Cargo disponibili sul tuo account aziendale.
Example Response
{
"services": [
{
"carrier": {
"id": 3828,
"name": "Maile Cargo SIA",
"short_name": "Maile Cargo",
"reg_no": "40203365428"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 3828,
"name": "Maile Cargo SIA",
"short_name": "Maile Cargo",
"reg_no": "40203365428"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Utilizzo degli ID Servizio
Gli ID servizio da questo endpoint possono essere utilizzati con il parametro direct_booking_service_id quando si creano prenotazioni per selezionare il servizio giusto e inviare la spedizione al sistema Maile Cargo.
Esempi di Codice Completi
Di seguito sono riportati esempi completi funzionanti che mostrano l'intero flusso di lavoro: ottieni tariffe, seleziona un servizio, prenota la spedizione ed estrai informazioni di tracking.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for Maile Cargo
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 bookToMaileCargo() {
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
bookToMaileCargo();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_maile_cargo():
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_maile_cargo()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToMaileCargo($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
bookToMaileCargo($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_maile_cargo
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_maile_cargo
Perché utilizzare l'API Cargoson per l'integrazione Maile Cargo
Integrare direttamente con l'API nativa di Maile Cargo significa confrontarsi con documentazione specifica del vettore, gestire formati di dati unici e mantenere codice separato per ogni fornitore. Cargoson offre un'unica API RESTful unificata che supporta Maile Cargo e oltre 2.000 vettori nei mercati europei e nordamericani, con nuove integrazioni aggiunte settimanalmente. Riduciamo i tempi di sviluppo da mesi a giorni, gestiamo automaticamente gli aggiornamenti dei vettori e gestiamo le eccezioni regionali. Con Cargoson, ti concentri sulla crescita del tuo business invece di gestire le complessità tecniche dei vettori.
Vantaggi dell'integrazione di Maile Cargo tramite API Cargoson
Un'API per tutti i vettori
Sostituisci dozzine di integrazioni separate di vettori con una connessione a Maile Cargo e oltre 2.000 altri fornitori tramite l'API Cargoson. Non più mantenere più sistemi di autenticazione, gestire diversi formati di dati o aggiornare il codice quando i vettori cambiano i loro endpoint.
Documentazione chiara e supporto
Accedi a documentazione API chiara con esempi di codice funzionanti, descrizioni dettagliate dei parametri ed endpoint chiaramente definiti. Il nostro team di supporto conosce il settore della logistica e può aiutarti a risolvere rapidamente le sfide di integrazione.
Esempi di codice in più linguaggi
Inizia immediatamente con esempi di codice pronti all'uso in cURL, JavaScript, Python, PHP e Ruby. Copia, incolla e adattali al tuo stack, non è necessario capire autenticazione, formattazione delle richieste o gestione degli errori da zero.
Supporto reale da esperti di logistica
Ottieni aiuto da persone che comprendono le spedizioni, non solo le API. Che tu stia risolvendo un problema di integrazione o abbia bisogno di consigli sul modo migliore per gestire spedizioni internazionali, il nostro team è qui per aiutarti.
Il motore di tariffazione merci più avanzato al mondo
L'API di tariffazione merci di Cargoson va ben oltre le semplici ricerche di tariffe. Il nostro motore può leggere, analizzare e digitalizzare qualsiasi listino prezzi vettore indipendentemente dal formato o dalla struttura, rendendolo la soluzione di gestione tariffe di trasporto più potente nel settore della logistica.
Supporto formato universale
Il nostro motore di tariffazione merci gestisce qualsiasi formato: file Excel strutturati, PDF complessi, testo libero o persino listini prezzi scritti a mano. Carica i tuoi contratti vettore in qualsiasi formato e il nostro motore di tariffe di trasporto analizzerà automaticamente le regole di prezzo, i supplementi e le condizioni.
Integrazione API diretta del vettore
Per i vettori con sistemi moderni (tipicamente vettori di pacchi globali e aziende di trasporto orientate alla tecnologia), estraiamo le tariffe direttamente dalle loro API in tempo reale. Questo garantisce che tu ottenga sempre i prezzi più aggiornati senza aggiornamenti manuali.
Prezzi pubblici online
Non hai ancora un contratto con un vettore? Nessun problema. Cargoson può estrarre prezzi pubblici online dai vettori, permettendoti di confrontare le opzioni anche prima di stabilire accordi formali.
Richieste di tariffe spot
Per spedizioni complesse o casi speciali, richiedi tariffe spot dove i vettori esaminano i tuoi requisiti specifici e forniscono un preventivo personalizzato. Tutto gestito attraverso la stessa API unificata.
API di spedizione Maile Cargo: Automazione logistica semplificata
Automatizza il tuo processo di evasione integrando l'API di spedizione di Cargoson con Maile Cargo e oltre 2.000 vettori in tutto il mondo. Crea etichette di spedizione, prenota ritiri e gestisci tutti i tuoi vettori da un'unica piattaforma mantenendo le tue tariffe negoziate con ciascun fornitore.
Generazione automatizzata di etichette
Genera etichette di spedizione approvate dal vettore in un'unica richiesta API. Supporto per più formati di etichette (A4, stampante termica) e documentazione doganale automatica per spedizioni internazionali significa meno lavoro manuale e meno errori di spedizione.
Confronto tariffe in tempo reale
Confronta le tariffe in tempo reale tra Maile Cargo e gli altri vettori attivati per scegliere l'opzione migliore in base a costo, velocità e livello di servizio.
Mantieni le tue tariffe negoziate
Collega il tuo account Maile Cargo esistente per mantenere le tue tariffe di spedizione negoziate. Cargoson fornisce semplicemente l'integrazione tecnica: mantieni le tue relazioni dirette con i vettori e gli accordi di prezzo personalizzati.
Sicurezza di livello enterprise per l'integrazione API Maile Cargo
L'infrastruttura API di Cargoson soddisfa gli standard di conformità europei, garantendo un'integrazione Maile Cargo sicura e pronta per l'audit per la tua azienda:
- Gestione e archiviazione dei dati conforme al GDPR in tutta Europa
- Gestione della sicurezza delle informazioni certificata ISO 27001
- Crittografia end-to-end per tutte le comunicazioni API
Pronto per integrare le spedizioni Maile Cargo nella tua piattaforma?
Prenota una demo per vedere come l'API unificata di Cargoson può semplificare le tue operazioni logistiche
Prenota una DemoIndice
Domande Frequenti
Inizia a Usare l'API Maile Cargo
Ottieni le tue credenziali API per iniziare l'integrazione