Documentazione API Schenker UAB

Integrato REST API

Riferimento API completo per l'integrazione delle spedizioni Schenker UAB. Accedi a prenotazioni, tariffe di trasporto, generazione di etichette e tracking attraverso l'API unificata di gestione trasporti di Cargoson.

Ottieni la Tua Chiave API

Panoramica API Schenker UAB

Questa API fornisce accesso programmatico ai servizi di spedizione Schenker UAB attraverso la piattaforma unificata di gestione trasporti di Cargoson. Integra le funzionalità Schenker UAB incluse prenotazione spedizioni, tracking, preventivi tariffari e generazione di etichette nelle tue applicazioni.

Funzionalità API

  • Crea e gestisci prenotazioni di spedizioni Schenker UAB
  • 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 Schenker UAB

API Diretta Vettore

Crea spedizioni Schenker UAB 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 Schenker UAB. Questo garantisce che la tua spedizione utilizzi esattamente il servizio che hai selezionato.

Per prenotare direttamente con Schenker UAB, definisci sempre il direct_booking_service_id.

POST /queries

Crea una query di spedizione o prenotazione diretta per Schenker UAB. 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 Schenker UAB 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 Schenker UAB 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 Schenker UAB (Prezzi di Trasporto)

Motore Cargoson
Miglioramento Cargoson:

Schenker UAB 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 Schenker UAB in tempo reale prima della prenotazione. L'API Rate restituisce servizi disponibili, prezzi e tempi di consegna stimati.

POST /freightPrices/list

Ottieni preventivi tariffari da Schenker UAB 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": "Schenker UAB",
        "reg_no": "111552645",
        "id": 1273,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "Schenker UAB",
        "reg_no": "111552645",
        "id": 1273,
        "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 Schenker UAB

API Diretta Vettore

Traccia le spedizioni Schenker UAB utilizzando il numero di riferimento Cargoson. Ottieni stato attuale, aggiornamenti di posizione e tempo di consegna stimato.

GET /bookings/{reference}

Recupera i dettagli di tracking per una spedizione Schenker UAB 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 Schenker UAB

Powered by Cargoson
Miglioramento Cargoson:

Schenker UAB 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 Schenker UAB. Le etichette di reso consentono ai clienti di restituire articoli utilizzando spedizioni prepagate.

POST /bookings/{reference}/return_labels

Crea un'etichetta di reso per una spedizione Schenker UAB 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 Schenker UAB

Richieste Corriere Schenker UAB

Automazione Cargoson

Cargoson automatizza le richieste di ritiro corriere per le spedizioni Schenker UAB, 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 Schenker UAB. Per configurare programmi di ritiro regolari o regole di ottimizzazione del ritiro personalizzate, contatta [email protected].

API Servizi Schenker UAB

Motore Cargoson
Miglioramento Cargoson:

L'API Services è una funzionalità fornita da Cargoson che restituisce un elenco unificato di tutti i servizi disponibili da Schenker UAB 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 Schenker UAB disponibili. Utilizza gli ID servizio quando effettui prenotazioni dirette per assicurarti di ottenere esattamente il servizio che desideri.

GET /services/list

