Järvak API dokumentācija

Integrēts REST API

Pilnīga API dokumentācija Järvak piegāžu integrācijai. Piekļūstiet rezervācijām, kravas cenām, etiķešu ģenerēšanai un izsekošanai caur Cargoson vienoto transporta vadības API.

Saņemiet savu API atslēgu

Järvak API pārskats

Šis API nodrošina programmisku piekļuvi Järvak piegāžu pakalpojumiem caur Cargoson vienoto transporta vadības platformu. Integrējiet Järvak iespējas, ieskaitot sūtījumu rezervācijas, izsekošanu, cenu piedāvājumus un etiķešu ģenerēšanu savās lietotnēs.

API iespējas

  • Izveidojiet un pārvaldiet Järvak sūtījumu rezervācijas
  • Sūtījumu izsekošana un statusa atjauninājumi
  • Saņemiet kravas cenu piedāvājumus un piegādes laikus
  • Ģenerējiet piegādes etiķetes vairākos formātos (PDF, PNG, ZPL)
  • Izveidojiet atgriešanas etiķetes reversajai loģistikai
  • Vaicājiet pakomātu un saņemšanas punktu atrašanās vietas
  • Skatiet pieejamos pārvadātāja pakalpojumus
  • Automātisks kurjera izsaukums

Bāzes URL un autentifikācija

Bāzes URL

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

Autentifikācija

Visiem pieprasījumiem jāietver jūsu API atslēga un pareizais Accept galvenes lauks:

Authorization: Bearer JŪSU_API_ATSLĒGA
Accept: application/vnd.api.v1

Järvak rezervācijas API

Cargoson automatizācija
Cargoson uzlabojums:

Järvak nesniedz rezervācijas API. Cargoson automātiski nosūta rezervācijas apstiprinājumus pa e-pastu jūsu vārdā, kamēr jūs joprojām izmantojat to pašu vienoto API saskarni.

Izveidojiet Järvak sūtījumus un saņemiet piegādes etiķetes, izmantojot Queries galapunktu. Rezervācijas tiek nosūtītas uz pārvadātāja sistēmu reāllaikā un etiķetes tiek ģenerētas nekavējoties.

Pieprasījums vs tiešā rezervācija

Queries galapunkts atbalsta divus rezervācijas veidus:

  • Pieprasījuma režīms - Izveidojiet transporta pieprasījumu, nenorādot pārvadātāju (vēl). Tas ļauj jums manuāli salīdzināt pārvadātāju cenas un piegādes laikus, pieprasīt jaunas spot cenas, veikt izmaiņas/atjauninājumus sūtījumā un deleģēt pārvadātāja izvēli citiem, pirms veicat galīgo pārvadātāja izvēli Cargoson.
  • Tiešā rezervācija - Norādiet pārvadātāja pakalpojuma ID (no Rate vai Services API), lai rezervētu tieši ar Järvak. Tas nodrošina, ka jūsu sūtījums izmanto precīzi jūsu izvēlēto pakalpojumu.

Lai rezervētu tieši ar Järvak, vienmēr definējiet direct_booking_service_id.

POST /queries

Izveidojiet sūtījuma pieprasījumu vai tiešo rezervāciju Järvak. Iekļaujiet direct_booking_service_id, lai izveidotu tūlītēju rezervāciju.

Request Parameters

collection_date string required

Savākšanas datums formātā GGGG-MM-DD

collection_country string required

Savākšanas valsts kods (ISO 3166-1 alpha-2)

collection_postcode string required

Savākšanas pasta indekss

collection_address_row_1 string required

Savākšanas ielas adrese

collection_city string required

Savākšanas pilsēta

collection_company_name string required

Sūtītāja uzņēmuma nosaukums

collection_contact_name string required

Sūtītāja kontaktpersona

collection_contact_phone string required

Sūtītāja tālruņa numurs

delivery_country string required

Piegādes valsts kods

delivery_postcode string required

Piegādes pasta indekss

delivery_address_row_1 string required

Piegādes ielas adrese

delivery_city string required

Piegādes pilsēta

