IVI TRANS SIA API dokumentatsioon

Integreeritud REST API

Täielik API dokumentatsioon IVI TRANS SIA veoteenuse integreerimiseks. Veotellimused, veohinnad, pakisildid ja jälgimise läbi Cargosoni vedajateülese API.

Küsi oma API võti

IVI TRANS SIA API ülevaade

See API pakub programmilise juurdepääsu IVI TRANS SIA veoteenustele läbi Cargosoni ühtse veohalduse platvormi. Integreeri IVI TRANS SIA võimalused, sealhulgas veotellimused, jälgimine, hinnapakkumised ja pakisildid oma rakendustesse.

API võimalused

  • Loo ja halda IVI TRANS SIA veotellimusi
  • Saadetiste jälgimine ja staatuse uuendused
  • Küsi transpordi hinnapakkumisi ja tarneaegu
  • Genereeri pakisildid mitmes formaadis (PDF, PNG, ZPL)
  • Loo tagastussildid pöördlogistika jaoks
  • Küsi pakiautomaatide ja väljastuspunktide asukohti
  • Vaata saadaolevaid vedaja teenuseid
  • Automatiseeritud kullerikutsed

Baas-URL ja autentimine

Baas-URL

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

Autentimine

Kõik päringud peavad sisaldama sinu API võtit ja õiget Accept päist:

Authorization: Bearer SINU_API_VÕTI
Accept: application/vnd.api.v1

IVI TRANS SIA veotellimuste API

Cargosoni automatiseering
Cargosoni täiustus:

IVI TRANS SIA ei paku veotellimuste API-d. Cargoson saadab automaatselt tellimuse kinnitused e-posti teel sinu nimel, samal ajal kui kasutad endiselt sama ühtset API liidest.

Loo IVI TRANS SIA veotellimused ja saa pakisildid kasutades Queries endpointi. Tellimused edastatakse vedaja süsteemi reaalajas ja pakisildid genereeritakse koheselt.

Saadetis vs otsetellimus

Queries otspunkt toetab kahte tellimisviisi:

  • Saadetise režiim - Loo saadetis ilma (veel) vedajat määramata. Sedasi saad hiljem Cargosoni sisse logida ja võrrelda oma erinevate vedajate hindu ja tarneaegu, küsida spot-hinnapakkumisi, teha saadetises muudatusi/uuendusi, või delegeerida vedaja valik kolleegile, enne lõplikku vedaja valiku tegemist.
  • Otsetellimus - Määra vedaja teenuse ID (Rate või Services API-st), et tellida otse IVI TRANS SIA kaudu. See tagab, et saadetis kasutab täpselt valitud teenust.

Et teha tellimus otse IVI TRANS SIA süsteemi, saada alati kaasa direct_booking_service_id-ga.

POST /queries

Loo saadetise päring või otsene tellimus IVI TRANS SIA jaoks. Lisa direct_booking_service_id kohese tellimuse loomiseks.

Request Parameters

collection_date string required

Pealekorje kuupäev formaadis AAAA-KK-PP

collection_country string required

Pealekorje riigi kood (ISO 3166-1 alpha-2)

collection_postcode string required

Pealekorje postiindeks

collection_address_row_1 string required

Pealekorje tänavaaadress

collection_city string required

Pealekorje linn

collection_company_name string required

Saatja ettevõtte nimi

collection_contact_name string required

Saatja kontaktisik

collection_contact_phone string required

Saatja telefoninumber

delivery_country string required

Mahalaadimise riigi kood

delivery_postcode string required

Mahalaadimise postiindeks

delivery_address_row_1 string required

Mahalaadimise tänavaaadress

delivery_city string required

Mahalaadimise linn

delivery_company_name string required

Saaja ettevõtte nimi

delivery_contact_name string required

Saaja kontaktisik

delivery_contact_phone string required

Saaja telefoninumber

rows_attributes array required

Pakendite/kaubaaluste massiiv koos koguse, pakendi tüübi, kaalu ja kirjeldusega

options[direct_booking_service_id] integer

IVI TRANS SIA teenuse ID otsese tellimuse jaoks

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

Pakisildid

IVI TRANS SIA pakisildid genereeritakse automaatselt veotellimuse loomisel. Etiketid on saadaval mitmes formaadis erinevate printeritüüpide jaoks.

Toetatud formaadid

a4 - A4 PDF formaat kontoriprinteritele (4 silti lehel)
label_printer - 4x6in (~10x15cm) PDF formaat termoprinterile

