Dokumentacja API Schenker UAB

Zintegrowany REST API

Kompletna dokumentacja API do integracji wysyłki Schenker UAB. Dostęp do rezerwacji, stawek frachtowych, generowania etykiet i śledzenia przez ujednolicone API zarządzania transportem Cargoson.

Uzyskaj klucz API

Przegląd API Schenker UAB

To API zapewnia programowy dostęp do usług wysyłkowych Schenker UAB przez ujednoliconą platformę zarządzania transportem Cargoson. Zintegruj możliwości Schenker UAB, w tym rezerwację przesyłek, śledzenie, wyceny stawek i generowanie etykiet w swoich aplikacjach.

Możliwości API

  • Tworzenie i zarządzanie rezerwacjami przesyłek Schenker UAB
  • Śledzenie przesyłek i aktualizacje statusu
  • Pobieranie wycen stawek frachtowych i czasów tranzytu
  • Generowanie etykiet wysyłkowych w wielu formatach (PDF, PNG, ZPL)
  • Tworzenie etykiet zwrotnych dla logistyki zwrotnej
  • Wyszukiwanie lokalizacji paczkomatów i punktów odbioru
  • Lista dostępnych usług przewoźnika
  • Automatyczne zlecenia odbioru kurierskiego

Bazowy URL i uwierzytelnianie

Bazowy URL

https://www.cargoson.com/api/v1

Uwierzytelnianie

Wszystkie żądania muszą zawierać klucz API i prawidłowy nagłówek Accept:

Authorization: Bearer TWOJ_KLUCZ_API
Accept: application/vnd.api.v1

API rezerwacji Schenker UAB

Bezpośrednie API przewoźnika

Twórz przesyłki Schenker UAB i pobieraj etykiety wysyłkowe za pomocą endpointu Queries. Rezerwacje są wysyłane do systemu przewoźnika w czasie rzeczywistym, a etykiety są generowane natychmiast.

Zapytanie vs bezpośrednia rezerwacja

Endpoint Queries obsługuje dwie metody rezerwacji:

  • Tryb zapytania - Utwórz zlecenie transportowe bez określania przewoźnika (jeszcze). Pozwala to na ręczne porównanie cen i czasów dostawy przewoźników, żądanie nowych wycen spot, wprowadzanie korekt/aktualizacji przesyłki i delegowanie wyboru przewoźnika innym osobom, zanim dokonasz ostatecznego wyboru przewoźnika w Cargoson.
  • Bezpośrednia rezerwacja - Określ ID usługi przewoźnika (z API Rate lub Services), aby zarezerwować bezpośrednio u Schenker UAB. Gwarantuje to, że Twoja przesyłka korzysta z dokładnie wybranej usługi.

Aby zarezerwować bezpośrednio u Schenker UAB, zawsze zdefiniuj direct_booking_service_id.

POST /queries

Utwórz zapytanie o przesyłkę lub bezpośrednią rezerwację dla Schenker UAB. Dołącz direct_booking_service_id, aby utworzyć natychmiastową rezerwację.

Request Parameters

collection_date string required

Data odbioru w formacie RRRR-MM-DD

collection_country string required

Kod kraju odbioru (ISO 3166-1 alpha-2)

collection_postcode string required

Kod pocztowy odbioru

collection_address_row_1 string required

Adres ulicy odbioru

collection_city string required

Miasto odbioru

collection_company_name string required

Nazwa firmy nadawcy

collection_contact_name string required

Osoba kontaktowa nadawcy

collection_contact_phone string required

Numer telefonu nadawcy

delivery_country string required

Kod kraju dostawy

delivery_postcode string required

Kod pocztowy dostawy

delivery_address_row_1 string required

Adres ulicy dostawy

delivery_city string required

Miasto dostawy

delivery_company_name string required

Nazwa firmy odbiorcy

delivery_contact_name string required

Osoba kontaktowa odbiorcy

delivery_contact_phone string required

Numer telefonu odbiorcy

rows_attributes array required

Tablica paczek/palet z ilością, typem opakowania, wagą i opisem

options[direct_booking_service_id] integer

ID usługi Schenker UAB dla bezpośredniej rezerwacji

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"
}

Generowanie etykiet

Etykiety wysyłkowe Schenker UAB są automatycznie generowane podczas tworzenia rezerwacji. Etykiety są dostępne w wielu formatach, aby obsługiwać różne typy drukarek.

