Rand ja Rand API dokumentace

Integrováno REST API

Kompletní API reference pro Rand ja Rand integraci přepravy. Přístup k rezervacím, nákladním sazbám, generování štítků a sledování prostřednictvím jednotného API pro správu přepravy Cargoson.

Získejte svůj API klíč

Rand ja Rand API přehled

Toto API poskytuje programový přístup k Rand ja Rand přepravním službám prostřednictvím jednotné platformy Cargoson pro správu přepravy. Integrujte Rand ja Rand možnosti včetně rezervace zásilek, sledování, cenových nabídek a generování štítků do vašich aplikací.

Možnosti API

  • Vytvářejte a spravujte Rand ja Rand rezervace zásilek
  • Sledování zásilek a aktualizace stavu
  • Získejte cenové nabídky nákladní přepravy a dodací lhůty
  • Generujte přepravní štítky v různých formátech (PDF, PNG, ZPL)
  • Vytvářejte vratné štítky pro zpětnou logistiku
  • Dotazujte se na umístění zásilkomatů a výdejních míst
  • Seznam dostupných služeb dopravce
  • Automatizované požadavky na vyzvednutí kurýrem

Základní URL a autentizace

Základní URL

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

Autentizace

Všechny požadavky musí obsahovat váš API klíč a správnou Accept hlavičku:

Authorization: Bearer VÁŠ_API_KLÍČ
Accept: application/vnd.api.v1

Rand ja Rand API pro rezervace

Automatizace Cargoson
Vylepšení Cargoson:

Rand ja Rand neposkytuje API pro rezervace. Cargoson automaticky odesílá potvrzení rezervací e-mailem vaším jménem, zatímco stále používáte stejné jednotné API rozhraní.

Vytvářejte Rand ja Rand zásilky a získávejte přepravní štítky pomocí Queries endpointu. Rezervace jsou odesílány do systému dopravce v reálném čase a štítky jsou generovány okamžitě.

Dotaz vs přímá rezervace

Queries endpoint podporuje dva způsoby rezervace:

  • Režim dotazu - Vytvořte požadavek na přepravu bez specifikace dopravce (zatím). To vám umožňuje ručně porovnat ceny a dodací lhůty dopravců, požádat o nové spot ceny, provést úpravy/aktualizace zásilky a delegovat výběr dopravce na ostatní, než provedete konečný výběr dopravce v Cargoson.
  • Přímá rezervace - Specifikujte ID služby dopravce (z Rate nebo Services API) pro přímou rezervaci s Rand ja Rand. To zajistí, že vaše zásilka použije přesně vybranou službu.

Pro přímou rezervaci s Rand ja Rand vždy definujte direct_booking_service_id.

POST /queries

Vytvořte dotaz na zásilku nebo přímou rezervaci pro Rand ja Rand. Zahrňte direct_booking_service_id pro vytvoření okamžité rezervace.

Request Parameters

collection_date string required

Datum vyzvednutí ve formátu RRRR-MM-DD

collection_country string required

Kód země vyzvednutí (ISO 3166-1 alpha-2)

collection_postcode string required

PSČ vyzvednutí

collection_address_row_1 string required

Ulice vyzvednutí

collection_city string required

Město vyzvednutí

collection_company_name string required

Název společnosti odesílatele

collection_contact_name string required

Kontaktní osoba odesílatele

collection_contact_phone string required

Telefonní číslo odesílatele

delivery_country string required

Kód země doručení

delivery_postcode string required

PSČ doručení

delivery_address_row_1 string required

Ulice doručení

delivery_city string required

Město doručení

delivery_company_name string required

Název společnosti příjemce

delivery_contact_name string required

Kontaktní osoba příjemce

delivery_contact_phone string required

Telefonní číslo příjemce

rows_attributes array required

Pole balíků/palet s množstvím, typem balení, hmotností a popisem

options[direct_booking_service_id] integer

Rand ja Rand ID služby pro přímou rezervaci

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

Generování štítků

Rand ja Rand přepravní štítky jsou automaticky generovány při vytvoření rezervace. Štítky jsou dostupné v různých formátech pro podporu různých typů tiskáren.

Podporované formáty štítků