Sildid on automaatselt kaasas veotellimuse vastuses label_url väljal. Laadi alla ja prindi silt antud URLi kaudu pärast tellimust.

IVI TRANS SIA veohindade API

Cargosoni mootor
Cargosoni täiustus:

IVI TRANS SIA ei paku hindade API-d. Cargosoni veohindade mootor arvutab hinnad kasutades sinu üleslaaditud hinnalepinguid, pakkudes sulle sama API kogemust nagu vedajatel, kellel on hindade API. Saad üles laadida vedajate hinnad mis tahes formaadis (Excel, PDF, isegi käsitsi kirjutatud hinnakirjad) ja me digiteerime need.

Küsi reaalajas IVI TRANS SIA veohindu enne tellimust. Rate API tagastab saadaolevad teenused, hinnad ja hinnangulised tarneajad.

POST /freightPrices/list

Küsi veohindade hinnapakkumisi IVI TRANS SIA-lt ja teistelt sinu kontol aktiveeritud vedajatelt.

Request Parameters

collection_date string required

Pealekorje kuupäev formaadis AAAA-KK-PP

collection_country string required

Pealekorje riigi kood (ISO 3166-1 alpha-2)

collection_postcode string required

Pealekorje postiindeks

delivery_country string required

Mahalaadimise riigi kood

delivery_postcode string required

Mahalaadimise postiindeks

rows_attributes array required

Pakendite/kaubaaluste massiiv koos koguse, pakendi tüübi, kaalu ja kirjeldusega

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": "IVI TRANS SIA",
        "reg_no": "40003227579",
        "id": 2167,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "IVI TRANS SIA",
        "reg_no": "40003227579",
        "id": 2167,
        "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"
      }
    ]
  }
}

IVI TRANS SIA jälgimise API

Cargosoni automatiseering
Cargosoni täiustus:

IVI TRANS SIA ei paku jälgimise sündmusi API kaudu. Cargoson pakub jälgimisportaali, kus vedaja saab käsitsi uuendada saadetise staatust, andes sulle ja sinu klientidele järjepideva jälgimiskogemuse.

Jälgi IVI TRANS SIA saadetisi kasutades Cargosoni viitenumbrit. Vaata hetkestaatust, asukoha uuendusi ja hinnangulist tarnekuupäeva.

GET /bookings/{reference}

Vaata jälgimise üksikasju IVI TRANS SIA saadetise kohta kasutades Cargosoni tellimuse viidet.

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

IVI TRANS SIA tagastusetikettide API

Cargoson tehnoloogial
Cargosoni täiustus:

IVI TRANS SIA ei toeta algupäraselt tagastussilte. Cargoson genereerib tagastussildid ja haldab tagastuslogistika protsessi meie platvormi kaudu.

Genereeri tagastusetiketid IVI TRANS SIA saadetistele. Tagastussildid võimaldavad klientidel saata kaupu tagasi eelmakstud veoga.

POST /bookings/{reference}/return_labels

Loo tagastussilt olemasolevale IVI TRANS SIA saadetisele.

Request Parameters

label_format string

Pakisildi formaat: a4 või label_printer (vaikimisi: 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"
}

Tagastusetiketi funktsioonid

  • Eelmakstud tagastusetiketid
  • Samad formaadi valikud kui väljaminevatel siltidel (A4, termoprinter)
  • Eraldi jälgimisviide tagastustele
  • Sujuv integratsioon IVI TRANS SIA tagastusteenustega

IVI TRANS SIA kullerikutsed

Cargosoni automatiseering

Cargoson automatiseerib kullerikutsed IVI TRANS SIA saadetistele - üks tegevus vähem, mille pärast muretseda.

Kuidas Cargoson käsitleb kullerikutseid

Paljud vedajad nõuavad, et lood pakisildid eraldi ja seejärel tellid käsitsi eraldi kulleri pealekorje. Teistel pole eraldi etiketi ja kullerikutse süsteemi ning iga saadetis on täielik, eraldiseisev tellimus. Meie usume, et vedajate API-d peaksid olema ühtses formaadis, kuid praegusel hetkel on igal vedajal oma süsteem, mis tähendab, et kasutajatel on keeruline meeles pidada iga vedaja eripära. Cargoson lihtsustab kullerikutseid, käsitledes iga saadetist terviklikult: kullerikutseid hallatakse automaatselt osana tellimisprotsessist.

Nutikas pealekorje optimeerimine

