IVI TRANS SIA API-dokumentaatio

Integroitu REST API

Täydellinen API-viite IVI TRANS SIA lähetysintegraatioon. Pääsy varauksiin, rahtitariffit, tarrojen luonti ja seuranta Cargosonin yhtenäisen kuljetuksenhallinta-API:n kautta.

Hanki API-avaimesi

IVI TRANS SIA API-yleiskatsaus

Tämä API tarjoaa ohjelmallisen pääsyn IVI TRANS SIA kuljetuspalveluihin Cargosonin yhtenäisen kuljetuksenhallinnan alustan kautta. Integroi IVI TRANS SIA ominaisuudet, mukaan lukien lähetysten varaukset, seuranta, hintakyselyt ja tarrojen luonti sovelluksiisi.

API-ominaisuudet

  • Luo ja hallitse IVI TRANS SIA lähetysvarauksia
  • Lähetysten seuranta ja tilapäivitykset
  • Hae rahtitariffien tarjoukset ja toimitusajat
  • Luo lähetystarrat useissa muodoissa (PDF, PNG, ZPL)
  • Luo palautustarrat käänteislogistiikkaan
  • Hae pakettiautomaattien ja noutopisteiden sijainteja
  • Listaa saatavilla olevat kuljetusliikkeen palvelut
  • Automaattiset kuriirinoutopyynnöt

Perus-URL ja autentikointi

Perus-URL

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

Autentikointi

Kaikkien pyyntöjen on sisällettävä API-avaimesi ja oikea Accept-otsikko:

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

IVI TRANS SIA varaus-API

Cargoson-automaatio
Cargoson-parannus:

IVI TRANS SIA ei tarjoa varaus-API:a. Cargoson lähettää automaattisesti varausvahvistukset sähköpostitse puolestasi, samalla kun käytät edelleen samaa yhtenäistä API-rajapintaa.

Luo IVI TRANS SIA lähetykset ja hae lähetystarrat käyttämällä Queries-päätepistettä. Varaukset lähetetään kuljetusliikkeen järjestelmään reaaliajassa ja tarrat luodaan välittömästi.

Kysely vs suora varaus

Queries-päätepiste tukee kahta varausmenetelmää:

  • Kyselytila - Luo kuljetuspyyntö määrittämättä (vielä) kuljetusliikettä. Tämä mahdollistaa kuljetusliikkeiden hintojen ja toimitusaikojen manuaalisen vertailun, uusien spot-hintojen pyytämisen, lähetyksen muutosten/päivitysten tekemisen ja kuljetusliikkeen valinnan delegoinnin muille, ennen lopullista kuljetusliikkeen valintaa Cargosonissa.
  • Suora varaus - Määritä kuljetusliikkeen palvelutunnus (Rate- tai Services-API:sta) varataksesi suoraan IVI TRANS SIA:n kautta. Tämä varmistaa, että lähetyksesi käyttää täsmälleen valitsemaasi palvelua.

Varataksesi suoraan IVI TRANS SIA:lle, määritä aina direct_booking_service_id.

POST /queries

Luo lähetyskysely tai suora varaus IVI TRANS SIA:lle. Sisällytä direct_booking_service_id välittömän varauksen luomiseksi.

Request Parameters

collection_date string required

Noutopäivä muodossa VVVV-KK-PP

collection_country string required

Noutomaan koodi (ISO 3166-1 alpha-2)

collection_postcode string required

Noudon postinumero

collection_address_row_1 string required

Noudon katuosoite

collection_city string required

Noudon kaupunki

collection_company_name string required

Lähettäjän yrityksen nimi

collection_contact_name string required

Lähettäjän yhteyshenkilö

collection_contact_phone string required

Lähettäjän puhelinnumero

delivery_country string required

Toimitusmaan koodi

delivery_postcode string required

Toimituksen postinumero

delivery_address_row_1 string required

Toimituksen katuosoite

delivery_city string required

Toimituksen kaupunki

delivery_company_name string required

Vastaanottajan yrityksen nimi