Obsługiwane formaty etykiet

a4 - Format PDF A4 dla drukarek biurowych (4 etykiety na stronę)
label_printer - Format PDF 4x6 cali (~10x15cm) dla drukarek termicznych

Etykiety są zawarte w odpowiedzi rezerwacji przez pole label_url. Pobierz i wydrukuj etykietę z podanego URL po rezerwacji.

API stawek Schenker UAB (wycena frachtu)

Silnik Cargoson
Ulepszenie Cargoson:

Schenker UAB nie udostępnia natywnego API stawek. Silnik stawek frachtowych Cargoson oblicza ceny przy użyciu przesłanych umów cenowych, zapewniając takie samo doświadczenie API jak przewoźnicy z natywnymi API stawek. Możesz przesłać stawki przewoźników w dowolnym formacie (Excel, PDF, nawet odręcznie pisane cenniki), a my je zdigitalizujemy.

Pobieraj stawki frachtowe Schenker UAB w czasie rzeczywistym przed rezerwacją. API Rate zwraca dostępne usługi, ceny i szacowane czasy dostawy.

POST /freightPrices/list

Pobierz wyceny stawek frachtowych od Schenker UAB i innych aktywowanych przewoźników na Twoim koncie.

Request Parameters

collection_date string required

Data odbioru w formacie RRRR-MM-DD

collection_country string required

Kod kraju odbioru (ISO 3166-1 alpha-2)

collection_postcode string required

Kod pocztowy odbioru

delivery_country string required

Kod kraju dostawy

delivery_postcode string required

Kod pocztowy dostawy

rows_attributes array required

Tablica paczek/palet z ilością, typem opakowania, wagą i opisem

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 śledzenia Schenker UAB

Bezpośrednie API przewoźnika

Śledź przesyłki Schenker UAB używając numeru referencyjnego Cargoson. Uzyskaj aktualny status, aktualizacje lokalizacji i szacowany czas dostawy.

GET /bookings/{reference}

Pobierz szczegóły śledzenia przesyłki Schenker UAB używając numeru referencyjnego rezerwacji 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 etykiet zwrotnych Schenker UAB

Napędzane przez Cargoson
Ulepszenie Cargoson:

Schenker UAB nie obsługuje natywnie etykiet zwrotnych. Cargoson generuje etykiety zwrotne i zarządza procesem logistyki zwrotnej przez naszą platformę.

Generuj etykiety wysyłkowe zwrotne dla przesyłek Schenker UAB. Etykiety zwrotne pozwalają klientom odsyłać przedmioty za pomocą opłaconej z góry wysyłki.

POST /bookings/{reference}/return_labels

Utwórz etykietę zwrotną dla istniejącej przesyłki Schenker UAB.

Request Parameters

label_format string

Format etykiety: a4 lub label_printer (domyślnie: 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"
}

Funkcje etykiet zwrotnych

  • Opłacone z góry etykiety wysyłkowe zwrotne
  • Te same opcje formatów co etykiety wychodzące (A4, termiczne)
  • Oddzielny numer śledzenia dla zwrotów
  • Bezproblemowa integracja z usługami zwrotów Schenker UAB

Zlecenia kurierskie Schenker UAB

Automatyzacja Cargoson

Cargoson automatyzuje zlecenia odbioru kurierskiego dla przesyłek Schenker UAB, co oznacza jedno zadanie mniej, o które musisz się martwić.

Jak Cargoson obsługuje zlecenia kurierskie

Wielu przewoźników wymaga osobnego tworzenia etykiet, a następnie ręcznego zlecania odbioru kurierskiego. Inni nie mają oddzielnego systemu etykiet i wezwania kuriera, a każda przesyłka jest kompletną, oddzielną przesyłką. Wierzymy, że powinien istnieć jeden standard API przewoźników, ale obecnie każdy przewoźnik tworzy swój własny unikalny system, co utrudnia użytkownikom zapamiętanie osobliwości i zawiłości każdego z nich. Cargoson upraszcza wezwania kurierskie, traktując każdą przesyłkę holistycznie: zlecenia kurierskie są automatycznie zarządzane jako część procesu rezerwacji.

Inteligentna optymalizacja odbioru

