Документація API Schenker UAB

Інтегровано REST API

Повний довідник API для інтеграції відправлень Schenker UAB. Доступ до бронювання, тарифів, генерації етикеток та відстеження через уніфікований API управління транспортом Cargoson.

Отримати API ключ

Огляд API Schenker UAB

Цей API надає програмний доступ до послуг відправлення Schenker UAB через уніфіковану платформу управління транспортом Cargoson. Інтегруйте можливості Schenker UAB, включаючи бронювання відправлень, відстеження, тарифні пропозиції та генерацію етикеток у ваші додатки.

Можливості API

  • Створення та управління бронюваннями відправлень Schenker UAB
  • Відстеження відправлень та оновлення статусу
  • Отримання тарифних пропозицій та часу доставки
  • Генерація етикеток відправлення в кількох форматах (PDF, PNG, ZPL)
  • Створення етикеток повернення для зворотної логістики
  • Запит розташування поштоматів та пунктів видачі
  • Перелік доступних послуг перевізника
  • Автоматизовані запити на забір кур'єром

Базова URL-адреса та автентифікація

Базова URL-адреса

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

Автентифікація

Усі запити повинні включати ваш API ключ та правильний заголовок Accept:

Authorization: Bearer ВАШ_API_КЛЮЧ
Accept: application/vnd.api.v1

API бронювання Schenker UAB

Прямий API перевізника

Створюйте відправлення Schenker UAB та отримуйте етикетки відправлення, використовуючи ендпоінт Queries. Бронювання надсилаються в систему перевізника в реальному часі, а етикетки генеруються миттєво.

Запит vs пряме бронювання

Ендпоінт Queries підтримує два методи бронювання:

  • Режим запиту - Створіть запит на транспортування без вказівки перевізника (поки що). Це дозволяє вам вручну порівняти ціни та час доставки перевізників, запитати нові spot-ціни, внести зміни/оновлення до відправлення та делегувати вибір перевізника іншим, перш ніж зробити остаточний вибір перевізника в Cargoson.
  • Пряме бронювання - Вкажіть ID послуги перевізника (з Rate або Services API), щоб забронювати безпосередньо з Schenker UAB. Це гарантує, що ваше відправлення використовує саме ту послугу, яку ви обрали.

Щоб забронювати безпосередньо з Schenker UAB, завжди вказуйте direct_booking_service_id.

POST /queries

Створити запит на відправлення або пряме бронювання для Schenker UAB. Включіть direct_booking_service_id для створення негайного бронювання.

Request Parameters

collection_date string required

Дата забору у форматі РРРР-ММ-ДД

collection_country string required

Код країни забору (ISO 3166-1 alpha-2)

collection_postcode string required

Поштовий індекс забору

collection_address_row_1 string required

Адреса вулиці забору

collection_city string required

Місто забору

collection_company_name string required

Назва компанії відправника

collection_contact_name string required

Контактна особа відправника

collection_contact_phone string required

Номер телефону відправника

delivery_country string required

Код країни доставки

delivery_postcode string required

Поштовий індекс доставки

delivery_address_row_1 string required

Адреса вулиці доставки

delivery_city string required

Місто доставки

delivery_company_name string required

Назва компанії одержувача

delivery_contact_name string required

Контактна особа одержувача

delivery_contact_phone string required

Номер телефону одержувача

rows_attributes array required

Масив упаковок/палет з кількістю, типом упаковки, вагою та описом

options[direct_booking_service_id] integer

ID послуги Schenker UAB для прямого бронювання

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

Генерація етикеток

Етикетки відправлення Schenker UAB автоматично генеруються при створенні бронювання. Етикетки доступні в кількох форматах для підтримки різних типів принтерів.

Підтримувані формати етикеток

a4 - формат PDF A4 для настільних принтерів (4 етикетки на сторінці)
label_printer - формат PDF 4x6 дюймів (~10x15 см) для термопринтерів

Етикетки включені у відповідь на бронювання через поле label_url. Завантажте та роздрукуйте етикетку за наданою URL-адресою після бронювання.

API тарифів Schenker UAB (ціноутворення вантажоперевезень)

Механізм Cargoson
Покращення Cargoson:

Schenker UAB не надає нативний API тарифів. Механізм тарифів вантажоперевезень Cargoson розраховує ціни, використовуючи ваші завантажені цінові угоди, надаючи вам той самий досвід API, що й перевізники з нативними API тарифів. Ви можете завантажувати тарифи перевізників у будь-якому форматі (Excel, PDF, навіть рукописні прайс-листи), і ми їх оцифруємо.

Отримуйте тарифи вантажоперевезень Schenker UAB в реальному часі перед бронюванням. Rate API повертає доступні послуги, ціни та орієнтовний час доставки.