delivery_contact_name string required

Vastaanottajan yhteyshenkilö

delivery_contact_phone string required

Vastaanottajan puhelinnumero

rows_attributes array required

Pakettien/lavien taulukko määrän, pakkaustyyppin, painon ja kuvauksen kanssa

options[direct_booking_service_id] integer

IVI TRANS SIA palvelutunnus suoraa varausta varten

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

Tarrojen luonti

IVI TRANS SIA lähetystarrat luodaan automaattisesti varauksen luomisen yhteydessä. Tarrat ovat saatavilla useissa muodoissa erilaisten tulostintyyppien tueksi.

Tuetut tarramuodot

a4 - A4 PDF-muoto työpöytätulostimille (4 tarraa per sivu)
label_printer - 4x6in (~10x15cm) PDF-muoto lämpötulostimille

Tarrat sisältyvät varausvastauksen label_url-kenttään. Lataa ja tulosta tarra annetusta URL-osoitteesta varauksen jälkeen.

IVI TRANS SIA hinta-API (rahtihinnoittelu)

Cargoson-moottori
Cargoson-parannus:

IVI TRANS SIA ei tarjoa natiivi hinta-API:a. Cargosonin rahtihinnoittelumoottori laskee hinnat käyttämällä lataamiasi hintasopimuksia, tarjoten sinulle saman API-kokemuksen kuin kuljetusliikkeillä, joilla on natiivi hinta-API. Voit ladata kuljetusliikkeen hinnat missä tahansa muodossa (Excel, PDF, jopa käsinkirjoitetut hinnastot) ja me digitoimme ne.

Hae reaaliaikaiset IVI TRANS SIA rahtihinnat ennen varausta. Rate-API palauttaa saatavilla olevat palvelut, hinnat ja arvioidut toimitusajat.

POST /freightPrices/list

Hae rahtitariffien tarjoukset IVI TRANS SIA:lta ja muilta tilillesi aktivoiduilta kuljetusliikkeiltä.

Request Parameters

collection_date string required

Noutopäivä muodossa VVVV-KK-PP

collection_country string required

Noutomaan koodi (ISO 3166-1 alpha-2)

collection_postcode string required

Noudon postinumero

delivery_country string required

Toimitusmaan koodi

delivery_postcode string required

Toimituksen postinumero

rows_attributes array required

Pakettien/lavien taulukko määrän, pakkaustyyppin, painon ja kuvauksen kanssa

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 seuranta-API

Cargoson-automaatio
Cargoson-parannus:

IVI TRANS SIA ei tarjoa seurantatapahtumia API:n kautta. Cargoson tarjoaa seurantaportaalin, jossa kuljetusliike voi manuaalisesti päivittää lähetyksen tilan, antaen sinulle ja asiakkaillesi johdonmukaisen seurantakokemuksen.

Seuraa IVI TRANS SIA lähetyksiä käyttämällä Cargosonin viitenumeroa. Saat nykyisen tilan, sijaintipäivitykset ja arvioidun toimitusajan.

GET /bookings/{reference}

Hae seurantatiedot IVI TRANS SIA lähetykselle käyttämällä Cargosonin varausviitettä.

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 palautustarrat-API

Cargosonin tukema
Cargoson-parannus:

IVI TRANS SIA ei natiivisti tue palautustarroja. Cargoson luo palautustarrat ja hallitsee palautuslogistiikkaprosessin alustamme kautta.

Luo palautustarrat IVI TRANS SIA lähetyksille. Palautustarrat mahdollistavat asiakkaiden lähettää tuotteita takaisin ennakkoon maksetulla toimituksella.

POST /bookings/{reference}/return_labels

Luo palautustarra olemassa olevalle IVI TRANS SIA lähetykselle.

Request Parameters

label_format string

Tarran muoto: a4 tai label_printer (oletus: 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"
}

Palautustarran ominaisuudet

  • Ennakkoon maksetut palautustarrat
  • Samat muotovaihtoehdot kuin lähtevissä tarroissa (A4, lämpötulostus)
  • Erillinen seurantaviite palautuksille
  • Saumaton integraatio IVI TRANS SIA palautuspalveluihin