a4 - A4 PDF formát pro stolní tiskárny (4 štítky na stránku)
label_printer - 4x6in (~10x15cm) PDF formát pro termotiskárny

Štítky jsou zahrnuty v odpovědi na rezervaci prostřednictvím pole label_url. Stáhněte a vytiskněte štítek z poskytnuté URL po rezervaci.

Rand ja Rand API pro sazby (ceny přepravy)

Engine Cargoson
Vylepšení Cargoson:

Rand ja Rand neposkytuje nativní API pro sazby. Cenový engine Cargoson pro nákladní přepravu vypočítává ceny pomocí vašich nahraných cenových dohod, což vám poskytuje stejnou zkušenost s API jako dopravci s nativními API pro sazby. Můžete nahrát sazby dopravců v jakémkoli formátu (Excel, PDF, dokonce ručně psané ceníky) a my je digitalizujeme.

Získejte Rand ja Rand nákladní sazby v reálném čase před rezervací. Rate API vrací dostupné služby, ceny a odhadované dodací lhůty.

POST /freightPrices/list

Získejte cenové nabídky nákladní přepravy od Rand ja Rand a dalších aktivovaných dopravců na vašem účtu.

Request Parameters

collection_date string required

Datum vyzvednutí ve formátu RRRR-MM-DD

collection_country string required

Kód země vyzvednutí (ISO 3166-1 alpha-2)

collection_postcode string required

PSČ vyzvednutí

delivery_country string required

Kód země doručení

delivery_postcode string required

PSČ doručení

rows_attributes array required

Pole balíků/palet s množstvím, typem balení, hmotností a popisem

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": "Rand ja Rand OÜ",
        "reg_no": "10785048",
        "id": 144,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "Rand ja Rand OÜ",
        "reg_no": "10785048",
        "id": 144,
        "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"
      }
    ]
  }
}

Rand ja Rand API pro sledování

Automatizace Cargoson
Vylepšení Cargoson:

Rand ja Rand neposkytuje sledovací události prostřednictvím API. Cargoson poskytuje sledovací portál, kde dopravce může ručně aktualizovat stav zásilky, což vám a vašim zákazníkům poskytuje konzistentní sledovací zkušenost.

Sledujte Rand ja Rand zásilky pomocí referenčního čísla Cargoson. Získejte aktuální stav, aktualizace polohy a odhadovaný čas doručení.

GET /bookings/{reference}

Získejte podrobnosti o sledování Rand ja Rand zásilky pomocí referenčního čísla rezervace 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"
}

Rand ja Rand API pro vratné štítky

Poháněno Cargoson
Vylepšení Cargoson:

Rand ja Rand nativně nepodporuje vratné štítky. Cargoson generuje vratné štítky a spravuje proces zpětné logistiky prostřednictvím naší platformy.

Generujte vratné přepravní štítky pro Rand ja Rand zásilky. Vratné štítky umožňují zákazníkům vrátit zboží pomocí předplacené přepravy.

POST /bookings/{reference}/return_labels

Vytvořte vratný štítek pro existující Rand ja Rand zásilku.

Request Parameters

label_format string

Formát štítku: a4 nebo label_printer (výchozí: 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"
}

Funkce vratných štítků

  • Předplacené vratné přepravní štítky
  • Stejné možnosti formátu jako odchozí štítky (A4, termotiskárna)
  • Samostatná sledovací reference pro vrácení
  • Bezproblémová integrace s Rand ja Rand vrácenými službami

Rand ja Rand požadavky na kurýra

Automatizace Cargoson

Cargoson automatizuje požadavky na vyzvednutí kurýrem pro Rand ja Rand zásilky, což je o jeden úkol méně, o který se musíte starat.

Jak Cargoson zpracovává požadavky na kurýra

Mnoho přepravních dopravců vyžaduje, abyste vytvořili štítky samostatně a poté ručně požádali o vyzvednutí kurýrem. Jiní nemají samostatný systém štítků plus volání kurýra a každá zásilka je kompletní, samostatná zásilka. Věříme, že by měl existovat jediný standard API dopravců, ale v současnosti každý dopravce vytváří svůj vlastní jedinečný systém, což ztěžuje jejich uživatelům zapamatovat si zvláštnosti a složitosti každého z nich. Cargoson zjednodušuje vaše volání kurýra tím, že zachází s každou zásilkou holisticky: požadavky na kurýra jsou automaticky spravovány jako součást procesu rezervace.