Cargoson optimeerib kullerikutseid kulude vähendamiseks ja tõhususe parandamiseks.

  • 1. Partii konsolideerimine - Mitu saadetist samast asukohast grupeeritakse üheks pealekorjeks
  • 2. Vedajapõhine käsitlemine - Mõned vedaja puhul on tellimus nii pakisilt kui kullerikutse koos, teised nõuavad eraldi päringut. Cargoson haldab mõlemat varianti sinu eest automaatselt
  • 3. Regulaarkorjed - Seadista eelplaneeritud pealekorjed kindlatel aegadel (nt pealaoaadressile iga päev kell 15:00) ja Cargoson sellisel juhul eraldi üksikuid kullerikutseid sinna ei tee

Eelised

  • Pole vaja jälgida, millised vedajad nõuavad eraldi kullerikutseid
  • Automaatne optimeerimine hoiab ära mittevajalikud kullerikutsed
  • Regulaarkorjete tugi
  • Lihtsustatud veoprotsess - lihtsalt loo tellimus

Seadistamine

Kullerikutse automatiseerimine on vaikimisi sisse lülitatud kõigile IVI TRANS SIA saadetistele. Regulaarkorje või kohandatud optimeerimisreeglite seadistamiseks võta ühendust [email protected].

IVI TRANS SIA teenuste API

Cargosoni mootor
Cargosoni täiustus:

Teenuste API on Cargosoni pakutav funktsioon, mis tagastab ühtse loetelu kõigist saadaolevatest teenustest IVI TRANS SIA-lt ja teistelt vedajatelt sinu võrgustikus. See võimaldab sul dünaamiliselt kuvada veoteenuseid oma klientidele ilma teenuse ID-sid kõvakoodimata.

Küsi kõikide saadaolevate IVI TRANS SIA veoteenuste nimekiri. Kasuta teenuse ID-sid otsetellimuste esitamisel, et valida soovitud teenus.

GET /services/list

Tagasta loetelu sinu ettevõtte kontol saadaolevatest IVI TRANS SIA teenustest.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 2167,
        "name": "IVI TRANS SIA",
        "short_name": "IVI TRANS SIA",
        "reg_no": "40003227579"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 2167,
        "name": "IVI TRANS SIA",
        "short_name": "IVI TRANS SIA",
        "reg_no": "40003227579"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Teenuse ID-de kasutamine

Selle otspunkti tagastatavaid teenuste ID-sid saab kasutada direct_booking_service_id parameetriga tellimuste loomisel, et garanteerida saadetise marsruutimine IVI TRANS SIA süsteemi.

Täielikud koodinäited

Allpool on täielikud töötavad näited, mis näitavad kogu töövoogu: küsi hinnad, vali teenus, telli vedu ja vaata jälgimisinfot.

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