IVI TRANS SIA kuriiripyynnöt

Cargoson-automaatio

Cargoson automatisoi kuriirinoutopyynnöt IVI TRANS SIA lähetyksille, mikä tekee siitä yhden tehtävän vähemmän, josta sinun tarvitsee huolehtia.

Miten Cargoson käsittelee kuriiripyyntöjä

Monet kuljetusliikkeet vaativat sinua luomaan tarrat erikseen ja pyytämään sitten manuaalisesti kuriirinoudon. Toisilla ei ole erillistä tarra- ja kuriirikutsujärjestelmää, ja jokainen lähetys on täydellinen, erillinen lähetys. Uskomme, että kuljetusliikkeiden API:iden tulisi olla yhtenäinen standardi, mutta tällä hetkellä jokainen kuljetusliike luo oman ainutlaatuisen järjestelmänsä, mikä tekee käyttäjien vaikeaksi muistaa kunkin erityispiirteet ja monimutkaisuudet. Cargoson yksinkertaistaa kuriirikutsujasi käsittelemällä jokaisen lähetyksen kokonaisvaltaisesti: kuriiripyynnöt hallitaan automaattisesti osana varausprosessia.

Älykäs noudon optimointi

Cargoson optimoi kuriirikutsut kustannusten vähentämiseksi ja tehokkuuden parantamiseksi.

  • 1. Eräkonsolidointi - Useat lähetykset samasta sijainnista ryhmitellään yhdeksi noutopyynnöksi
  • 2. Kuljetusliikkekohtainen käsittely - Jotkut kuljetusliikkeet sisällyttävät noudon varaukseen, toiset vaativat erilliset pyynnöt. Cargoson käsittelee molemmat variantit automaattisesti puolestasi
  • 3. Säännölliset noutojärjestelyt - Määritä ennalta aikataulutetut noudot tietyin väliajoin (esim. päivittäin päävarastooni klo 15) ja Cargoson ohittaa yksittäiset kuriirikutsut kokonaan

Edut

  • Ei tarvitse seurata, mitkä kuljetusliikkeet vaativat erilliset kuriiripyynnöt
  • Automaattinen optimointi estää tarpeettomat noutokutsut
  • Tuki säännöllisille noutojärjestelyille
  • Yksinkertaistettu lähetystyönkulku - luo vain varaus

Määritys

Kuriirinoudon automaatio on oletuksena käytössä kaikille IVI TRANS SIA lähetyksille. Määrittääksesi säännöllisiä noutojärjestelyjä tai mukautettuja noudon optimointisääntöjä, ota yhteyttä [email protected].

IVI TRANS SIA palvelut-API

Cargoson-moottori
Cargoson-parannus:

Palvelut-API on Cargosonin tarjoama ominaisuus, joka palauttaa yhtenäisen luettelon kaikista saatavilla olevista palveluista IVI TRANS SIA:lta ja muilta verkostosi kuljetusliikkeiltä. Tämä mahdollistaa lähetysvaihtoehtojen dynaamisen näyttämisen asiakkaillesi ilman palvelutunnusten kovakoodausta.

Hae luettelo saatavilla olevista IVI TRANS SIA kuljetuspalveluista. Käytä palvelutunnuksia tehdessäsi suoria varauksia varmistaaksesi, että saat täsmälleen haluamasi palvelun.

GET /services/list

Palauta luettelo yrityksesi tilillä saatavilla olevista IVI TRANS SIA palveluista.

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

Palvelutunnusten käyttäminen

Tämän päätepisteen palvelutunnuksia voidaan käyttää direct_booking_service_id-parametrin kanssa varauksia luotaessa oikean palvelun valitsemiseksi ja lähetyksen lähettämiseksi IVI TRANS SIA järjestelmään.

Täydelliset koodiesimerkit

