Documentação da API Schenker UAB

Integrado REST API

Referência completa da API para integração de envios Schenker UAB. Acesse reservas, tarifas de frete, geração de etiquetas e rastreamento através da API unificada de gestão de transportes da Cargoson.

Obtenha a Sua Chave API

Visão Geral da API Schenker UAB

Esta API fornece acesso programático aos serviços de envio Schenker UAB através da plataforma unificada de gestão de transportes da Cargoson. Integre capacidades Schenker UAB incluindo reserva de envios, rastreamento, cotações de tarifas e geração de etiquetas nas suas aplicações.

Capacidades da API

  • Criar e gerir reservas de envios Schenker UAB
  • Rastreamento de envios e atualizações de status
  • Obter cotações de tarifas de frete e prazos de entrega
  • Gerar etiquetas de envio em múltiplos formatos (PDF, PNG, ZPL)
  • Criar etiquetas de devolução para logística reversa
  • Consultar localizações de máquinas de encomendas e pontos de recolha
  • Listar serviços de transportadora disponíveis
  • Solicitações automáticas de recolha por estafeta

URL Base e Autenticação

URL Base

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

Autenticação

Todos os pedidos devem incluir a sua chave API e o cabeçalho Accept correto:

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

API de Reservas Schenker UAB

API Direta da Transportadora

Crie envios Schenker UAB e obtenha etiquetas de envio usando o endpoint Queries. As reservas são enviadas para o sistema da transportadora em tempo real e as etiquetas são geradas imediatamente.

Query vs Reserva Direta

O endpoint Queries suporta dois métodos de reserva:

  • Modo Query - Crie um pedido de transporte sem especificar uma transportadora (ainda). Isto permite-lhe comparar manualmente preços e prazos de entrega das transportadoras, solicitar novas cotações spot, fazer ajustes/atualizações ao envio e delegar a seleção da transportadora a outros, antes de fazer a seleção final da transportadora na Cargoson.
  • Reserva direta - Especifique um ID de serviço da transportadora (da API Rate ou Services) para reservar diretamente com Schenker UAB. Isto garante que o seu envio usa o serviço exato que selecionou.

Para reservar diretamente com Schenker UAB, defina sempre o direct_booking_service_id.

POST /queries

Criar uma query de envio ou reserva direta para Schenker UAB. Inclua direct_booking_service_id para criar uma reserva imediata.

Request Parameters

collection_date string required

Data de recolha no formato AAAA-MM-DD

collection_country string required

Código do país de recolha (ISO 3166-1 alpha-2)

collection_postcode string required

Código postal de recolha

collection_address_row_1 string required

Endereço de recolha

collection_city string required

Cidade de recolha

collection_company_name string required

Nome da empresa remetente

collection_contact_name string required

Pessoa de contacto do remetente

collection_contact_phone string required

Número de telefone do remetente

delivery_country string required

Código do país de entrega

delivery_postcode string required

Código postal de entrega

delivery_address_row_1 string required

Endereço de entrega

delivery_city string required

Cidade de entrega

delivery_company_name string required

Nome da empresa destinatária

delivery_contact_name string required

Pessoa de contacto do destinatário

delivery_contact_phone string required

Número de telefone do destinatário

rows_attributes array required

Array de pacotes/paletes com quantidade, tipo de embalagem, peso e descrição

options[direct_booking_service_id] integer

ID de serviço Schenker UAB para reserva direta

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

Geração de Etiquetas

As etiquetas de envio Schenker UAB são geradas automaticamente quando cria uma reserva. As etiquetas estão disponíveis em múltiplos formatos para suportar diferentes tipos de impressoras.

Formatos de Etiquetas Suportados

a4 - Formato PDF A4 para impressoras de escritório (4 etiquetas por página)
label_printer - Formato PDF 4x6in (~10x15cm) para impressoras térmicas

As etiquetas estão incluídas na resposta da reserva através do campo label_url. Descarregue e imprima a etiqueta a partir do URL fornecido após a reserva.

API de Tarifas Schenker UAB (Preços de Frete)

Motor Cargoson
Melhoria Cargoson:

Schenker UAB não fornece uma API de tarifas nativa. O motor de tarifas de frete da Cargoson calcula preços usando os seus acordos de preços carregados, fornecendo-lhe a mesma experiência API que transportadoras com APIs de tarifas nativas. Pode carregar tarifas de transportadora em qualquer formato (Excel, PDF, até listas de preços manuscritas) e nós digitalizamo-las.

Obtenha tarifas de frete Schenker UAB em tempo real antes de reservar. A API Rate retorna serviços disponíveis, preços e prazos de entrega estimados.