delivery_company_name string required

Saņēmēja uzņēmuma nosaukums

delivery_contact_name string required

Saņēmēja kontaktpersona

delivery_contact_phone string required

Saņēmēja tālruņa numurs

rows_attributes array required

Iepakojumu/palešu masīvs ar daudzumu, iepakojuma tipu, svaru un aprakstu

options[direct_booking_service_id] integer

Järvak pakalpojuma ID tiešajai rezervācijai

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

Etiķešu ģenerēšana

Järvak piegādes etiķetes tiek automātiski ģenerētas, kad izveidojat rezervāciju. Etiķetes ir pieejamas vairākos formātos, lai atbalstītu dažādus printera tipus.

Atbalstītie etiķešu formāti

a4 - A4 PDF formāts galda printeriem (4 etiķetes lapā)
label_printer - 4x6in (~10x15cm) PDF formāts termālajiem printeriem

Etiķetes ir iekļautas rezervācijas atbildē caur label_url lauku. Lejupielādējiet un izdrukājiet etiķeti no norādītā URL pēc rezervācijas.

Järvak cenu API (kravas cenu noteikšana)

Cargoson dzinējs
Cargoson uzlabojums:

Järvak nesniedz vietējo cenu API. Cargoson kravas cenu dzinējs aprēķina cenas, izmantojot jūsu augšupielādētos cenu līgumus, nodrošinot jums to pašu API pieredzi kā pārvadātājiem ar vietējiem cenu API. Jūs varat augšupielādēt pārvadātāju likmes jebkurā formātā (Excel, PDF, pat rokrakstā rakstītus cenrāžus) un mēs tos digitalizēsim.

Saņemiet reāllaika Järvak kravas cenas pirms rezervācijas. Rate API atgriež pieejamos pakalpojumus, cenas un paredzamos piegādes laikus.

POST /freightPrices/list

Saņemiet kravas cenu piedāvājumus no Järvak un citiem aktivizētajiem pārvadātājiem jūsu kontā.

Request Parameters

collection_date string required

Savākšanas datums formātā GGGG-MM-DD

collection_country string required

Savākšanas valsts kods (ISO 3166-1 alpha-2)

collection_postcode string required

Savākšanas pasta indekss

delivery_country string required

Piegādes valsts kods

delivery_postcode string required

Piegādes pasta indekss

rows_attributes array required

Iepakojumu/palešu masīvs ar daudzumu, iepakojuma tipu, svaru un aprakstu

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": "Järvak AS",
        "reg_no": "10451318",
        "id": 336,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "Järvak AS",
        "reg_no": "10451318",
        "id": 336,
        "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"
      }
    ]
  }
}

Järvak izsekošanas API

Cargoson automatizācija
Cargoson uzlabojums:

Järvak nesniedz izsekošanas notikumus caur API. Cargoson nodrošina izsekošanas portālu, kur pārvadātājs var manuāli atjaunināt sūtījuma statusu, dodot jums un jūsu klientiem konsekventu izsekošanas pieredzi.

Izsekojiet Järvak sūtījumus, izmantojot Cargoson atsauces numuru. Saņemiet pašreizējo statusu, atrašanās vietas atjauninājumus un paredzamo piegādes laiku.

GET /bookings/{reference}

Saņemiet izsekošanas informāciju Järvak sūtījumam, izmantojot Cargoson rezervācijas atsauci.

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

Järvak atgriešanas etiķešu API

Darbina Cargoson
Cargoson uzlabojums:

Järvak neatbalsta atgriešanas etiķetes. Cargoson ģenerē atgriešanas etiķetes un pārvalda atgriešanas loģistikas procesu caur mūsu platformu.

Ģenerējiet atgriešanas piegādes etiķetes Järvak sūtījumiem. Atgriešanas etiķetes ļauj klientiem nosūtīt preces atpakaļ, izmantojot priekšapmaksas piegādi.

POST /bookings/{reference}/return_labels

Izveidojiet atgriešanas etiķeti esošam Järvak sūtījumam.

Request Parameters

label_format string