Alla on täydelliset toimivat esimerkit, jotka näyttävät koko työnkulun: hae hinnat, valitse palvelu, varaa lähetys ja pura seurantatiedot.

# 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

Miksi käyttää Cargoson API:a IVI TRANS SIA integraatioon

Suora integrointi IVI TRANS SIA:n natiivin API:n kanssa tarkoittaa painimista kuljetusliikkekohtaisen dokumentaation, erilaisten tietomuotojen käsittelyn ja erillisen koodin ylläpidon kanssa jokaiselle palveluntarjoajalle. Cargoson tarjoaa yhden yhtenäisen RESTful API:n, joka tukee IVI TRANS SIA:a ja yli 2000 kuljetusliikettä Euroopan ja Pohjois-Amerikan markkinoilla, ja uusia integraatioita lisätään viikoittain. Vähennämme kehitysajan kuukausista päiviin, käsittelemme kuljetusliikkeiden päivitykset automaattisesti ja hallitsemme alueelliset poikkeukset. Cargosonin kanssa keskityt liiketoimintasi kasvattamiseen sen sijaan, että hallitsisit kuljetusliikkeiden teknisiä monimutkaisuuksia.

IVI TRANS SIA:n integroinnin edut Cargoson API:n kautta

Yksi API kaikille kuljetusliikkeille

Korvaa kymmenet erilliset kuljetusliikkeiden integraatiot yhdellä yhteydellä IVI TRANS SIA:iin ja yli 2000 muuhun palveluntarjoajaan Cargoson API:n kautta. Ei enää useiden autentikointijärjestelmien ylläpitoa, erilaisten tietomuotojen käsittelyä tai koodin päivittämistä, kun kuljetusliikkeet muuttavat päätepisteitään.

Selkeä dokumentaatio ja tuki

Pääsy suoraviivaiseen API-dokumentaatioon toimivien koodiesimerkkien, yksityiskohtaisten parametrikuvausten ja selkeästi määriteltyjen päätepisteiden kanssa. Tukitiimimme tuntee logistiikka-alan ja voi auttaa sinua ratkaisemaan integraatiohaasteita nopeasti.

Koodiesimerkit useilla kielillä

Aloita välittömästi käyttövalmiilla koodiesimerkeillä cURL, JavaScript, Python, PHP ja Ruby -kielillä. Kopioi, liitä ja mukauta ne omaan pinoon, ei tarvitse selvittää autentikointia, pyynnön muotoilua tai virheiden käsittelyä tyhjästä.

Todellinen tuki logistiikka-asiantuntijoilta

Saat apua ihmisiltä, jotka ymmärtävät lähetyksiä, eivät vain API:ita. Olipa kyse integraatio-ongelman vianmäärityksestä tai neuvosta kansainvälisten lähetysten parhaasta käsittelytavasta, tiimimme on täällä auttamassa.

Maailman edistynein rahtihinnoittelumoottori

Cargosonin rahtihinnoittelu-API menee paljon pidemmälle kuin yksinkertaiset hintakyselyt. Moottori voi lukea, analysoida ja digitoida minkä tahansa kuljetusliikkeen hinnaston riippumatta muodosta tai rakenteesta, mikä tekee siitä tehokkaimman rahtihintojen hallintaratkaisun logistiikka-alalla.

Universaali muototuki

Rahtihinnoittelumoottori käsittelee minkä tahansa muodon: strukturoidut Excel-tiedostot, monimutkaiset PDF:t, vapaa teksti tai jopa käsinkirjoitetut hinnastot. Lataa kuljetusliikkeen sopimuksesi missä tahansa muodossa, ja rahtihinnoittelumoottori jäsentää hinnoittelusäännöt, lisämaksut ja ehdot automaattisesti.

Suora kuljetusliikkeen API-integraatio

Modernien järjestelmien omaavien kuljetusliikkeiden (tyypillisesti globaalit pakettikuljetusliikkeet ja teknologiaystävälliset rahtiyhtiöt) osalta haemme hinnat suoraan heidän API:staan reaaliajassa. Tämä varmistaa, että saat aina ajantasaisimman hinnoittelun ilman manuaalisia päivityksiä.