Inteligentní optimalizace vyzvednutí

Cargoson optimalizuje volání kurýra ke snížení nákladů a zlepšení efektivity.

  • 1. Dávková konsolidace - Více zásilek ze stejného místa je seskupeno do jediného požadavku na vyzvednutí
  • 2. Zpracování specifické pro dopravce - Někteří dopravci zahrnují vyzvednutí do rezervace, jiní vyžadují samostatné požadavky. Cargoson automaticky zpracovává obě varianty za vás
  • 3. Pravidelné plány vyzvednutí - Nakonfigurujte předem naplánovaná vyzvednutí v konkrétních intervalech (např. denně do mého hlavního skladu ve 3 odpoledne) a Cargoson zcela přeskočí jednotlivá volání kurýra

Výhody

  • Není třeba sledovat, kteří dopravci vyžadují samostatné požadavky na kurýra
  • Automatická optimalizace zabraňuje zbytečným voláním vyzvednutí
  • Podpora pravidelných plánů vyzvednutí
  • Zjednodušený pracovní postup přepravy - stačí vytvořit rezervaci

Konfigurace

Automatizace vyzvednutí kurýrem je ve výchozím nastavení povolena pro všechny Rand ja Rand zásilky. Pro konfiguraci pravidelných plánů vyzvednutí nebo vlastních pravidel optimalizace vyzvednutí kontaktujte [email protected].

Rand ja Rand API pro služby

Engine Cargoson
Vylepšení Cargoson:

API pro služby je funkce poskytovaná Cargoson, která vrací jednotný seznam všech dostupných služeb od Rand ja Rand a dalších dopravců ve vaší síti. To vám umožňuje dynamicky zobrazovat možnosti přepravy vašim zákazníkům bez hardcodování ID služeb.

Získejte seznam dostupných Rand ja Rand přepravních služeb. Použijte ID služeb při provádění přímých rezervací, abyste zajistili, že získáte přesně požadovanou službu.

GET /services/list

Vrátit seznam Rand ja Rand služeb dostupných na vašem firemním účtu.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 144,
        "name": "Rand ja Rand OÜ",
        "short_name": "Rand ja Rand",
        "reg_no": "10785048"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 144,
        "name": "Rand ja Rand OÜ",
        "short_name": "Rand ja Rand",
        "reg_no": "10785048"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Použití ID služeb

ID služeb z tohoto endpointu lze použít s parametrem direct_booking_service_id při vytváření rezervací k výběru správné služby a odeslání zásilky do systému Rand ja Rand.

Kompletní příklady kódu

Níže jsou kompletní funkční příklady ukazující celý pracovní postup: získejte sazby, vyberte službu, rezervujte zásilku a extrahujte informace o sledování.

# Define the service ID you want to use
CARRIER_SERVICE_ID=85