Etiķetes formāts: a4 vai label_printer (noklusējums: 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"
}

Atgriešanas etiķetes funkcijas

  • Priekšapmaksas atgriešanas piegādes etiķetes
  • Tādas pašas formāta opcijas kā izejošajām etiķetēm (A4, termālais)
  • Atsevišķa izsekošanas atsauce atgriešanām
  • Netraucēta integrācija ar Järvak atgriešanas pakalpojumiem

Järvak kurjera izsaukumi

Cargoson automatizācija

Cargoson automatizē kurjera izsaukumus Järvak sūtījumiem, kas padara to par vienu mazāku uzdevumu, par ko jums jādomā.

Kā Cargoson apstrādā kurjera izsaukumus

Daudzi piegādes pārvadātāji pieprasa, lai jūs izveidotu etiķetes atsevišķi un pēc tam manuāli pieprasītu kurjera savākšanu. Citiem nav atsevišķas etiķetes plus kurjera izsaukuma sistēmas, un katrs sūtījums ir pilnīgs, atsevišķs sūtījums. Mēs uzskatām, ka pārvadātāju API vajadzētu būt vienotam standartam, bet pašlaik katrs pārvadātājs izveido savu unikālo sistēmu, kas apgrūtina viņu lietotājiem atcerēties katra īpatnības un sarežģītības. Cargoson vienkāršo jūsu kurjera izsaukumus, apstrādājot katru sūtījumu holistiski: kurjera izsaukumi tiek automātiski pārvaldīti kā daļa no rezervācijas procesa.

Viedā savākšanas optimizācija

Cargoson optimizē kurjera izsaukumus, lai samazinātu izmaksas un uzlabotu efektivitāti.

  • 1. Partijas konsolidācija - Vairāki sūtījumi no vienas atrašanās vietas tiek grupēti vienā savākšanas pieprasījumā
  • 2. Pārvadātājam specifiska apstrāde - Daži pārvadātāji iekļauj savākšanu rezervācijā, citiem nepieciešami atsevišķi pieprasījumi. Cargoson automātiski apstrādā abas variācijas jūsu vietā
  • 3. Regulāri savākšanas grafiki - Konfigurējiet iepriekš ieplānotas savākšanas noteiktos intervālos (piemēram, katru dienu uz manu galveno noliktavu plkst. 15:00) un Cargoson pilnībā izlaidīs atsevišķus kurjera izsaukumus

Priekšrocības

  • Nav nepieciešams izsekot, kuriem pārvadātājiem nepieciešami atsevišķi kurjera izsaukumi
  • Automātiskā optimizācija novērš nevajadzīgus savākšanas izsaukumus
  • Atbalsts regulāriem savākšanas grafikiem
  • Vienkāršota piegādes darbplūsma - vienkārši izveidojiet rezervāciju

Konfigurācija

Kurjera savākšanas automatizācija ir iespējota pēc noklusējuma visiem Järvak sūtījumiem. Lai konfigurētu regulārus savākšanas grafikus vai pielāgotus savākšanas optimizācijas noteikumus, sazinieties ar [email protected].

Järvak pakalpojumu API

Cargoson dzinējs
Cargoson uzlabojums:

Pakalpojumu API ir Cargoson nodrošināta funkcija, kas atgriež vienotu sarakstu ar visiem pieejamajiem pakalpojumiem no Järvak un citiem pārvadātājiem jūsu tīklā. Tas ļauj jums dinamiski parādīt piegādes opcijas saviem klientiem, nekodējot pakalpojumu ID.

Saņemiet pieejamo Järvak piegādes pakalpojumu sarakstu. Izmantojiet pakalpojumu ID, veicot tiešās rezervācijas, lai nodrošinātu, ka saņemat precīzi vēlamo pakalpojumu.

GET /services/list

Atgrieziet jūsu uzņēmuma kontā pieejamo Järvak pakalpojumu sarakstu.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 336,
        "name": "Järvak AS",
        "short_name": "Järvak",
        "reg_no": "10451318"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 336,
        "name": "Järvak AS",
        "short_name": "Järvak",
        "reg_no": "10451318"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Pakalpojumu ID izmantošana