Julkiset verkkohinnat

Eikö sinulla ole vielä sopimusta kuljetusliikkeen kanssa? Ei hätää. Cargoson voi hakea julkiset verkkohinnat kuljetusliikkeiltä, jolloin voit vertailla vaihtoehtoja jo ennen virallisten sopimusten solmimista.

Spot-hintapyynnöt

Monimutkaisille lähetyksille tai erikoistapauksille pyydä spot-hintoja, joissa kuljetusliikkeet tarkastelevat erityisvaatimuksiasi ja tarjoavat räätälöidyn tarjouksen. Kaikki hallitaan saman yhtenäisen API:n kautta.

IVI TRANS SIA lähetys-API: Yksinkertaistettu logistiikka-automaatio

Automatisoi täyttämisprosessisi integroimalla Cargosonin lähetys-API IVI TRANS SIA:iin ja yli 2000 kuljetusliikkeeseen maailmanlaajuisesti. Luo lähetystarrat, varaa noudot ja hallitse kaikkia kuljetusliikkeitäsi yhdeltä alustalta säilyttäen samalla neuvotellut hintasi kunkin palveluntarjoajan kanssa.

Automaattinen tarrojen luonti

Luo kuljetusliikkeen hyväksymät lähetystarrat yhdellä API-pyynnöllä. Tuki useille tarramuodoille (A4, lämpötulostin) ja automaattinen tullausasiakirjojen luonti kansainvälisille lähetyksille tarkoittaa vähemmän manuaalista työtä ja vähemmän lähetysvirheitä.

Reaaliaikainen hintojen vertailu

Vertaile reaaliaikaisia hintoja IVI TRANS SIA:n ja muiden aktivoitujen kuljetusliikkeidesi välillä valitaksesi parhaan vaihtoehdon kustannusten, nopeuden ja palvelutason perusteella.

Säilytä neuvotellut hintasi

Yhdistä olemassa oleva IVI TRANS SIA tilisi säilyttääksesi neuvotellut lähetyshinnat. Cargoson tarjoaa vain teknisen integraation: säilytät suorat kuljetusliikesuhteesi ja mukautetut hinnoittelusopimuksesi.

Yritystason turvallisuus IVI TRANS SIA API-integraatioon

Cargosonin API-infrastruktuuri täyttää eurooppalaiset vaatimustenmukaisuusstandardit, jotka varmistavat turvallisen, tarkastuskelpoisen IVI TRANS SIA integraation yrityksellesi:

  • GDPR-yhteensopiva tietojen käsittely ja tallennus kaikkialla Euroopassa
  • ISO 27001 -sertifioitu tietoturvan hallinta
  • Päästä päähän -salaus kaikille API-viestinnöille

Valmis integroimaan IVI TRANS SIA lähetykset alustaasi?

Varaa demo nähdäksesi, miten Cargosonin yhtenäinen API voi yksinkertaistaa logistiikkatoimintojasi

Varaa demo

Usein kysytyt kysymykset

Cargoson on kuljetuksenhallintajärjestelmä (TMS) eurooppalaisille ja pohjoisamerikkalaisille valmistajille. Keskeinen visiomme on yksinkertaisuus: integroi kaikki kuljetusliikkeet ja rahtimuodot (maantie, paketti, lento, meri, rautatie) yhteen ikkunaan ja yhteen API:in. Olipa kyse lavakuormien lähettämisestä ympäri Eurooppaa tai konttien lähettämisestä meritse, hallitse kaikkea yhdeltä alustalta.

Aloittaminen on yksinkertaista. Ensinnäkin rekisteröidy Cargoson-tilille ja hanki API-avaimesi. Yhdistä sitten IVI TRANS SIA tilisi Cargoson-hallintapaneelissa. Kun tämä on tehty, voit aloittaa API-pyyntöjen tekemisen dokumentaatiomme ja koodiesimerkkiemme avulla. Koko asennus kestää tyypillisesti alle tunnin.