Cargoson optymalizuje wezwania kurierskie, aby zmniejszyć koszty i poprawić efektywność.

  • 1. Konsolidacja partiami - Wiele przesyłek z tej samej lokalizacji jest grupowanych w jedno zlecenie odbioru
  • 2. Obsługa specyficzna dla przewoźnika - Niektórzy przewoźnicy włączają odbiór w rezerwację, inni wymagają oddzielnych zleceń. Cargoson automatycznie obsługuje oba warianty za Ciebie
  • 3. Regularne harmonogramy odbioru - Skonfiguruj zaplanowane odbiory w określonych odstępach czasu (np. codziennie do mojego głównego magazynu o 15:00), a Cargoson całkowicie pominie indywidualne wezwania kurierskie

Korzyści

  • Nie musisz śledzić, którzy przewoźnicy wymagają oddzielnych zleceń kurierskich
  • Automatyczna optymalizacja zapobiega niepotrzebnym wezwaniom odbioru
  • Wsparcie dla regularnych harmonogramów odbioru
  • Uproszczony przepływ pracy wysyłkowej - po prostu utwórz rezerwację

Konfiguracja

Automatyzacja odbioru kurierskiego jest domyślnie włączona dla wszystkich przesyłek Schenker UAB. Aby skonfigurować regularne harmonogramy odbioru lub niestandardowe reguły optymalizacji odbioru, skontaktuj się z [email protected].

API usług Schenker UAB

Silnik Cargoson
Ulepszenie Cargoson:

API usług to funkcja udostępniana przez Cargoson, która zwraca ujednoliconą listę wszystkich dostępnych usług od Schenker UAB i innych przewoźników w Twojej sieci. Pozwala to dynamicznie wyświetlać opcje wysyłki klientom bez hardkodowania ID usług.

Pobierz listę dostępnych usług wysyłkowych Schenker UAB. Używaj ID usług podczas dokonywania bezpośrednich rezerwacji, aby upewnić się, że otrzymasz dokładnie tę usługę, której chcesz.

GET /services/list

Zwróć listę usług Schenker UAB dostępnych na koncie Twojej firmy.

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"
    }
  ]
}

Używanie ID usług

ID usług z tego endpointu mogą być używane z parametrem direct_booking_service_id podczas tworzenia rezerwacji, aby wybrać odpowiednią usługę i wysłać przesyłkę do systemu Schenker UAB.

Kompletne przykłady kodu

Poniżej znajdują się kompletne działające przykłady pokazujące pełny przepływ pracy: pobierz stawki, wybierz usługę, zarezerwuj przesyłkę i wyodrębnij informacje śledzące.

# 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

Dlaczego warto używać API Cargoson do integracji Schenker UAB

Bezpośrednia integracja z natywnym API Schenker UAB oznacza zmaganie się z dokumentacją specyficzną dla przewoźnika, obsługę unikalnych formatów danych i utrzymywanie oddzielnego kodu dla każdego dostawcy. Cargoson oferuje jedno ujednolicone API RESTful, które obsługuje Schenker UAB i ponad 2000 przewoźników na rynkach europejskich i północnoamerykańskich, z nowymi integracjami dodawanymi co tydzień. Skracamy czas rozwoju z miesięcy do dni, automatycznie obsługujemy aktualizacje przewoźników i zarządzamy wyjątkami regionalnymi. Z Cargoson skupiasz się na rozwijaniu swojego biznesu zamiast zarządzania technicznymi złożonościami przewoźników.

Korzyści z integracji Schenker UAB przez API Cargoson

Jedno API dla wszystkich przewoźników

Zastąp dziesiątki oddzielnych integracji przewoźników jednym połączeniem z Schenker UAB i ponad 2000 innymi dostawcami przez API Cargoson. Koniec z utrzymywaniem wielu systemów uwierzytelniania, obsługą różnych formatów danych lub aktualizowaniem kodu, gdy przewoźnicy zmieniają swoje endpointy.

Przejrzysta dokumentacja i wsparcie

Dostęp do prostej dokumentacji API z działającymi przykładami kodu, szczegółowymi opisami parametrów i jasno zdefiniowanymi endpointami. Nasz zespół wsparcia zna branżę logistyczną i może pomóc szybko rozwiązać wyzwania integracyjne.

Przykłady kodu w wielu językach

Zacznij natychmiast z gotowymi do użycia przykładami kodu w cURL, JavaScript, Python, PHP i Ruby. Kopiuj, wklejaj i dostosowuj je do swojego stosu, nie musisz od zera rozwiązywać uwierzytelniania, formatowania żądań ani obsługi błędów.