POST /freightPrices/list

Отримати тарифні пропозиції від Schenker UAB та інших активованих перевізників на вашому обліковому записі.

Request Parameters

collection_date string required

Дата забору у форматі РРРР-ММ-ДД

collection_country string required

Код країни забору (ISO 3166-1 alpha-2)

collection_postcode string required

Поштовий індекс забору

delivery_country string required

Код країни доставки

delivery_postcode string required

Поштовий індекс доставки

rows_attributes array required

Масив упаковок/палет з кількістю, типом упаковки, вагою та описом

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 відстеження Schenker UAB

Прямий API перевізника

Відстежуйте відправлення Schenker UAB, використовуючи довідковий номер Cargoson. Отримуйте поточний статус, оновлення місцезнаходження та орієнтовний час доставки.

GET /bookings/{reference}

Отримати деталі відстеження для відправлення Schenker UAB, використовуючи довідковий номер бронювання 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 етикеток повернення Schenker UAB

На базі Cargoson
Покращення Cargoson:

Schenker UAB не підтримує етикетки повернення нативно. Cargoson генерує етикетки повернення та керує процесом зворотної логістики через нашу платформу.

Генеруйте етикетки повернення для відправлень Schenker UAB. Етикетки повернення дозволяють клієнтам повертати товари, використовуючи попередньо оплачену доставку.

POST /bookings/{reference}/return_labels

Створити етикетку повернення для існуючого відправлення Schenker UAB.

Request Parameters

label_format string

Формат етикетки: a4 або label_printer (за замовчуванням: 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"
}

Функції етикеток повернення

  • Попередньо оплачені етикетки повернення
  • Ті самі варіанти формату, що й для вихідних етикеток (A4, термопринтер)
  • Окремий довідковий номер відстеження для повернень
  • Безшовна інтеграція з послугами повернення Schenker UAB

Запити на кур'єра Schenker UAB

Автоматизація Cargoson

Cargoson автоматизує запити на забір кур'єром для відправлень Schenker UAB, що робить це одним завданням менше, про яке вам потрібно думати.

Як Cargoson обробляє запити на кур'єра

Багато перевізників вимагають створювати етикетки окремо, а потім вручну запитувати забір кур'єром. Інші не мають окремої системи етикеток плюс виклик кур'єра, і кожне відправлення є повним, окремим відправленням. Ми вважаємо, що має бути єдиний стандарт API перевізників, але наразі кожен перевізник створює свою унікальну систему, що ускладнює користувачам запам'ятовування особливостей та складнощів кожного. Cargoson спрощує ваші виклики кур'єра, розглядаючи кожне відправлення цілісно: запити на кур'єра автоматично керуються як частина процесу бронювання.

Розумна оптимізація забору

Cargoson оптимізує виклики кур'єра для зниження витрат та підвищення ефективності.

  • 1. Пакетна консолідація - Кілька відправлень з одного місця групуються в один запит на забір
  • 2. Обробка, специфічна для перевізника - Деякі перевізники включають забір у бронювання, інші вимагають окремих запитів. Cargoson автоматично обробляє обидва варіанти для вас
  • 3. Регулярні графіки забору - Налаштуйте попередньо заплановані забори в певні інтервали (наприклад, щодня на мій головний склад о 15:00), і Cargoson повністю пропустить окремі виклики кур'єра

Переваги

  • Не потрібно відстежувати, які перевізники вимагають окремих запитів на кур'єра
  • Автоматична оптимізація запобігає непотрібним викликам забору
  • Підтримка регулярних графіків забору
  • Спрощений робочий процес відправлення - просто створіть бронювання

Налаштування

Автоматизація забору кур'єром увімкнена за замовчуванням для всіх відправлень Schenker UAB. Щоб налаштувати регулярні графіки забору або спеціальні правила оптимізації забору, зв'яжіться з [email protected].

API послуг Schenker UAB

Механізм Cargoson
Покращення Cargoson:

API послуг - це функція, надана Cargoson, яка повертає уніфікований список усіх доступних послуг від Schenker UAB та інших перевізників у вашій мережі. Це дозволяє вам динамічно відображати варіанти відправлення вашим клієнтам без жорсткого кодування ID послуг.

Отримайте список доступних послуг відправлення Schenker UAB. Використовуйте ID послуг при прямому бронюванні, щоб переконатися, що ви отримуєте саме ту послугу, яку хочете.

GET /services/list

Повернути список послуг Schenker UAB, доступних на обліковому записі вашої компанії.

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

Використання ID послуг

ID послуг з цього ендпоінту можна використовувати з параметром direct_booking_service_id при створенні бронювань для вибору правильної послуги та надсилання відправлення в систему Schenker UAB.