Kyllä, tarvitset oman IVI TRANS SIA tilin käyttääksesi IVI TRANS SIA palveluita Cargosonin kautta. Tämä varmistaa, että säilytät neuvotellut hintasi ja ylläpidät suoran suhteesi IVI TRANS SIA:iin. Cargoson tarjoaa vain teknisen integraatiokerroksen, joka helpottaa IVI TRANS SIA:n ja muiden kuljetusliikkeiden kanssa työskentelyä yhden yhtenäisen API:n kautta.

Cargoson toimii läpinäkyvällä kuukausittaisella tilausmallilla ilman lähetyskohtaisia maksuja tai provisioita, koskaan. Pakettisi sisältää API-pääsyn, dokumentaation, tuen ja automaattiset päivitykset, kun kuljetusliikkeet muuttavat järjestelmiään. Maksat IVI TRANS SIA:lle suoraan toimituksesta neuvotelluin hinnoin. Ei piilotettuja kustannuksia, ei yllätyksiä.

Ehdottomasti! Se on Cargosonin käytön tärkein etu. Kun olet integroinut API:mme, voit työskennellä IVI TRANS SIA:n ja yli 2000 muun kuljetusliikkeen kanssa käyttämällä samoja päätepisteitä, autentikointia ja tietomuotoja. Lisää uusia kuljetusliikkeitä kirjoittamatta uutta integraatiokoodia, aktivoi ne vain Cargoson-hallintapaneelissasi.

Kyllä! Integroimme minkä tahansa tarvitsemasi kuljetusliikkeen ilman lisäkustannuksia. Tämä sisältyy Cargoson-tilaukseesi. Esittele meidät vain kuljetusliikkeen yhteyshenkilöillesi, ja me hoidamme teknisen integraation. Uusia integraatioita lisätään päivittäin asiakaspyyntöjen perusteella.

Kyllä, voimme määrittää webhookit ilmoittamaan järjestelmääsi Cargosonissa tapahtuvien tapahtumien ja laukaisimien perusteella, kuten lähetyksen tilapäivitykset, varausvahvistukset tai lähetysten muutokset. Ota yhteyttä tukitiimiimme tai varaa demo keskustellaksesi webhook-vaatimuksistasi ja asetuksista.

Cargoson saattaa olla liioittelua, jos olet pieni yritys, joka lähettää vain muutaman kerran kuukaudessa yhden kuljetusliikkeen kanssa. Voit luultavasti hallita nämä lähetykset hyvin ilman kuljetuksenhallintajärjestelmää. Emme myöskään ole oikea valinta, jos olet kuljetusliike tai huolitsija. Cargoson on rakennettu erityisesti hyödyllisten lastin omistajille (BCO) kuten valmistajille ja jakelijoille, jotka omistavat lähetettävät tavarat. Jos etsit kuljetuksenhallintajärjestelmää huolintaliikkeesi tai kuljetusliikkeen toimintojen hallintaan, emme ole suunniteltu siihen käyttötapaukseen.

API:mme palauttaa selkeät virheilmoitukset tiettyjen virhekoodien ja kuvausten kanssa. Yleiset ongelmat on dokumentoitu ratkaisuineen kehittäjädokumentaatiossamme. Jos jäät jumiin, tukitiimimme voi auttaa integraatio-ongelmien vianmäärityksessä.

Toteutamme kohtuulliset nopeusrajoitukset järjestelmän vakauden varmistamiseksi kaikille asiakkaille. On sekä pitkän aikavälin nopeusrajoituksia että burst-rajoituksia, joiden arvojen pitäisi olla enemmän kuin riittäviä useimmille yrityksille. Jos tarvitset korkeampia rajoja yritystason toimintoihin, ota meihin yhteyttä keskustellaksesi mukautetuista nopeusrajoituksista tilillesi.

Aloita IVI TRANS SIA API:n käyttö

Hanki API-tunnuksesi integraation aloittamiseksi

Hanki API-avaimesi