Documentație API Schenker UAB

Integrat REST API

Referință completă API pentru integrarea expedierii Schenker UAB. Accesează rezervări, tarife de transport, generare etichete și tracking prin API-ul unificat de management al transporturilor Cargoson.

Obține Cheia Ta API

Prezentare generală API Schenker UAB

Acest API oferă acces programatic la serviciile de expediere Schenker UAB prin platforma unificată de management al transporturilor Cargoson. Integrează capabilitățile Schenker UAB incluzând rezervarea expedierii, tracking, oferte de tarife și generarea etichetelor în aplicațiile tale.

Capabilități API

  • Creează și gestionează rezervări de expediere Schenker UAB
  • Tracking expediere și actualizări de status
  • Obține oferte de tarife de transport și timpi de tranzit
  • Generează etichete de expediere în multiple formate (PDF, PNG, ZPL)
  • Creează etichete de retur pentru logistica inversă
  • Interogare locații automate de colete și puncte de ridicare
  • Listează serviciile disponibile ale transportatorului
  • Solicitări automate de ridicare curier

URL de Bază & Autentificare

URL de Bază

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

Autentificare

Toate cererile trebuie să includă cheia ta API și header-ul Accept corect:

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

API Rezervări Schenker UAB

API Direct Transportator

Creează expedieri Schenker UAB și obține etichete de expediere folosind endpoint-ul Queries. Rezervările sunt trimise în sistemul transportatorului în timp real și etichetele sunt generate imediat.

Query vs Rezervare Directă

Endpoint-ul Queries suportă două metode de rezervare:

  • Modul Query - Creează o cerere de transport fără a specifica (încă) un transportator. Acest lucru îți permite să compari manual prețurile și timpii de livrare ai transportatorilor, să solici noi prețuri spot, să faci ajustări/actualizări la expediere și să delegi selecția transportatorului altora, înainte de a face selecția finală a transportatorului în Cargoson.
  • Rezervare directă - Specifică un ID de serviciu al transportatorului (din API-ul Rate sau Services) pentru a rezerva direct cu Schenker UAB. Acest lucru asigură că expedierea ta folosește exact serviciul pe care l-ai selectat.

Pentru a rezerva direct la Schenker UAB, definește întotdeauna direct_booking_service_id.

POST /queries

Creează o interogare de expediere sau rezervare directă pentru Schenker UAB. Includeți direct_booking_service_id pentru a crea o rezervare imediată.

Request Parameters

collection_date string required

Data de ridicare în format AAAA-LL-ZZ

collection_country string required

Codul țării de ridicare (ISO 3166-1 alpha-2)

collection_postcode string required

Codul poștal de ridicare

collection_address_row_1 string required

Adresa stradală de ridicare

collection_city string required

Orașul de ridicare

collection_company_name string required

Numele companiei expeditoare

collection_contact_name string required

Persoana de contact expeditor

collection_contact_phone string required

Numărul de telefon al expeditorului

delivery_country string required

Codul țării de livrare

delivery_postcode string required

Codul poștal de livrare

delivery_address_row_1 string required

Adresa stradală de livrare

delivery_city string required

Orașul de livrare

delivery_company_name string required

Numele companiei destinatare

delivery_contact_name string required

Persoana de contact destinatar

delivery_contact_phone string required

Numărul de telefon al destinatarului

rows_attributes array required

Array de pachete/paleți cu cantitate, tip_pachet, greutate și descriere

options[direct_booking_service_id] integer

ID serviciu Schenker UAB pentru rezervare directă

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

Generare Etichete

Etichetele de expediere Schenker UAB sunt generate automat când creezi o rezervare. Etichetele sunt disponibile în multiple formate pentru a suporta diferite tipuri de imprimante.

Formate de Etichete Suportate

a4 - Format PDF A4 pentru imprimante de birou (4 etichete pe pagină)
label_printer - Format PDF 4x6in (~10x15cm) pentru imprimante termice

Etichetele sunt incluse în răspunsul rezervării prin câmpul label_url. Descarcă și printează eticheta de la URL-ul furnizat după rezervare.

API Tarife Schenker UAB (Prețuri Transport)

Motor Cargoson
Îmbunătățire Cargoson:

Schenker UAB nu oferă un API nativ de tarife. Motorul de tarife de transport Cargoson calculează prețurile folosind acordurile tale de prețuri încărcate, oferindu-ți aceeași experiență API ca transportatorii cu API-uri native de tarife. Poți încărca tarifele transportatorilor în orice format (Excel, PDF, chiar liste de prețuri scrise de mână) și le vom digitaliza.

Obține tarife de transport Schenker UAB în timp real înainte de rezervare. API-ul Rate returnează serviciile disponibile, prețurile și timpii estimați de livrare.