POST /freightPrices/list

Obter cotações de tarifas de frete de Schenker UAB e outras transportadoras ativadas na sua conta.

Request Parameters

collection_date string required

Data de recolha no formato AAAA-MM-DD

collection_country string required

Código do país de recolha (ISO 3166-1 alpha-2)

collection_postcode string required

Código postal de recolha

delivery_country string required

Código do país de entrega

delivery_postcode string required

Código postal de entrega

rows_attributes array required

Array de pacotes/paletes com quantidade, tipo de embalagem, peso e descrição

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 de Rastreamento Schenker UAB

API Direta da Transportadora

Rastreie envios Schenker UAB usando o número de referência Cargoson. Obtenha status atual, atualizações de localização e prazo de entrega estimado.

GET /bookings/{reference}

Obter detalhes de rastreamento para um envio Schenker UAB usando a referência de reserva 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 de Etiquetas de Devolução Schenker UAB

Powered by Cargoson
Melhoria Cargoson:

Schenker UAB não suporta nativamente etiquetas de devolução. A Cargoson gera etiquetas de devolução e gere o processo de logística reversa através da nossa plataforma.

Gere etiquetas de envio de devolução para envios Schenker UAB. As etiquetas de devolução permitem que os clientes devolvam artigos usando envio pré-pago.

POST /bookings/{reference}/return_labels

Criar uma etiqueta de devolução para um envio Schenker UAB existente.

Request Parameters

label_format string

Formato de etiqueta: a4 ou label_printer (padrão: 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"
}

Funcionalidades de Etiquetas de Devolução

  • Etiquetas de envio de devolução pré-pagas
  • Mesmas opções de formato que etiquetas de saída (A4, térmica)
  • Referência de rastreamento separada para devoluções
  • Integração perfeita com serviços de devolução Schenker UAB

Solicitações de Estafeta Schenker UAB

Automação Cargoson

A Cargoson automatiza solicitações de recolha por estafeta para envios Schenker UAB, o que torna uma tarefa a menos com que se preocupar.

Como a Cargoson Gere Solicitações de Estafeta

Muitas transportadoras exigem que crie etiquetas separadamente e depois solicite manualmente a recolha por estafeta. Outras não têm um sistema separado de etiqueta mais chamada de estafeta, e cada envio é um envio completo e separado. Acreditamos que deveria haver um padrão único de APIs de transportadoras, mas atualmente, cada transportadora cria o seu próprio sistema único, o que torna difícil para os seus utilizadores lembrarem-se das peculiaridades e complexidades de cada uma. A Cargoson simplifica as suas chamadas de estafeta tratando cada envio holisticamente: as solicitações de estafeta são geridas automaticamente como parte do processo de reserva.

Otimização Inteligente de Recolha

A Cargoson otimiza chamadas de estafeta para reduzir custos e melhorar a eficiência.

  • 1. Consolidação em lote - Múltiplos envios da mesma localização são agrupados numa única solicitação de recolha
  • 2. Tratamento específico da transportadora - Algumas transportadoras incluem a recolha na reserva, outras requerem solicitações separadas. A Cargoson gere ambas as variantes automaticamente para si
  • 3. Horários de recolha regulares - Configure recolhas pré-agendadas em intervalos específicos (por exemplo, diariamente no meu armazém principal às 15h) e a Cargoson ignorará completamente chamadas de estafeta individuais

Benefícios

  • Não é necessário rastrear quais transportadoras requerem solicitações de estafeta separadas
  • A otimização automática previne chamadas de recolha desnecessárias
  • Suporte para horários de recolha regulares
  • Fluxo de trabalho de envio simplificado - apenas crie a reserva

Configuração

A automação de recolha por estafeta está ativada por padrão para todos os envios Schenker UAB. Para configurar horários de recolha regulares ou regras de otimização de recolha personalizadas, contacte [email protected].

API de Serviços Schenker UAB

Motor Cargoson
Melhoria Cargoson:

A API de Serviços é uma funcionalidade fornecida pela Cargoson que retorna uma lista unificada de todos os serviços disponíveis de Schenker UAB e outras transportadoras na sua rede. Isto permite-lhe exibir dinamicamente opções de envio aos seus clientes sem codificar IDs de serviço.

Obtenha uma lista de serviços de envio Schenker UAB disponíveis. Use IDs de serviço ao fazer reservas diretas para garantir que obtém o serviço exato que deseja.

GET /services/list

Retornar lista de serviços Schenker UAB disponíveis na conta da sua empresa.

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