Prawdziwe wsparcie od ekspertów logistycznych

Uzyskaj pomoc od osób, które rozumieją wysyłkę, a nie tylko API. Niezależnie od tego, czy rozwiązujesz problem z integracją, czy potrzebujesz porady dotyczącej najlepszego sposobu obsługi przesyłek międzynarodowych, nasz zespół jest tutaj, aby pomóc.

Najbardziej zaawansowany na świecie silnik wyceny frachtu

API wyceny frachtu Cargoson wykracza daleko poza proste wyszukiwanie stawek. Nasz silnik może czytać, analizować i digitalizować dowolny cennik przewoźnika niezależnie od formatu lub struktury, co czyni go najpotężniejszym rozwiązaniem do zarządzania stawkami frachtowymi w branży logistycznej.

Uniwersalne wsparcie formatów

Nasz silnik wyceny frachtu obsługuje dowolny format: strukturalne pliki Excel, złożone pliki PDF, wolny tekst, a nawet odręcznie pisane cenniki. Prześlij swoje umowy przewoźników w dowolnym formacie, a nasz silnik stawek frachtowych automatycznie przeanalizuje zasady cenowe, dopłaty i warunki.

Bezpośrednia integracja API przewoźnika

Dla przewoźników z nowoczesnymi systemami (zazwyczaj globalni przewoźnicy paczek i firmy transportowe zorientowane na technologię) pobieramy stawki bezpośrednio z ich API w czasie rzeczywistym. Gwarantuje to, że zawsze otrzymujesz najbardziej aktualne ceny bez ręcznych aktualizacji.

Publiczne ceny online

Nie masz jeszcze umowy z przewoźnikiem? Nie ma problemu. Cargoson może pobierać publiczne ceny online od przewoźników, umożliwiając porównanie opcji jeszcze przed nawiązaniem formalnych umów.

Zapytania o stawki spot

W przypadku złożonych przesyłek lub szczególnych przypadków poproś o stawki spot, gdzie przewoźnicy przeglądają Twoje konkretne wymagania i przedstawiają niestandardową wycenę. Wszystko zarządzane przez to samo ujednolicone API.

API wysyłki Schenker UAB: Uproszczona automatyzacja logistyki

Zautomatyzuj proces realizacji zamówień, integrując API wysyłki Cargoson z Schenker UAB i ponad 2000 przewoźnikami na całym świecie. Twórz etykiety wysyłkowe, rezerwuj odbiory i zarządzaj wszystkimi swoimi przewoźnikami z jednej platformy, zachowując jednocześnie wynegocjowane stawki z każdym dostawcą.

Automatyczne generowanie etykiet

Generuj zatwierdzone przez przewoźnika etykiety wysyłkowe w jednym żądaniu API. Wsparcie dla wielu formatów etykiet (A4, drukarka termiczna) i automatyczna dokumentacja celna dla przesyłek międzynarodowych oznacza mniej pracy ręcznej i mniej błędów wysyłkowych.

Porównanie stawek w czasie rzeczywistym

Porównaj stawki na żywo w Schenker UAB i innych aktywowanych przewoźnikach, aby wybrać najlepszą opcję na podstawie kosztu, szybkości i poziomu usług.

Zachowaj swoje wynegocjowane stawki

Połącz swoje istniejące konto Schenker UAB, aby zachować wynegocjowane stawki wysyłkowe. Cargoson po prostu zapewnia integrację techniczną: zachowujesz bezpośrednie relacje z przewoźnikami i niestandardowe umowy cenowe.

Bezpieczeństwo klasy korporacyjnej dla integracji API Schenker UAB

Infrastruktura API Cargoson spełnia europejskie standardy zgodności, które zapewniają bezpieczną, gotową do audytu integrację Schenker UAB dla Twojej firmy:

  • Zgodna z RODO obsługa i przechowywanie danych w całej Europie
  • Certyfikowane zarządzanie bezpieczeństwem informacji ISO 27001
  • Szyfrowanie end-to-end dla wszystkich komunikacji API

Gotowy do zintegrowania wysyłki Schenker UAB ze swoją platformą?

Zarezerwuj demo, aby zobaczyć, jak ujednolicone API Cargoson może uprościć Twoje operacje logistyczne

Zarezerwuj demo

Najczęściej zadawane pytania