POST /freightPrices/list

Obține oferte de tarife de transport de la Schenker UAB și alți transportatori activați pe contul tău.

Request Parameters

collection_date string required

Data de ridicare în format AAAA-LL-ZZ

collection_country string required

Codul țării de ridicare (ISO 3166-1 alpha-2)

collection_postcode string required

Codul poștal de ridicare

delivery_country string required

Codul țării de livrare

delivery_postcode string required

Codul poștal de livrare

rows_attributes array required

Array de pachete/paleți cu cantitate, tip_pachet, greutate și descriere

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 Direct Transportator

Urmărește expedierile Schenker UAB folosind numărul de referință Cargoson. Obține statusul curent, actualizări de locație și timpul estimat de livrare.

GET /bookings/{reference}

Obține detalii de tracking pentru o expediere Schenker UAB folosind referința de rezervare 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 Etichete de Retur Schenker UAB

Powered by Cargoson
Îmbunătățire Cargoson:

Schenker UAB nu suportă nativ etichete de retur. Cargoson generează etichete de retur și gestionează procesul de logistică inversă prin platforma noastră.

Generează etichete de expediere retur pentru expedierile Schenker UAB. Etichetele de retur permit clienților să trimită înapoi articole folosind expediere prepaid.

POST /bookings/{reference}/return_labels

Creează o etichetă de retur pentru o expediere Schenker UAB existentă.

Request Parameters

label_format string

Format etichetă: a4 sau label_printer (implicit: 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"
}

Caracteristici Etichete de Retur

  • Etichete de expediere retur prepaid
  • Aceleași opțiuni de format ca etichetele de ieșire (A4, termică)
  • Referință de tracking separată pentru retururi
  • Integrare perfectă cu serviciile de retur Schenker UAB

Solicitări Curier Schenker UAB

Automatizare Cargoson

Cargoson automatizează solicitările de ridicare curier pentru expedierile Schenker UAB, ceea ce înseamnă o sarcină mai puțin la care trebuie să te gândești.

Cum Gestionează Cargoson Solicitările de Curier

Mulți transportatori de expediere necesită să creezi etichete separat și apoi să soliciți manual ridicarea de către curier. Alții nu au un sistem separat de etichetă plus apel curier, și fiecare expediere este o expediere completă, separată. Credem că ar trebui să existe un standard unic pentru API-urile transportatorilor, dar în prezent, fiecare transportator creează propriul sistem unic, ceea ce face dificil pentru utilizatorii lor să își amintească particularitățile și complexitățile fiecăruia. Cargoson simplifică apelurile tale de curier tratând fiecare expediere holistic: solicitările de curier sunt gestionate automat ca parte a procesului de rezervare.

Optimizare Inteligentă a Ridicării

Cargoson optimizează apelurile de curier pentru a reduce costurile și a îmbunătăți eficiența.

  • 1. Consolidare în loturi - Multiple expedieri din aceeași locație sunt grupate într-o singură solicitare de ridicare
  • 2. Gestionare specifică transportatorului - Unii transportatori includ ridicarea în rezervare, alții necesită solicitări separate. Cargoson gestionează automat ambele variante pentru tine
  • 3. Programe regulate de ridicare - Configurează ridicări preprogramate la intervale specifice (de ex., zilnic la depozitul meu principal la ora 15:00) și Cargoson va omite complet apelurile individuale de curier

Beneficii

  • Nu este nevoie să urmărești care transportatori necesită solicitări separate de curier
  • Optimizarea automată previne apelurile de ridicare inutile
  • Suport pentru programe regulate de ridicare
  • Flux de lucru simplificat de expediere - doar creează rezervarea

Configurare

Automatizarea ridicării de către curier este activată implicit pentru toate expedierile Schenker UAB. Pentru a configura programe regulate de ridicare sau reguli personalizate de optimizare a ridicării, contactează [email protected].

API Servicii Schenker UAB

Motor Cargoson
Îmbunătățire Cargoson:

API-ul Services este o caracteristică oferită de Cargoson care returnează o listă unificată a tuturor serviciilor disponibile de la Schenker UAB și alți transportatori din rețeaua ta. Acest lucru îți permite să afișezi dinamic opțiuni de expediere clienților tăi fără a codifica fix ID-urile de servicii.

Obține o listă a serviciilor de expediere Schenker UAB disponibile. Folosește ID-urile de servicii când faci rezervări directe pentru a te asigura că obții exact serviciul pe care îl dorești.

GET /services/list

Returnează lista serviciilor Schenker UAB disponibile pe contul companiei tale.

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

Folosirea ID-urilor de Servicii

ID-urile de servicii din acest endpoint pot fi folosite cu parametrul direct_booking_service_id când creezi rezervări pentru a selecta serviciul potrivit și a trimite expedierea în sistemul Schenker UAB.