Usando IDs de Serviço

Os IDs de serviço deste endpoint podem ser usados com o parâmetro direct_booking_service_id ao criar reservas para selecionar o serviço correto e enviar o envio para o sistema Schenker UAB.

Exemplos de Código Completos

Abaixo estão exemplos completos funcionais mostrando o fluxo de trabalho completo: obter tarifas, selecionar um serviço, reservar envio e extrair informações de rastreamento.

# 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

Por que usar a API Cargoson para integração Schenker UAB

Integrar diretamente com a API nativa de Schenker UAB significa lidar com documentação específica da transportadora, gerir formatos de dados únicos e manter código separado para cada fornecedor. A Cargoson oferece uma única API RESTful unificada que suporta Schenker UAB e mais de 2.000 transportadoras nos mercados europeu e norte-americano, com novas integrações adicionadas semanalmente. Reduzimos o tempo de desenvolvimento de meses para dias, gerimos atualizações de transportadoras automaticamente e tratamos exceções regionais. Com a Cargoson, foca-se em fazer crescer o seu negócio em vez de gerir complexidades técnicas de transportadoras.

Benefícios de integrar Schenker UAB via API Cargoson

Uma API para todas as transportadoras

Substitua dezenas de integrações de transportadoras separadas por uma conexão a Schenker UAB e mais de 2.000 outros fornecedores via API Cargoson. Não é mais necessário manter múltiplos sistemas de autenticação, gerir diferentes formatos de dados ou atualizar código quando as transportadoras alteram os seus endpoints.

Documentação clara e suporte

Aceda a documentação API direta com exemplos de código funcionais, descrições detalhadas de parâmetros e endpoints claramente definidos. A nossa equipa de suporte conhece a indústria logística e pode ajudá-lo a resolver desafios de integração rapidamente.

Exemplos de código em múltiplas linguagens

Comece imediatamente com exemplos de código prontos a usar em cURL, JavaScript, Python, PHP e Ruby. Copie, cole e adapte-os à sua stack, sem necessidade de descobrir autenticação, formatação de pedidos ou tratamento de erros do zero.

Suporte real de especialistas em logística

Obtenha ajuda de pessoas que entendem de envios, não apenas de APIs. Quer esteja a resolver um problema de integração ou precise de aconselhamento sobre a melhor forma de gerir envios internacionais, a nossa equipa está aqui para ajudar.

O motor de preços de frete mais avançado do mundo

A API de preços de frete da Cargoson vai muito além de simples consultas de tarifas. O nosso motor pode ler, analisar e digitalizar qualquer lista de preços de transportadora independentemente do formato ou estrutura, tornando-o a solução de gestão de tarifas de frete mais poderosa da indústria logística.

Suporte universal de formatos

O nosso motor de preços de frete gere qualquer formato: ficheiros Excel estruturados, PDFs complexos, texto livre ou até listas de preços manuscritas. Carregue os seus contratos de transportadora em qualquer formato, e o nosso motor de tarifas de frete analisará as regras de preços, sobretaxas e condições automaticamente.

Integração direta com API da transportadora

Para transportadoras com sistemas modernos (tipicamente transportadoras de encomendas globais e empresas de frete orientadas para a tecnologia), obtemos tarifas diretamente das suas APIs em tempo real. Isto garante que obtém sempre os preços mais atuais sem atualizações manuais.

Preços públicos online

Ainda não tem um contrato com uma transportadora? Sem problema. A Cargoson pode obter preços públicos online de transportadoras, permitindo-lhe comparar opções mesmo antes de estabelecer acordos formais.

Solicitações de tarifas spot

Para envios complexos ou casos especiais, solicite tarifas spot onde as transportadoras reveem os seus requisitos específicos e fornecem uma cotação personalizada. Tudo gerido através da mesma API unificada.

API de envio Schenker UAB: Automação logística simplificada

Automatize o seu processo de fulfillment integrando a API de Envio da Cargoson com Schenker UAB e mais de 2.000 transportadoras em todo o mundo. Crie etiquetas de envio, reserve recolhas e gira todas as suas transportadoras a partir de uma plataforma mantendo as suas tarifas negociadas com cada fornecedor.

Geração automática de etiquetas

Gere etiquetas de envio aprovadas pela transportadora num único pedido API. Suporte para múltiplos formatos de etiquetas (A4, impressora térmica) e documentação aduaneira automática para envios internacionais significa menos trabalho manual e menos erros de envio.

Comparação de tarifas em tempo real

Compare tarifas ao vivo entre Schenker UAB e as suas outras transportadoras ativadas para escolher a melhor opção com base no custo, velocidade e nível de serviço.