Cargoson to TMS (System Zarządzania Transportem) dla europejskich i północnoamerykańskich producentów. Naszą główną wizją jest prostota: integracja wszystkich przewoźników i trybów frachtowych (drogowy, paczki, lotniczy, morski, kolejowy) w jednym oknie i jednym API. Niezależnie od tego, czy wysyłasz palety po Europie, czy kontenery za ocean, zarządzaj wszystkim z jednej platformy.

Rozpoczęcie jest proste. Najpierw zarejestruj konto Cargoson i uzyskaj klucz API. Następnie połącz swoje konto Schenker UAB w panelu Cargoson. Po zakończeniu możesz zacząć wysyłać żądania API, korzystając z naszej dokumentacji i przykładów kodu. Cała konfiguracja zazwyczaj zajmuje mniej niż godzinę.

Tak, będziesz potrzebować własnego konta Schenker UAB, aby korzystać z usług Schenker UAB przez Cargoson. Gwarantuje to zachowanie wynegocjowanych stawek i utrzymanie bezpośredniej relacji z Schenker UAB. Cargoson po prostu zapewnia warstwę integracji technicznej, która ułatwia pracę z Schenker UAB i innymi przewoźnikami przez jedno ujednolicone API.

Cargoson działa w oparciu o przejrzysty model miesięcznej subskrypcji bez opłat za przesyłkę ani prowizji, nigdy. Twój plan obejmuje dostęp do API, dokumentację, wsparcie i automatyczne aktualizacje, gdy przewoźnicy zmieniają swoje systemy. Płacisz Schenker UAB bezpośrednio za wysyłkę według wynegocjowanych stawek. Bez ukrytych kosztów, bez niespodzianek.

Absolutnie! To główna korzyść z używania Cargoson. Po zintegrowaniu naszego API możesz pracować z Schenker UAB i ponad 2000 innymi przewoźnikami, używając tych samych endpointów, uwierzytelniania i formatów danych. Dodawaj nowych przewoźników bez pisania nowego kodu integracyjnego, po prostu aktywuj ich w swoim panelu Cargoson.

Tak! Integrujemy każdego przewoźnika, którego potrzebujesz, bez dodatkowych kosztów. Jest to zawarte w Twojej subskrypcji Cargoson. Po prostu przedstaw nam kontakty swoich przewoźników, a my zajmiemy się integracją techniczną. Nowe integracje są dodawane codziennie na podstawie próśb klientów.

Tak, możemy skonfigurować webhooks, aby powiadamiać Twój system o zdarzeniach i wyzwalaczach w Cargoson, takich jak aktualizacje statusu przesyłki, potwierdzenia rezerwacji lub zmiany w Twoich przesyłkach. Skontaktuj się z naszym zespołem wsparcia lub zarezerwuj demo, aby omówić swoje wymagania dotyczące webhooków i konfigurację.

Cargoson może być przesadą, jeśli jesteś małą firmą wysyłającą tylko kilka razy w miesiącu z jednym przewoźnikiem. Prawdopodobnie możesz dobrze zarządzać tymi przesyłkami bez TMS. Nie jesteśmy również odpowiednim rozwiązaniem, jeśli jesteś przewoźnikiem lub spedytorem. Cargoson jest zbudowany specjalnie dla właścicieli ładunków (BCO), takich jak producenci i dystrybutorzy, którzy są właścicielami wysyłanych towarów. Jeśli szukasz TMS do zarządzania swoim biznesem spedycyjnym lub operacjami przewoźnika, nie jesteśmy zaprojektowani do tego przypadku użycia.

Nasze API zwraca jasne komunikaty o błędach z konkretnymi kodami błędów i opisami. Typowe problemy są udokumentowane z rozwiązaniami w naszej dokumentacji dla programistów. Jeśli utkniesz, nasz zespół wsparcia może pomóc w rozwiązywaniu problemów z integracją.

Wdrażamy rozsądne limity żądań, aby zapewnić stabilność systemu dla wszystkich klientów. Istnieją zarówno długookresowe limity żądań, jak i limity burst, z wartościami, które powinny być więcej niż wystarczające dla większości firm. Jeśli potrzebujesz wyższych limitów dla operacji na skalę korporacyjną, skontaktuj się z nami, aby omówić niestandardowe limity dla Twojego konta.

Zacznij używać API Schenker UAB

Uzyskaj dane uwierzytelniające API, aby rozpocząć integrację

Uzyskaj klucz API