Exemple Complete de Cod

Mai jos sunt exemple complete funcționale care arată întregul flux de lucru: obține tarife, selectează un serviciu, rezervă expediere și extrage informații de 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

De ce să folosești API-ul Cargoson pentru integrarea Schenker UAB

Integrarea directă cu API-ul nativ Schenker UAB înseamnă să te lupți cu documentația specifică transportatorului, să gestionezi formate de date unice și să menții cod separat pentru fiecare furnizor. Cargoson oferă un singur API RESTful unificat care suportă Schenker UAB și 2.000+ transportatori pe piețele europene și nord-americane, cu noi integrări adăugate săptămânal. Reducem timpul de dezvoltare de la luni la zile, gestionăm actualizările transportatorilor automat și gestionăm excepțiile regionale. Cu Cargoson, te concentrezi pe creșterea afacerii tale în loc să gestionezi complexitățile tehnice ale transportatorilor.

Beneficiile integrării Schenker UAB prin API-ul Cargoson

Un API pentru toți transportatorii

Înlocuiește zeci de integrări separate de transportatori cu o singură conexiune la Schenker UAB și 2.000+ alți furnizori prin API-ul Cargoson. Nu mai este nevoie să menții multiple sisteme de autentificare, să gestionezi formate de date diferite sau să actualizezi codul când transportatorii își schimbă endpoint-urile.

Documentație clară și suport

Accesează documentație API clară cu exemple de cod funcționale, descrieri detaliate ale parametrilor și endpoint-uri clar definite. Echipa noastră de suport cunoaște industria logistică și te poate ajuta să rezolvi rapid provocările de integrare.

Exemple de cod în multiple limbaje

Începe imediat cu exemple de cod gata de utilizare în cURL, JavaScript, Python, PHP și Ruby. Copiază, lipește și adaptează-le la stack-ul tău, fără a fi nevoie să descoperi autentificarea, formatarea cererilor sau gestionarea erorilor de la zero.

Suport real de la experți în logistică

Primește ajutor de la oameni care înțeleg expedierea, nu doar API-uri. Fie că depanezi o problemă de integrare sau ai nevoie de sfaturi despre cea mai bună modalitate de a gestiona expedierile internaționale, echipa noastră este aici să te ajute.

Cel mai avansat motor de prețuri de transport din lume

API-ul de prețuri de transport Cargoson merge mult dincolo de simple căutări de tarife. Motorul nostru poate citi, analiza și digitaliza orice listă de prețuri a transportatorului indiferent de format sau structură, făcându-l cea mai puternică soluție de management al tarifelor de transport din industria logistică.

Suport universal pentru formate

Motorul nostru de prețuri de transport gestionează orice format: fișiere Excel structurate, PDF-uri complexe, text liber sau chiar liste de prețuri scrise de mână. Încarcă contractele tale cu transportatorii în orice format, iar motorul nostru de tarife de transport va analiza automat regulile de prețuri, suprataxele și condițiile.

Integrare directă API transportator

Pentru transportatorii cu sisteme moderne (de obicei transportatori globali de colete și companii de transport orientate spre tehnologie), extragem tarifele direct din API-urile lor în timp real. Acest lucru asigură că obții întotdeauna cele mai actuale prețuri fără actualizări manuale.

Prețuri publice online

Nu ai încă un contract cu un transportator? Nicio problemă. Cargoson poate extrage prețuri publice online de la transportatori, permițându-ți să compari opțiunile chiar înainte de a stabili acorduri formale.

Solicitări de tarife spot

Pentru expedieri complexe sau cazuri speciale, solicită tarife spot unde transportatorii revizuiesc cerințele tale specifice și oferă o ofertă personalizată. Toate gestionate prin același API unificat.

API de expediere Schenker UAB: Automatizare logistică simplificată

Automatizează procesul tău de îndeplinire integrând API-ul de Expediere Cargoson cu Schenker UAB și 2.000+ transportatori la nivel mondial. Creează etichete de expediere, rezervă ridicări și gestionează toți transportatorii tăi de pe o singură platformă, păstrând în același timp tarifele tale negociate cu fiecare furnizor.

Generare automată de etichete

Generează etichete de expediere aprobate de transportator într-o singură cerere API. Suport pentru multiple formate de etichete (A4, imprimantă termică) și documentație vamală automată pentru expedierile internaționale înseamnă mai puțină muncă manuală și mai puține erori de expediere.

Comparare tarife în timp real

Compară tarifele live între Schenker UAB și ceilalți transportatori activați pentru a alege cea mai bună opțiune pe baza costului, vitezei și nivelului de serviciu.

Păstrează tarifele tale negociate