# Step 1: Get freight prices for Rand ja Rand
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 bookToRandjaRand() {
  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
bookToRandjaRand();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToRandjaRand($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
bookToRandjaRand($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_rand_ja_rand
  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_rand_ja_rand

Proč používat Cargoson API pro Rand ja Rand integraci

Přímá integrace s nativním API Rand ja Rand znamená potýkání se s dokumentací specifickou pro dopravce, zpracování jedinečných datových formátů a udržování samostatného kódu pro každého poskytovatele. Cargoson nabízí jediné jednotné RESTful API, které podporuje Rand ja Rand a 2 000+ dopravců na evropských a severoamerických trzích, s novými integracemi přidávanými týdně. Zkracujeme dobu vývoje z měsíců na dny, automaticky zpracováváme aktualizace dopravců a spravujeme regionální výjimky. S Cargoson se zaměřujete na růst vašeho podnikání místo správy technických složitostí dopravců.

Výhody integrace Rand ja Rand prostřednictvím Cargoson API

Jedno API pro všechny dopravce

Nahraďte desítky samostatných integrací dopravců jedním připojením k Rand ja Rand a 2 000+ dalším poskytovatelům prostřednictvím Cargoson API. Už nemusíte udržovat více autentizačních systémů, zpracovávat různé datové formáty nebo aktualizovat kód, když dopravci změní své endpointy.

Jasná dokumentace a podpora

Přístup k přímočaré API dokumentaci s funkčními příklady kódu, podrobnými popisy parametrů a jasně definovanými endpointy. Náš tým podpory zná logistický průmysl a může vám pomoci rychle vyřešit problémy s integrací.

Příklady kódu ve více jazycích

Začněte okamžitě s připravenými příklady kódu v cURL, JavaScript, Python, PHP a Ruby. Zkopírujte, vložte a přizpůsobte je svému stacku, není třeba vymýšlet autentizaci, formátování požadavků nebo zpracování chyb od nuly.

Skutečná podpora od logistických expertů

Získejte pomoc od lidí, kteří rozumí přepravě, nejen API. Ať už řešíte problém s integrací nebo potřebujete radu ohledně nejlepšího způsobu zpracování mezinárodních zásilek, náš tým je tu, aby pomohl.

Nejpokročilejší cenový engine pro nákladní přepravu na světě

Cargoson API pro ceny nákladní přepravy jde daleko za jednoduché vyhledávání sazeb. Náš engine dokáže číst, analyzovat a digitalizovat jakýkoli ceník dopravce bez ohledu na formát nebo strukturu, což z něj činí nejsilnější řešení pro správu nákladních sazeb v logistickém průmyslu.

Univerzální podpora formátů

Náš cenový engine pro nákladní přepravu zpracovává jakýkoli formát: strukturované soubory Excel, složité PDF, volný text nebo dokonce ručně psané ceníky. Nahrajte své smlouvy s dopravci v jakémkoli formátu a náš engine pro nákladní sazby automaticky analyzuje cenová pravidla, příplatky a podmínky.

Přímá integrace API dopravce

U dopravců s moderními systémy (typicky globální balíkoví dopravci a technologicky pokročilé nákladní společnosti) stahujeme sazby přímo z jejich API v reálném čase. To zajišťuje, že vždy získáte nejaktuálnější ceny bez ručních aktualizací.

Veřejné online ceny

Ještě nemáte smlouvu s dopravcem? Žádný problém. Cargoson může stahovat veřejné online ceny od dopravců, což vám umožňuje porovnávat možnosti ještě před navázáním formálních dohod.

Požadavky na spot sazby

Pro složité zásilky nebo speciální případy požádejte o spot sazby, kde dopravci zkontrolují vaše konkrétní požadavky a poskytnou vlastní nabídku. Vše spravováno prostřednictvím stejného jednotného API.

Rand ja Rand API pro přepravu: Zjednodušená automatizace logistiky

Automatizujte svůj proces plnění integrací Cargoson API pro přepravu s Rand ja Rand a 2 000+ dopravci po celém světě. Vytvářejte přepravní štítky, rezervujte vyzvednutí a spravujte všechny své dopravce z jedné platformy při zachování vyjednaných sazeb s každým poskytovatelem.

Automatizované generování štítků

Generujte štítky schválené dopravcem v jediném API požadavku. Podpora více formátů štítků (A4, termotiskárna) a automatická celní dokumentace pro mezinárodní zásilky znamená méně ruční práce a méně chyb při přepravě.

Porovnání sazeb v reálném čase

Porovnejte živé sazby napříč Rand ja Rand a vašimi dalšími aktivovanými dopravci a vyberte nejlepší možnost na základě nákladů, rychlosti a úrovně služeb.

Zachovejte si vyjednané sazby

Připojte svůj stávající Rand ja Rand účet, abyste si zachovali vyjednané přepravní sazby. Cargoson jednoduše poskytuje technickou integraci: zachováváte si přímé vztahy s dopravci a vlastní cenové dohody.

Zabezpečení na podnikové úrovni pro Rand ja Rand API integraci

Infrastruktura API Cargoson splňuje evropské standardy compliance, které zajišťují bezpečnou, audit-ready Rand ja Rand integraci pro vaše podnikání:

  • Zpracování a ukládání dat v souladu s GDPR v celé Evropě
  • ISO 27001 certifikovaná správa informační bezpečnosti
  • End-to-end šifrování pro veškerou API komunikaci

Jste připraveni integrovat Rand ja Rand přepravu do své platformy?

Rezervujte si demo a zjistěte, jak může jednotné API Cargoson zjednodušit vaše logistické operace

Rezervovat demo

Často kladené otázky

Cargoson je TMS (systém pro správu přepravy) pro evropské a severoamerické výrobce. Naše hlavní vize je jednoduchost: integrovat jakékoli a všechny dopravce a nákladní režimy (silniční, balíková, letecká, námořní, železniční) do jednoho okna a jednoho API. Ať už přepravujete palety po Evropě nebo kontejnery přes oceán, spravujte vše z jediné platformy.

Začít je jednoduché. Nejprve si zaregistrujte účet Cargoson a získejte svůj API klíč. Poté připojte svůj Rand ja Rand účet v ovládacím panelu Cargoson. Jakmile je to hotovo, můžete začít provádět API požadavky pomocí naší dokumentace a příkladů kódu. Celé nastavení obvykle trvá méně než hodinu.

Ano, budete potřebovat svůj vlastní Rand ja Rand účet pro použití Rand ja Rand služeb prostřednictvím Cargoson. To zajišťuje, že si zachováte vyjednané sazby a udržíte přímý vztah s Rand ja Rand. Cargoson jednoduše poskytuje technickou integrační vrstvu, která usnadňuje práci s Rand ja Rand a dalšími dopravci prostřednictvím jednoho jednotného API.

Cargoson funguje na transparentním modelu měsíčního předplatného bez poplatků za zásilku nebo provizí, nikdy. Váš plán zahrnuje přístup k API, dokumentaci, podporu a automatické aktualizace, když dopravci změní své systémy. Rand ja Rand platíte přímo za přepravu podle vašich vyjednaných sazeb. Žádné skryté náklady, žádná překvapení.

Absolutně! To je hlavní výhoda použití Cargoson. Jakmile integrujete naše API, můžete pracovat s Rand ja Rand a 2 000+ dalšími dopravci pomocí stejných endpointů, autentizace a datových formátů. Přidávejte nové dopravce bez psaní nového integračního kódu, stačí je aktivovat ve vašem ovládacím panelu Cargoson.

Ano! Integrujeme jakéhokoli dopravce, kterého potřebujete, bez příplatku. To je zahrnuto ve vašem předplatném Cargoson. Stačí nás představit vašim kontaktům dopravců a my se postaráme o technickou integraci. Nové integrace jsou přidávány denně na základě požadavků zákazníků.

Ano, můžeme nastavit webhooky pro upozornění vašeho systému na základě událostí a spouštěčů v Cargoson, jako jsou aktualizace stavu zásilky, potvrzení rezervace nebo změny vašich zásilek. Kontaktujte náš tým podpory nebo si rezervujte demo pro projednání vašich požadavků na webhooky a nastavení.

Cargoson může být přehnané, pokud jste malá společnost přepravující jen několikrát měsíčně s jediným dopravcem. Tyto zásilky pravděpodobně zvládnete dobře bez TMS. Také nejsme správná volba, pokud jste dopravce nebo speditér. Cargoson je vytvořen speciálně pro vlastníky nákladu (BCO), jako jsou výrobci a distributoři, kteří vlastní přepravované zboží. Pokud hledáte TMS pro správu vašeho spedičního podnikání nebo operací dopravce, nejsme navrženi pro tento případ použití.

Naše API vrací jasné chybové zprávy se specifickými kódy chyb a popisy. Běžné problémy jsou zdokumentovány s řešeními v naší vývojářské dokumentaci. Pokud se zaseknete, náš tým podpory může pomoci s řešením problémů s integrací.

Implementujeme rozumné limity rychlosti pro zajištění stability systému pro všechny zákazníky. Existují jak dlouhodobé limity rychlosti, tak burst limity, s hodnotami, které by měly být více než dostatečné pro většinu podniků. Pokud potřebujete vyšší limity pro operace v podnikovém měřítku, kontaktujte nás pro projednání vlastních limitů rychlosti pro váš účet.

Začněte používat Rand ja Rand API

Získejte své API přihlašovací údaje pro zahájení integrace

Získejte svůj API klíč