Повні приклади коду

Нижче наведені повні робочі приклади, що показують повний робочий процес: отримання тарифів, вибір послуги, бронювання відправлення та отримання інформації про відстеження.

# 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

Чому використовувати API Cargoson для інтеграції Schenker UAB

Інтеграція безпосередньо з нативним API Schenker UAB означає боротьбу з документацією, специфічною для перевізника, обробку унікальних форматів даних та підтримку окремого коду для кожного постачальника. Cargoson пропонує єдиний уніфікований RESTful API, який підтримує Schenker UAB та 2000+ перевізників на європейських та північноамериканських ринках, з новими інтеграціями, що додаються щотижня. Ми скорочуємо час розробки з місяців до днів, автоматично обробляємо оновлення перевізників та керуємо регіональними винятками. З Cargoson ви зосереджуєтесь на розвитку свого бізнесу замість управління технічними складнощами перевізників.

Переваги інтеграції Schenker UAB через API Cargoson

Один API для всіх перевізників

Замініть десятки окремих інтеграцій перевізників одним підключенням до Schenker UAB та 2000+ інших постачальників через API Cargoson. Більше не потрібно підтримувати кілька систем автентифікації, обробляти різні формати даних або оновлювати код, коли перевізники змінюють свої ендпоінти.

Чітка документація та підтримка

Доступ до зрозумілої документації API з робочими прикладами коду, детальними описами параметрів та чітко визначеними ендпоінтами. Наша команда підтримки знає логістичну галузь і може допомогти вам швидко вирішити проблеми інтеграції.

Приклади коду кількома мовами

Почніть негайно з готових до використання прикладів коду на cURL, JavaScript, Python, PHP та Ruby. Копіюйте, вставляйте та адаптуйте їх до свого стеку, не потрібно з нуля розбиратися з автентифікацією, форматуванням запитів або обробкою помилок.

Справжня підтримка від експертів з логістики

Отримайте допомогу від людей, які розуміють відправлення, а не лише API. Чи то ви усуваєте проблему інтеграції, чи потребуєте поради щодо найкращого способу обробки міжнародних відправлень, наша команда тут, щоб допомогти.

Найпередовіший у світі механізм ціноутворення вантажоперевезень

API ціноутворення вантажоперевезень Cargoson виходить далеко за межі простого пошуку тарифів. Наш механізм може читати, аналізувати та оцифровувати будь-який прайс-лист перевізника незалежно від формату чи структури, що робить його найпотужнішим рішенням для управління тарифами вантажоперевезень у логістичній галузі.

Універсальна підтримка форматів

Наш механізм ціноутворення вантажоперевезень обробляє будь-який формат: структуровані файли Excel, складні PDF, вільний текст або навіть рукописні прайс-листи. Завантажте свої контракти з перевізниками в будь-якому форматі, і наш механізм тарифів автоматично проаналізує правила ціноутворення, доплати та умови.

Пряма інтеграція API перевізника

Для перевізників з сучасними системами (зазвичай глобальні посилкові перевізники та технологічно просунуті вантажні компанії) ми отримуємо тарифи безпосередньо з їхніх API в реальному часі. Це гарантує, що ви завжди отримуєте найактуальніші ціни без ручних оновлень.

Публічні онлайн-ціни

Ще не маєте контракту з перевізником? Без проблем. Cargoson може отримувати публічні онлайн-ціни від перевізників, дозволяючи вам порівнювати варіанти навіть до встановлення офіційних угод.

Запити на spot-тарифи

Для складних відправлень або особливих випадків запитуйте spot-тарифи, де перевізники переглядають ваші конкретні вимоги та надають індивідуальну пропозицію. Все керується через той самий уніфікований API.

API відправлення Schenker UAB: Спрощена автоматизація логістики

Автоматизуйте свій процес виконання, інтегруючи API відправлення Cargoson з Schenker UAB та 2000+ перевізниками по всьому світу. Створюйте етикетки відправлення, бронюйте забори та керуйте всіма своїми перевізниками з однієї платформи, зберігаючи свої узгоджені тарифи з кожним постачальником.

Автоматична генерація етикеток

Генеруйте схвалені перевізником етикетки відправлення в одному запиті API. Підтримка кількох форматів етикеток (A4, термопринтер) та автоматична митна документація для міжнародних відправлень означає менше ручної роботи та менше помилок при відправленні.

Порівняння тарифів у реальному часі

Порівнюйте реальні тарифи між Schenker UAB та іншими вашими активованими перевізниками, щоб вибрати найкращий варіант на основі вартості, швидкості та рівня обслуговування.

Зберігайте свої узгоджені тарифи