Conectează contul tău existent Schenker UAB pentru a păstra tarifele tale de expediere negociate. Cargoson oferă pur și simplu integrarea tehnică: păstrezi relațiile tale directe cu transportatorii și acordurile de prețuri personalizate.

Securitate de nivel enterprise pentru integrarea API Schenker UAB

Infrastructura API Cargoson îndeplinește standardele de conformitate europene, care asigură integrarea Schenker UAB sigură și pregătită pentru audit pentru afacerea ta:

  • Gestionare și stocare a datelor conformă GDPR în toată Europa
  • Management al securității informațiilor certificat ISO 27001
  • Criptare end-to-end pentru toate comunicările API

Gata să integrezi expedierea Schenker UAB în platforma ta?

Rezervă un demo pentru a vedea cum API-ul unificat Cargoson poate simplifica operațiunile tale logistice

Rezervă un Demo

Întrebări Frecvente

Cargoson este un TMS (Sistem de Management al Transporturilor) pentru producătorii europeni și nord-americani. Viziunea noastră centrală este simplitatea: integrează orice și toți transportatorii și modurile de transport (rutier, colete, aerian, maritim, feroviar) într-o singură fereastră și un singur API. Fie că expediezi paleți în Europa sau containere peste mări, gestionează totul de pe o singură platformă.

Începerea este simplă. Mai întâi, înregistrează-te pentru un cont Cargoson și obține cheia ta API. Apoi conectează contul tău Schenker UAB în panoul de control Cargoson. Odată ce ai făcut asta, poți începe să faci cereri API folosind documentația și exemplele noastre de cod. Întreaga configurare durează de obicei mai puțin de o oră.

Da, vei avea nevoie de propriul tău cont Schenker UAB pentru a folosi serviciile Schenker UAB prin Cargoson. Acest lucru asigură că păstrezi tarifele tale negociate și menții relația ta directă cu Schenker UAB. Cargoson oferă pur și simplu stratul de integrare tehnică care face mai ușor să lucrezi cu Schenker UAB și alți transportatori printr-un singur API unificat.

Cargoson operează pe un model transparent de abonament lunar fără taxe pe expediere sau comisioane, niciodată. Planul tău include acces API, documentație, suport și actualizări automate când transportatorii își schimbă sistemele. Plătești Schenker UAB direct pentru expediere la tarifele tale negociate. Fără costuri ascunse, fără surprize.

Absolut! Acesta este principalul beneficiu al folosirii Cargoson. Odată ce integrezi API-ul nostru, poți lucra cu Schenker UAB și 2.000+ alți transportatori folosind aceleași endpoint-uri, autentificare și formate de date. Adaugă noi transportatori fără a scrie cod nou de integrare, doar activează-i în panoul tău de control Cargoson.

Da! Integrăm orice transportator de care ai nevoie fără cost suplimentar. Acest lucru este inclus în abonamentul tău Cargoson. Doar prezintă-ne contactele tale de la transportator și vom gestiona integrarea tehnică. Noi integrări sunt adăugate zilnic pe baza solicitărilor clienților.

Da, putem configura webhook-uri pentru a notifica sistemul tău pe baza evenimentelor și declanșatorilor din Cargoson, cum ar fi actualizări de status ale expedierii, confirmări de rezervare sau modificări ale expedierii tale. Contactează echipa noastră de suport sau rezervă un demo pentru a discuta cerințele și configurarea webhook-urilor tale.

Cargoson ar putea fi exagerat dacă ești o companie mică care expediază doar de câteva ori pe lună cu un singur transportator. Probabil poți gestiona acele expedieri bine fără un TMS. De asemenea, nu suntem potriviți dacă ești un transportator sau expeditor de mărfuri. Cargoson este construit specific pentru proprietarii beneficiari de marfă (BCO) precum producătorii și distribuitorii care dețin bunurile expediate. Dacă cauți un TMS pentru a gestiona afacerea ta de expediere sau operațiunile de transportator, nu suntem proiectați pentru acel caz de utilizare.

API-ul nostru returnează mesaje de eroare clare cu coduri de eroare specifice și descrieri. Problemele comune sunt documentate cu soluții în documentația noastră pentru dezvoltatori. Dacă rămâi blocat, echipa noastră de suport poate ajuta la depanarea problemelor de integrare.

Implementăm limite de rată rezonabile pentru a asigura stabilitatea sistemului pentru toți clienții. Există atât limite de rată pe termen lung, cât și limite de burst, cu valori care ar trebui să fie mai mult decât suficiente pentru majoritatea afacerilor. Dacă ai nevoie de limite mai mari pentru operațiuni la scară enterprise, contactează-ne pentru a discuta limite de rată personalizate pentru contul tău.

Începe să Folosești API-ul Schenker UAB

Obține credențialele tale API pentru a începe integrarea

Obține Cheia Ta API