Documentação da API DPD Eesti

Integrado REST API

Referência completa da API para integração de envios DPD Eesti. 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 DPD Eesti

Esta API fornece acesso programático aos serviços de envio DPD Eesti através da plataforma unificada de gestão de transportes da Cargoson. Integre capacidades DPD Eesti 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 DPD Eesti
  • 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 DPD Eesti

API Direta da Transportadora

Crie envios DPD Eesti 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 DPD Eesti. Isto garante que o seu envio usa o serviço exato que selecionou.

Para reservar diretamente com DPD Eesti, defina sempre o direct_booking_service_id.

POST /queries

Criar uma query de envio ou reserva direta para DPD Eesti. 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 DPD Eesti 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 DPD Eesti 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 DPD Eesti (Preços de Frete)

Motor Cargoson
Melhoria Cargoson:

DPD Eesti 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 DPD Eesti 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 DPD Eesti 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": "DPD Eesti AS",
        "reg_no": "10092256",
        "id": 102,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "DPD Eesti AS",
        "reg_no": "10092256",
        "id": 102,
        "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 DPD Eesti

API Direta da Transportadora

Rastreie envios DPD Eesti 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 DPD Eesti 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 DPD Eesti

API Direta da Transportadora

Gere etiquetas de envio de devolução para envios DPD Eesti. 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 DPD Eesti 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 DPD Eesti

Solicitações de Estafeta DPD Eesti

API Direta da Transportadora

A Cargoson automatiza solicitações de recolha por estafeta para envios DPD Eesti, 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 DPD Eesti. Para configurar horários de recolha regulares ou regras de otimização de recolha personalizadas, contacte [email protected].

API de Máquinas de Encomendas DPD Eesti

API Direta da Transportadora

Consulte localizações disponíveis de máquinas de encomendas e pontos de recolha DPD Eesti. Use este endpoint para mostrar aos clientes uma lista de máquinas de encomendas próximas durante o checkout.

GET /parcelMachines

Pesquisar máquinas de encomendas e pontos de recolha DPD Eesti por localização ou código postal.

Request Parameters

country string required

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

postcode string

Filtrar por código postal

carrier_id integer

Filtrar por transportadora específica

reference string

Encontrar máquina de encomendas específica por referência

Example Response

{
  "parcel_machines": [
    {
      "id": 123,
      "reference": "PM12345",
      "name": "Parcel Locker - Hauptstraße",
      "carrier_id": 102,
      "carrier_name": "DPD Eesti AS",
      "address_row_1": "Hauptstraße 123",
      "city": "Berlin",
      "postcode": "10115",
      "country": "DE",
      "latitude": 52.52,
      "longitude": 13.405
    }
  ]
}

API de Serviços DPD Eesti

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 DPD Eesti 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 DPD Eesti 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 DPD Eesti disponíveis na conta da sua empresa.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 102,
        "name": "DPD Eesti AS",
        "short_name": "DPD Eesti",
        "reg_no": "10092256"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 102,
        "name": "DPD Eesti AS",
        "short_name": "DPD Eesti",
        "reg_no": "10092256"
      },
      "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 DPD Eesti.

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 DPD Eesti
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 bookToDPDEesti() {
  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
bookToDPDEesti();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToDPDEesti($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
bookToDPDEesti($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_dpd_eesti
  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_dpd_eesti

Por que usar a API Cargoson para integração DPD Eesti

Integrar diretamente com a API nativa de DPD Eesti 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 DPD Eesti 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 DPD Eesti via API Cargoson

Uma API para todas as transportadoras

Substitua dezenas de integrações de transportadoras separadas por uma conexão a DPD Eesti 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 DPD Eesti: Automação logística simplificada

Automatize o seu processo de fulfillment integrando a API de Envio da Cargoson com DPD Eesti 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 DPD Eesti 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 DPD Eesti 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 DPD Eesti

A infraestrutura API da Cargoson cumpre os padrões de conformidade europeus, que garantem integração DPD Eesti 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 DPD Eesti 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 DPD Eesti 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 DPD Eesti para usar os serviços DPD Eesti através da Cargoson. Isto garante que mantém as suas tarifas negociadas e mantém a sua relação direta com DPD Eesti. A Cargoson simplesmente fornece a camada de integração técnica que torna mais fácil trabalhar com DPD Eesti 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 DPD Eesti 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 DPD Eesti 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 DPD Eesti

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

Obtenha a Sua Chave API