Pakalpojumu ID no šī galapunkta var izmantot ar direct_booking_service_id parametru, izveidojot rezervācijas, lai izvēlētos pareizo pakalpojumu un nosūtītu sūtījumu uz Järvak sistēmu.

Pilnīgi koda piemēri

Zemāk ir pilnīgi darbojoši piemēri, kas parāda pilnu darbplūsmu: saņemiet cenas, izvēlieties pakalpojumu, rezervējiet piegādi un iegūstiet izsekošanas informāciju.

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

# Step 1: Get freight prices for Järvak
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 bookToJärvak() {
  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
bookToJärvak();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToJrvak($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
bookToJrvak($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_j_rvak
  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_j_rvak

Kāpēc izmantot Cargoson API Järvak integrācijai

Integrēšanās tieši ar Järvak vietējo API nozīmē cīņu ar pārvadātājam specifisko dokumentāciju, dažādu datu formātu apstrādi un atsevišķa koda uzturēšanu katram nodrošinātājam. Cargoson piedāvā vienu vienotu RESTful API, kas atbalsta Järvak un 2000+ pārvadātājus Eiropas un Ziemeļamerikas tirgos, ar jaunām integrācijām, kas tiek pievienotas katru nedēļu. Mēs samazinām izstrādes laiku no mēnešiem līdz dienām, automātiski apstrādājam pārvadātāju atjauninājumus un pārvaldām reģionālās izņēmuma situācijas. Ar Cargoson jūs koncentrējaties uz sava biznesa attīstību, nevis pārvadātāju tehnisko sarežģītību pārvaldību.

Järvak integrācijas priekšrocības caur Cargoson API

Viens API visiem pārvadātājiem

Aizstājiet desmitiem atsevišķu pārvadātāju integrāciju ar vienu savienojumu ar Järvak un 2000+ citiem nodrošinātājiem caur Cargoson API. Vairs nav jāuztur vairākas autentifikācijas sistēmas, jāapstrādā dažādi datu formāti vai jāatjaunina kods, kad pārvadātāji maina savus galapunktus.

Skaidra dokumentācija un atbalsts

Piekļūstiet vienkāršai API dokumentācijai ar darbojoša koda piemēriem, detalizētiem parametru aprakstiem un skaidri definētiem galapunktiem. Mūsu atbalsta komanda pārzina loģistikas nozari un var palīdzēt jums ātri atrisināt integrācijas problēmas.

Koda piemēri vairākās valodās

Sāciet nekavējoties ar gataviem koda piemēriem cURL, JavaScript, Python, PHP un Ruby. Kopējiet, ielīmējiet un pielāgojiet tos savam stekam, nav nepieciešams izdomāt autentifikāciju, pieprasījuma formatēšanu vai kļūdu apstrādi no nulles.

Reāls atbalsts no loģistikas ekspertiem

Saņemiet palīdzību no cilvēkiem, kas saprot piegādi, ne tikai API. Neatkarīgi no tā, vai novēršat integrācijas problēmu vai jums nepieciešami padomi par labāko veidu, kā apstrādāt starptautiskos sūtījumus, mūsu komanda ir šeit, lai palīdzētu.

Pasaules vismodernākā kravas cenu noteikšanas dzinējs

Cargoson kravas cenu API iet tālu pāri vienkāršai cenu meklēšanai. Mūsu dzinējs var lasīt, analizēt un digitalizēt jebkuru pārvadātāja cenrādi neatkarīgi no formāta vai struktūras, padarot to par visspēcīgāko kravas cenu pārvaldības risinājumu loģistikas nozarē.

Universāls formāta atbalsts

Mūsu kravas cenu dzinējs apstrādā jebkuru formātu: strukturētus Excel failus, sarežģītus PDF, brīvu tekstu vai pat rokrakstā rakstītus cenrāžus. Augšupielādējiet savus pārvadātāju līgumus jebkurā formātā, un mūsu kravas cenu dzinējs automātiski parsēs cenu noteikšanas noteikumus, papildmaksas un nosacījumus.

Tiešā pārvadātāja API integrācija

Pārvadātājiem ar modernām sistēmām (parasti globālie sīkpaku pārvadātāji un tehnoloģiju orientēti kravas uzņēmumi) mēs iegūstam cenas tieši no viņu API reāllaikā. Tas nodrošina, ka jūs vienmēr saņemat aktuālākās cenas bez manuāliem atjauninājumiem.

Publiskās tiešsaistes cenas

Vēl nav līguma ar pārvadātāju? Nav problēmu. Cargoson var iegūt publiskās tiešsaistes cenas no pārvadātājiem, ļaujot jums salīdzināt opcijas pat pirms formālu vienošanos izveidošanas.

Spot cenu pieprasījumi

Sarežģītiem sūtījumiem vai īpašiem gadījumiem pieprasiet spot cenas, kur pārvadātāji pārskata jūsu specifiskās prasības un sniedz pielāgotu piedāvājumu. Viss tiek pārvaldīts caur to pašu vienoto API.

Järvak piegāžu API: Vienkāršota loģistikas automatizācija

Automatizējiet savu izpildes procesu, integrējot Cargoson piegāžu API ar Järvak un 2000+ pārvadātājiem visā pasaulē. Izveidojiet piegādes etiķetes, rezervējiet savākšanas un pārvaldiet visus savus pārvadātājus no vienas platformas, vienlaikus saglabājot savas saskaņotās likmes ar katru nodrošinātāju.

Automatizēta etiķešu ģenerēšana

Ģenerējiet pārvadātāja apstiprinātās piegādes etiķetes vienā API pieprasījumā. Atbalsts vairākiem etiķešu formātiem (A4, termālais printeris) un automātiska muitas dokumentācija starptautiskiem sūtījumiem nozīmē mazāk manuāla darba un mazāk piegādes kļūdu.

Reāllaika cenu salīdzināšana

Salīdziniet reāllaika likmes starp Järvak un jūsu citiem aktivizētajiem pārvadātājiem, lai izvēlētos labāko opciju, pamatojoties uz izmaksām, ātrumu un pakalpojuma līmeni.

Saglabājiet savas saskaņotās likmes

Savienojiet savu esošo Järvak kontu, lai saglabātu savas saskaņotās piegādes likmes. Cargoson vienkārši nodrošina tehnisko integrāciju: jūs saglabājat savas tiešās pārvadātāju attiecības un pielāgotās cenu vienošanās.

Uzņēmuma līmeņa drošība Järvak API integrācijai

Cargoson API infrastruktūra atbilst Eiropas atbilstības standartiem, kas nodrošina drošu, auditam gatavu Järvak integrāciju jūsu biznesam:

  • GDPR atbilstoša datu apstrāde un uzglabāšana visā Eiropā
  • ISO 27001 sertificēta informācijas drošības pārvaldība
  • No gala līdz galam šifrēšana visām API komunikācijām

Gatavs integrēt Järvak piegādi savā platformā?

Rezervējiet demonstrāciju, lai redzētu, kā Cargoson vienotais API var vienkāršot jūsu loģistikas operācijas

Rezervēt demonstrāciju

Bieži uzdotie jautājumi

Cargoson ir transporta vadības sistēma (TMS) Eiropas un Ziemeļamerikas ražotājiem. Mūsu galvenā vīzija ir vienkāršība: integrējiet jebkurus un visus pārvadātājus un kravas veidus (autoceļš, sīkpaka, gaiss, jūra, dzelzceļš) vienā logā un vienā API. Neatkarīgi no tā, vai sūtāt paletes pa Eiropu vai konteinerus pāri okeānam, pārvaldiet visu no vienas platformas.

Sākšana ir vienkārša. Vispirms reģistrējieties Cargoson kontam un saņemiet savu API atslēgu. Pēc tam savienojiet savu Järvak kontu Cargoson informācijas panelī. Kad tas ir izdarīts, varat sākt veikt API pieprasījumus, izmantojot mūsu dokumentāciju un koda piemērus. Visa iestatīšana parasti aizņem mazāk nekā stundu.

Jā, jums būs nepieciešams savs Järvak konts, lai izmantotu Järvak pakalpojumus caur Cargoson. Tas nodrošina, ka jūs saglabājat savas saskaņotās likmes un uzturēt savas tiešās attiecības ar Järvak. Cargoson vienkārši nodrošina tehnisko integrācijas slāni, kas atvieglo darbu ar Järvak un citiem pārvadātājiem caur vienu vienotu API.

Cargoson darbojas ar pārredzamu mēneša abonēšanas modeli bez maksas par sūtījumu vai komisijas maksām, nekad. Jūsu plānā ir iekļauta API piekļuve, dokumentācija, atbalsts un automātiski atjauninājumi, kad pārvadātāji maina savas sistēmas. Jūs maksājat Järvak tieši par piegādi par savām saskaņotajām likmēm. Nav slēptu izmaksu, nav pārsteigumu.

Absolūti! Tā ir galvenā Cargoson izmantošanas priekšrocība. Kad esat integrējis mūsu API, varat strādāt ar Järvak un 2000+ citiem pārvadātājiem, izmantojot tos pašus galapunktus, autentifikāciju un datu formātus. Pievienojiet jaunus pārvadātājus, nerakstot jaunu integrācijas kodu, vienkārši aktivizējiet tos savā Cargoson informācijas panelī.

Jā! Mēs integrējam jebkuru pārvadātāju, kas jums nepieciešams, bez papildu maksas. Tas ir iekļauts jūsu Cargoson abonementā. Vienkārši iepazīstiniet mūs ar savu pārvadātāju kontaktiem, un mēs apstrādāsim tehnisko integrāciju. Jaunas integrācijas tiek pievienotas katru dienu, pamatojoties uz klientu pieprasījumiem.

Jā, mēs varam iestatīt webhook'us, lai paziņotu jūsu sistēmai, pamatojoties uz notikumiem un triggeriem Cargoson, piemēram, sūtījuma statusa atjauninājumiem, rezervācijas apstiprinājumiem vai izmaiņām jūsu sūtījumos. Sazinieties ar mūsu atbalsta komandu vai rezervējiet demonstrāciju, lai apspriestu savus webhook prasības un iestatīšanu.

Cargoson varētu būt pārāk daudz, ja esat mazs uzņēmums, kas sūta tikai dažas reizes mēnesī ar vienu pārvadātāju. Jūs, iespējams, varat pārvaldīt šos sūtījumus labi bez TMS. Mēs arī neesam pareizā izvēle, ja esat pārvadātājs vai kravas ekspeditors. Cargoson ir izveidots īpaši labvēlīgiem kravu īpašniekiem (BCO) kā ražotājiem un izplatītājiem, kas pieder sūtāmajām precēm. Ja meklējat TMS, lai pārvaldītu savu ekspedīcijas biznesu vai pārvadātāja operācijas, mēs neesam paredzēti šim lietošanas gadījumam.

Mūsu API atgriež skaidrus kļūdu ziņojumus ar konkrētiem kļūdu kodiem un aprakstiem. Izplatītas problēmas ir dokumentētas ar risinājumiem mūsu izstrādātāju dokumentācijā. Ja jūs iestrēgstat, mūsu atbalsta komanda var palīdzēt novērst integrācijas problēmas.

Mēs ieviešam saprātīgus ierobežojumus, lai nodrošinātu sistēmas stabilitāti visiem klientiem. Ir gan ilgtermiņa ierobežojumi, gan burst ierobežojumi ar vērtībām, kas vajadzētu būt vairāk nekā pietiekami lielākajai daļai uzņēmumu. Ja jums nepieciešami augstāki ierobežojumi uzņēmuma mēroga operācijām, sazinieties ar mums, lai apspriestu pielāgotus ierobežojumus jūsu kontam.

Sāciet izmantot Järvak API

Saņemiet savus API akreditācijas datus, lai sāktu integrāciju

Saņemiet savu API atslēgu