Підключіть свій існуючий обліковий запис Schenker UAB, щоб зберегти свої узгоджені тарифи на відправлення. Cargoson просто надає технічну інтеграцію: ви зберігаєте свої прямі відносини з перевізниками та індивідуальні цінові угоди.

Безпека корпоративного рівня для інтеграції API Schenker UAB

Інфраструктура API Cargoson відповідає європейським стандартам відповідності, які забезпечують безпечну, готову до аудиту інтеграцію Schenker UAB для вашого бізнесу:

  • Обробка та зберігання даних відповідно до GDPR по всій Європі
  • Сертифіковане управління інформаційною безпекою ISO 27001
  • Наскрізне шифрування для всіх комунікацій API

Готові інтегрувати відправлення Schenker UAB у свою платформу?

Забронюйте демо, щоб побачити, як уніфікований API Cargoson може спростити ваші логістичні операції

Забронювати демо

Часті запитання

Cargoson - це система управління транспортом для європейських та північноамериканських виробників. Наше центральне бачення - простота: інтегруйте будь-яких та всіх перевізників і види вантажоперевезень (автомобільні, посилкові, авіа, морські, залізничні) в одне вікно та один API. Чи то ви відправляєте палети по Європі, чи контейнери за океан, керуйте всім з однієї платформи.

Почати просто. Спочатку зареєструйте обліковий запис Cargoson та отримайте свій API ключ. Потім підключіть свій обліковий запис Schenker UAB на панелі керування Cargoson. Після цього ви можете почати робити запити API, використовуючи нашу документацію та приклади коду. Зазвичай все налаштування займає менше години.

Так, вам знадобиться власний обліковий запис Schenker UAB для використання послуг Schenker UAB через Cargoson. Це гарантує, що ви зберігаєте свої узгоджені тарифи та підтримуєте прямі відносини з Schenker UAB. Cargoson просто надає технічний інтеграційний рівень, який полегшує роботу з Schenker UAB та іншими перевізниками через один уніфікований API.

Cargoson працює за прозорою моделлю щомісячної підписки без комісій за відправлення або комісійних, ніколи. Ваш план включає доступ до API, документацію, підтримку та автоматичні оновлення, коли перевізники змінюють свої системи. Ви платите Schenker UAB безпосередньо за відправлення за вашими узгодженими тарифами. Без прихованих витрат, без сюрпризів.

Абсолютно! Це основна перевага використання Cargoson. Після інтеграції нашого API ви можете працювати з Schenker UAB та 2000+ іншими перевізниками, використовуючи ті самі ендпоінти, автентифікацію та формати даних. Додавайте нових перевізників без написання нового інтеграційного коду, просто активуйте їх на своїй панелі керування Cargoson.

Так! Ми інтегруємо будь-якого перевізника, який вам потрібен, без додаткової плати. Це включено у вашу підписку Cargoson. Просто познайомте нас зі своїми контактами перевізників, і ми займемося технічною інтеграцією. Нові інтеграції додаються щодня на основі запитів клієнтів.

Так, ми можемо налаштувати вебхуки для сповіщення вашої системи на основі подій та тригерів у Cargoson, таких як оновлення статусу відправлення, підтвердження бронювання або зміни у ваших відправленнях. Зв'яжіться з нашою командою підтримки або забронюйте демо, щоб обговорити ваші вимоги до вебхуків та налаштування.

Cargoson може бути надмірним, якщо ви невелика компанія, яка відправляє лише кілька разів на місяць з одним перевізником. Ви, ймовірно, можете добре керувати цими відправленнями без системи управління транспортом. Ми також не підходимо, якщо ви перевізник або експедитор. Cargoson створений спеціально для власників вантажу (BCO), таких як виробники та дистриб'ютори, які володіють товарами, що відправляються. Якщо ви шукаєте систему управління транспортом для управління своїм експедиторським бізнесом або операціями перевізника, ми не призначені для цього випадку використання.

Наш API повертає чіткі повідомлення про помилки з конкретними кодами помилок та описами. Поширені проблеми задокументовані з рішеннями в нашій документації для розробників. Якщо ви застрягли, наша команда підтримки може допомогти усунути проблеми інтеграції.

Ми впроваджуємо розумні обмеження швидкості для забезпечення стабільності системи для всіх клієнтів. Є як довгострокові обмеження швидкості, так і обмеження пікових навантажень, зі значеннями, які повинні бути більш ніж достатніми для більшості підприємств. Якщо вам потрібні вищі ліміти для операцій корпоративного масштабу, зв'яжіться з нами, щоб обговорити індивідуальні обмеження швидкості для вашого облікового запису.

Почніть використовувати API Schenker UAB

Отримайте свої облікові дані API для початку інтеграції

Отримати API ключ