# Step 1: Get freight prices for IVI TRANS SIA
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 bookToIVITRANSSIA() {
  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
bookToIVITRANSSIA();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToIVITRANSSIA($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
bookToIVITRANSSIA($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_ivi_trans_sia
  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_ivi_trans_sia

Miks kasutada Cargosoni API-d IVI TRANS SIA integratsiooni jaoks

Otse IVI TRANS SIA API-ga integreerimine tähendab vedajapõhise dokumentatsiooniga tegelemist, erinevate andmevormingute käsitlemist ja eraldi koodi haldamist iga vedaja jaoks. Cargoson pakub ühte ühtset RESTful API-d, mis toetab IVI TRANS SIA-t ja 2000+ vedajat üle Euroopa ja Põhja-Ameerika - uusi integratsioone lisatakse iganädalaselt. Me vähendame arendusaega kuudelt päevadele, käsitleme vedajate uuendusi automaatselt ja haldame piirkondlikke erandeid. Cargosoniga keskendud oma äri kasvatamisele, mitte vedajate tehniliste keerukuste haldamisele.

IVI TRANS SIA integreerimise eelised Cargosoni API kaudu

Üks API kõigile vedajatele

Asenda kümneid eraldi vedajate integratsioone ühe ühendusega IVI TRANS SIA ja 2000+ teise vedajaga Cargosoni API kaudu. Pole enam vaja hallata mitut autentimissüsteemi, käsitleda erinevaid andmevorminguid või uuendada koodi, kui vedajad muudavad oma otspunkte.

Selge dokumentatsioon ja tugi

Selge API dokumentatsioon koos töötavate koodinäidetega, üksikasjalike parameetrite kirjeldustega ja selgelt määratletud otspunktidega. Meie kienditugi tunneb logistikat ja aitab sul integratsiooniprobleeme kiiresti lahendada.

Koodinäited mitmes keeles

Alusta kohe kasutamisvalmis koodinäidetega cURL, JavaScript, Python, PHP ja Ruby keeltes. Kopeeri, kleebi ja kohanda neid oma tehnoloogiale - pole vaja autentimist, päringu vormindamist või vigade käsitlemist nullist välja mõelda.

Päris tugi logistika ekspertidelt

Saa abi inimestelt, kes mõistavad logistikat, mitte ainult API-sid. Olenemata sellest, kas teed integratsiooniprobleemi tõrkeotsingut või vajad nõu rahvusvaheliste saadetiste käsitlemiseks, on meie meeskond siin, et aidata.

Maailma kõige arenenum veohindade mootor

Cargosoni veohindade API ei piirdu ainult lihtsate hinnapäringutega. Meie mootor suudab lugeda, analüüsida ja digiteerida mis tahes vedaja hinnakirja olenemata formaadist või struktuurist - see on kõige võimsam veohindade haldussüsteem logistikamaailmas.

Universaalne formaadi tugi

Meie veohindade haldamise mootor käsitleb mis tahes formaati: struktureeritud Exceli failid, keerulised PDF-id, vaba tekst või isegi käsitsi kirjutatud hinnakirjad. Laadi üles oma veolepingud mis tahes formaadis ja meie veohindade mootor digitiseerib hinnaarvutuse reeglid, lisatasud ja tingimused automaatselt.

Otsene vedaja API integratsioon

Kaasaegsete süsteemidega vedajate puhul (tavaliselt globaalsed pakiveod ja tehnoloogiasõbralikud veofirmad) tõmbame hinnad otse nende API-dest reaalajas. See tagab, et saad alati kõige värskemad veohinnad ilma käsitsi uuendusteta.

Avalikud veebipõhised hinnad

Pole veel vedajaga lepingut? Pole probleemi. Cargoson saab tõmmata vedajatelt avalikke veebipõhiseid hindu, mis võimaldab sul võrrelda valikuid isegi enne ametlike kokkulepete sõlmimist.

Spot-hinna päringud

Keeruliste saadetiste või erijuhtude puhul küsi spot-hindu - vedajad vaatavad üle sinu konkreetsed nõuded ja teevad hinnapakkumise. Kõik hallatav sellesama ühtse API kaudu.

IVI TRANS SIA veo API: Lihtsustatud logistika automatiseerimine

Automatiseeri oma täitmisprotsess, integreerides Cargosoni veo API IVI TRANS SIA ja 2000+ vedajaga üle maailma. Loo pakisildid, telli pealekorjed ja halda kõiki oma vedajaid ühelt platvormilt, säilitades samal ajal oma läbirääkitud hinnad iga pakkujaga.

Automatiseeritud pakisiltide genereerimine

Genereeri vedajale sobivad pakisildid ühe API päringuga. Tugi mitmele formaadile (A4, termoprinter) ja automaatne tollidokumentide koostamine rahvusvahelistele saadetistele tähendab vähem käsitsi tööd ja vähem vigu.

Reaalajas veohindade võrdlus

Võrdle reaalajas veohindasid IVI TRANS SIA ja teiste Sinu kontol aktiveeritud vedajate vahel, et valida parim valik veomaksumuse, -kiiruse ja teenuse taseme põhjal.

Eelnevalt läbiräägitud hinnad jäävad samaks

Ühenda oma olemasolev IVI TRANS SIA konto, et säilitada oma senised vedajatega kokkulepitud veohinnad. Cargoson pakub lihtsalt tehnilist integratsiooni - otsesed suhted ja hinnakokkulepped oma vedajatega ei kao kuhugi.

Ettevõtte tasemel turvalisus IVI TRANS SIA API integratsiooni jaoks

Cargosoni API infrastruktuur vastab Euroopa standarditele, mis tagavad turvalise, auditeerimiseks valmis IVI TRANS SIA integratsiooni sinu ettevõttele:

  • GDPR-iga kooskõlas andmete käsitlemine ja salvestamine üle Euroopa
  • ISO 27001 sertifitseeritud infoturbe haldus
  • Otsast lõpuni krüpteerimine kõigile API suhtlustele

Valmis integreerima IVI TRANS SIA veoteenust oma süsteemiga?

Broneeri demo, et näha, kuidas Cargosoni ühtne API saab lihtsustada sinu logistikatoiminguid

Broneeri demo

Korduma kippuvad küsimused

Cargoson on veohaldustarkvara (TMS) Euroopa ja Põhja-Ameerika tootjatele. Meie eesmärk on lihtsus: integreeri kõik vedajad ja veorežiimid (maantee, pakett, õhk, meri, raudtee) ühte aknasse ja ühte API-sse. Olenemata sellest, kas saadate kaubaaluseid üle Euroopa või konteinereid üle ookeani, hallake kõike ühelt platvormilt.

Alustamine on lihtne. Esiteks registreeri Cargosoni konto ja küsi oma API võti. Seejärel ühenda oma IVI TRANS SIA konto Cargosoni juhtpaneelil. Kui see on tehtud, saad alustada API päringute tegemist meie dokumentatsiooni ja koodinäidete abil. Kogu seadistamine võtab tavaliselt vähem kui tunni.

Jah, vajad oma IVI TRANS SIA kontot, et kasutada IVI TRANS SIA teenuseid Cargosoni kaudu. See tagab, et säilita oma läbirääkitud hinnad ja hoia oma otsene suhe IVI TRANS SIA-ga. Cargoson pakub lihtsalt tehnilist integratsioonikihti, mis muudab IVI TRANS SIA ja teiste vedajatega töötamise lihtsamaks ühe ühtse API kaudu.

Cargoson töötab läbipaistva kuutellimuse mudeliga ilma saadetisepõhiste tasudeta või komisjonitasudeta, kunagi. Sinu plaan sisaldab API juurdepääsu, dokumentatsiooni, tuge ja automaatseid uuendusi, kui vedajad muudavad oma süsteeme. Maksad IVI TRANS SIA-le otse veo eest oma läbirääkitud veohindadega. Pole varjatud kulusid, pole üllatusi.

Absoluutselt! See on Cargosoni kasutamise peamine eelis. Kui oled meie API integreerinud, saad töötada IVI TRANS SIA ja 2000+ teise vedajaga, kasutades samu otspunkte, autentimist ja andmevorminguid. Lisa uusi vedajaid ilma uut integratsioonikoodi kirjutamata, lihtsalt aktiveeri need oma Cargosoni juhtpaneelil.

Jah! Me integreerime mis tahes vedaja, mida vajad, ilma lisatasuta. See on kaasas sinu Cargosoni tellimuses. Lihtsalt tutvusta meid oma vedajate kontaktidega ja me käsitleme tehnilist integratsiooni. Uusi integratsioone lisatakse iga päev klientide taotluste põhjal.

Jah, saame seadistada webhooke, et teavitada sinu süsteemi Cargosonis toimuvate sündmuste ja triggerite põhjal, nagu näiteks saadetise staatuse uuendused, tellimuse kinnitused või saadetiste muudatused. Võta ühendust meie klienditoega või broneeri demo, et arutada oma webhooki nõudeid ja seadistust.

Cargoson ei pruugi olla vajalik, kui oled väike ettevõte, kes saadab vaid mõni kord kuus ühe vedajaga. Selliseid saadetisi saab tõenäoliselt hästi hallata ka ilma veohaldustarkvara. Me ei sobi ka, kui oled vedaja või veokorraldaja. Cargoson on ehitatud spetsiaalselt kauba omanikele (BCO-d) nagu tootjad ja jaemüüjad, kes omavad saadetavaid kaupu. Kui otsid veohaldustarkvara oma edastusäri või vedaja tegevuse haldamiseks, pole me selle jaoks loodud.

Meie API tagastab selged veateated koos veakoodide ja kirjeldustega. Levinud probleemid on dokumenteeritud lahendustega meie arendajate dokumentatsioonis. Kui jääd kinni, aitab meie klienditugi integratsiooniprobleemide lahendamisel.

Me rakendame mõistlikke limiite, et tagada süsteemi stabiilsus kõigile klientidele. On nii pikaajaliseid limiite kui ka burst-limiite, mille väärtused peaksid olema enamiku ettevõtete jaoks rohkem kui piisavad. Kui vajad ettevõtte suuruses tegevuse jaoks kõrgemaid limiite, võta meiega ühendust, et arutada oma konto jaoks kohandatud limiite.

Alusta IVI TRANS SIA API kasutamist

Küsi oma API tunnused integratsiooni alustamiseks

Küsi oma API võti