Restituisce l'elenco dei servizi Schenker UAB disponibili sul tuo account aziendale.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 1273,
        "name": "Schenker UAB",
        "short_name": "Schenker UAB",
        "reg_no": "111552645"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 1273,
        "name": "Schenker UAB",
        "short_name": "Schenker UAB",
        "reg_no": "111552645"
      },
      "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 Schenker UAB.

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 Schenker UAB
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 bookToSchenkerUAB() {
  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
bookToSchenkerUAB();
import requests

API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85

def book_to_schenker_uab():
    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_schenker_uab()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';

define('CARRIER_SERVICE_ID', 85);

function bookToSchenkerUAB($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
bookToSchenkerUAB($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_schenker_uab
  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_schenker_uab

Perché utilizzare l'API Cargoson per l'integrazione Schenker UAB

Integrare direttamente con l'API nativa di Schenker UAB 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 Schenker UAB 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 Schenker UAB tramite API Cargoson

Un'API per tutti i vettori

Sostituisci dozzine di integrazioni separate di vettori con una connessione a Schenker UAB 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 Schenker UAB: Automazione logistica semplificata

Automatizza il tuo processo di evasione integrando l'API di spedizione di Cargoson con Schenker UAB 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 Schenker UAB 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 Schenker UAB 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 Schenker UAB

L'infrastruttura API di Cargoson soddisfa gli standard di conformità europei, garantendo un'integrazione Schenker UAB 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 Schenker UAB nella tua piattaforma?

Prenota una demo per vedere come l'API unificata di Cargoson può semplificare le tue operazioni logistiche

Prenota una Demo

Domande Frequenti

Cargoson è un TMS (Transport Management System) per produttori europei e nordamericani. La nostra visione centrale è la semplicità: integrare qualsiasi e tutti i vettori e modalità di trasporto (strada, pacco, aereo, mare, ferrovia) in un'unica finestra e un'unica API. Che tu stia spedendo pallet in Europa o container oltreoceano, gestisci tutto da un'unica piattaforma.

Iniziare è semplice. Prima, registrati per un account Cargoson e ottieni la tua chiave API. Quindi collega il tuo account Schenker UAB nel pannello di controllo Cargoson. Una volta fatto, puoi iniziare a effettuare richieste API utilizzando la nostra documentazione ed esempi di codice. L'intera configurazione richiede in genere meno di un'ora.

Sì, avrai bisogno del tuo account Schenker UAB per utilizzare i servizi Schenker UAB tramite Cargoson. Questo garantisce che tu mantenga le tue tariffe negoziate e mantenga la tua relazione diretta con Schenker UAB. Cargoson fornisce semplicemente il livello di integrazione tecnica che rende più facile lavorare con Schenker UAB e altri vettori attraverso un'unica API unificata.

Cargoson opera su un modello di abbonamento mensile trasparente senza commissioni per spedizione o commissioni, mai. Il tuo piano include accesso API, documentazione, supporto e aggiornamenti automatici quando i vettori cambiano i loro sistemi. Paghi Schenker UAB direttamente per la spedizione alle tue tariffe negoziate. Nessun costo nascosto, nessuna sorpresa.

Assolutamente! Questo è il principale vantaggio dell'utilizzo di Cargoson. Una volta integrata la nostra API, puoi lavorare con Schenker UAB e oltre 2.000 altri vettori utilizzando gli stessi endpoint, autenticazione e formati di dati. Aggiungi nuovi vettori senza scrivere nuovo codice di integrazione, basta attivarli nel tuo pannello di controllo Cargoson.

Sì! Integriamo qualsiasi vettore di cui hai bisogno senza costi aggiuntivi. Questo è incluso nel tuo abbonamento Cargoson. Presentaci semplicemente i tuoi contatti vettore e gestiremo l'integrazione tecnica. Nuove integrazioni vengono aggiunte quotidianamente in base alle richieste dei clienti.

Sì, possiamo configurare webhook per notificare il tuo sistema in base a eventi e trigger in Cargoson, come aggiornamenti di stato della spedizione, conferme di prenotazione o modifiche alle tue spedizioni. Contatta il nostro team di supporto o prenota una demo per discutere i tuoi requisiti e la configurazione dei webhook.

Cargoson potrebbe essere eccessivo se sei una piccola azienda che spedisce solo poche volte al mese con un singolo vettore. Probabilmente puoi gestire quelle spedizioni bene senza un TMS. Non siamo nemmeno la soluzione giusta se sei un vettore o uno spedizioniere. Cargoson è costruito specificamente per i proprietari di merci (BCO) come produttori e distributori che possiedono le merci spedite. Se stai cercando un TMS per gestire la tua attività di spedizione o le operazioni del vettore, non siamo progettati per quel caso d'uso.

La nostra API restituisce messaggi di errore chiari con codici di errore specifici e descrizioni. I problemi comuni sono documentati con soluzioni nella nostra documentazione per sviluppatori. Se rimani bloccato, il nostro team di supporto può aiutare a risolvere i problemi di integrazione.

Implementiamo limiti di velocità ragionevoli per garantire la stabilità del sistema per tutti i clienti. Ci sono sia limiti di velocità a lungo termine che limiti di burst, con valori che dovrebbero essere più che sufficienti per la maggior parte delle aziende. Se hai bisogno di limiti più elevati per operazioni su scala aziendale, contattaci per discutere limiti di velocità personalizzati per il tuo account.

Inizia a Usare l'API Schenker UAB

Ottieni le tue credenziali API per iniziare l'integrazione

Ottieni la Tua Chiave API