Mantenha as suas tarifas negociadas

Conecte a sua conta Schenker UAB existente para manter as suas tarifas de envio negociadas. A Cargoson simplesmente fornece a integração técnica: mantém as suas relações diretas com transportadoras e acordos de preços personalizados.

Segurança de nível empresarial para integração API Schenker UAB

A infraestrutura API da Cargoson cumpre os padrões de conformidade europeus, que garantem integração Schenker UAB segura e pronta para auditoria para o seu negócio:

  • Tratamento e armazenamento de dados em conformidade com GDPR em toda a Europa
  • Gestão de segurança da informação certificada ISO 27001
  • Encriptação end-to-end para todas as comunicações API

Pronto para integrar envios Schenker UAB na sua plataforma?

Agende uma demonstração para ver como a API unificada da Cargoson pode simplificar as suas operações logísticas

Agendar Demonstração

Perguntas Frequentes

A Cargoson é um TMS (Sistema de Gestão de Transportes) para fabricantes europeus e norte-americanos. A nossa visão central é a simplicidade: integrar todas e quaisquer transportadoras e modos de frete (rodoviário, encomendas, aéreo, marítimo, ferroviário) numa única janela e numa única API. Quer esteja a enviar paletes pela Europa ou contentores para o estrangeiro, gira tudo a partir de uma única plataforma.

Começar é simples. Primeiro, registe-se para uma conta Cargoson e obtenha a sua chave API. Depois conecte a sua conta Schenker UAB no painel Cargoson. Feito isso, pode começar a fazer pedidos API usando a nossa documentação e exemplos de código. Toda a configuração normalmente demora menos de uma hora.

Sim, precisará da sua própria conta Schenker UAB para usar os serviços Schenker UAB através da Cargoson. Isto garante que mantém as suas tarifas negociadas e mantém a sua relação direta com Schenker UAB. A Cargoson simplesmente fornece a camada de integração técnica que torna mais fácil trabalhar com Schenker UAB e outras transportadoras através de uma API unificada.

A Cargoson opera num modelo de subscrição mensal transparente sem taxas por envio ou comissões, nunca. O seu plano inclui acesso à API, documentação, suporte e atualizações automáticas quando as transportadoras alteram os seus sistemas. Paga diretamente a Schenker UAB pelo envio às suas tarifas negociadas. Sem custos ocultos, sem surpresas.

Absolutamente! Esse é o principal benefício de usar a Cargoson. Uma vez que integra a nossa API, pode trabalhar com Schenker UAB e mais de 2.000 outras transportadoras usando os mesmos endpoints, autenticação e formatos de dados. Adicione novas transportadoras sem escrever novo código de integração, apenas ative-as no seu painel Cargoson.

Sim! Integramos qualquer transportadora que precise sem custo extra. Isto está incluído na sua subscrição Cargoson. Apenas nos apresente aos seus contactos de transportadora, e trataremos da integração técnica. Novas integrações são adicionadas diariamente com base em solicitações de clientes.

Sim, podemos configurar webhooks para notificar o seu sistema com base em eventos e gatilhos na Cargoson, como atualizações de status de envio, confirmações de reserva ou alterações aos seus envios. Contacte a nossa equipa de suporte ou agende uma demonstração para discutir os seus requisitos e configuração de webhook.

A Cargoson pode ser excessiva se for uma pequena empresa que envia apenas algumas vezes por mês com uma única transportadora. Provavelmente consegue gerir esses envios bem sem um TMS. Também não somos a escolha certa se for uma transportadora ou transitário. A Cargoson é construída especificamente para proprietários de carga beneficiários (BCOs) como fabricantes e distribuidores que possuem as mercadorias a serem enviadas. Se procura um TMS para gerir o seu negócio de transitário ou operações de transportadora, não somos projetados para esse caso de uso.

A nossa API retorna mensagens de erro claras com códigos de erro específicos e descrições. Problemas comuns estão documentados com soluções nos nossos documentos de desenvolvedor. Se ficar preso, a nossa equipa de suporte pode ajudar a resolver problemas de integração.

Implementamos limites de taxa razoáveis para garantir a estabilidade do sistema para todos os clientes. Existem limites de taxa de longo período e limites de taxa de burst, com valores que devem ser mais do que suficientes para a maioria das empresas. Se precisar de limites mais altos para operações em escala empresarial, contacte-nos para discutir limites de taxa personalizados para a sua conta.

Comece a Usar a API Schenker UAB

Obtenha as suas credenciais API para começar a integração

Obtenha a Sua Chave API