Ave Bulgaria API dokumentacija

Integruota REST API

Išsami API dokumentacija Ave Bulgaria siuntimo integracijai. Pasiekite užsakymus, krovinių kainas, etikečių generavimą ir sekimą per Cargoson vieningą transporto valdymo API.

Gaukite savo API raktą

Ave Bulgaria API apžvalga

Ši API suteikia programinę prieigą prie Ave Bulgaria siuntimo paslaugų per Cargoson vieningą transporto valdymo platformą. Integruokite Ave Bulgaria galimybes, įskaitant siuntų užsakymą, sekimą, kainų pasiūlymus ir etikečių generavimą į savo programas.

API galimybės

  • Kurkite ir valdykite Ave Bulgaria siuntų užsakymus
  • Siuntų sekimas ir būsenos atnaujinimai
  • Gaukite krovinių kainų pasiūlymus ir pristatymo laikus
  • Generuokite siuntimo etiketes keliais formatais (PDF, PNG, ZPL)
  • Kurkite grąžinimo etiketes atvirkštinei logistikai
  • Ieškokite siuntų automatų ir paėmimo punktų vietų
  • Peržiūrėkite prieinamas vežėjo paslaugas
  • Automatizuoti kurjerių paėmimo užklausos

Pagrindinis URL ir autentifikacija

Pagrindinis URL

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

Autentifikacija

Visos užklausos turi turėti jūsų API raktą ir teisingą Accept antraštę:

Authorization: Bearer JŪSŲ_API_RAKTAS
Accept: application/vnd.api.v1

Ave Bulgaria užsakymų API

Cargoson automatizavimas
Cargoson patobulinimas:

Ave Bulgaria neteikia užsakymų API. Cargoson automatiškai siunčia užsakymų patvirtinimus el. paštu jūsų vardu, o jūs vis tiek naudojate tą pačią vieningą API sąsają.

Kurkite Ave Bulgaria siuntas ir gaukite siuntimo etiketes naudodami Queries galutinį tašką. Užsakymai siunčiami į vežėjo sistemą realiuoju laiku ir etiketės generuojamos iš karto.

Užklausa vs tiesioginis užsakymas

Queries galutinis taškas palaiko du užsakymo metodus:

  • Užklausos režimas - Sukurkite transporto užklausą nenurodydami vežėjo (dar). Tai leidžia jums rankiniu būdu palyginti vežėjų kainas ir pristatymo laikus, prašyti naujų spot kainų, atlikti pakeitimus/atnaujinimus siuntai ir perduoti vežėjo pasirinkimą kitiems, prieš galutinį vežėjo pasirinkimą Cargoson.
  • Tiesioginis užsakymas - Nurodykite vežėjo paslaugos ID (iš Rate arba Services API), kad užsakytumėte tiesiogiai su Ave Bulgaria. Tai užtikrina, kad jūsų siunta naudoja tiksliai jūsų pasirinktą paslaugą.

Norėdami užsakyti tiesiogiai su Ave Bulgaria, visada nurodykite direct_booking_service_id.

POST /queries

Sukurti siuntų užklausą arba tiesioginį užsakymą Ave Bulgaria. Įtraukite direct_booking_service_id, kad sukurtumėte nedelsiantį užsakymą.

Request Parameters

collection_date string required

Paėmimo data MMMM-MM-DD formatu

collection_country string required

Paėmimo šalies kodas (ISO 3166-1 alpha-2)

collection_postcode string required

Paėmimo pašto kodas

collection_address_row_1 string required

Paėmimo gatvės adresas

collection_city string required

Paėmimo miestas

collection_company_name string required

Siuntėjo įmonės pavadinimas

collection_contact_name string required

Siuntėjo kontaktinis asmuo

collection_contact_phone string required

Siuntėjo telefono numeris

delivery_country string required

Pristatymo šalies kodas

delivery_postcode string required

Pristatymo pašto kodas

delivery_address_row_1 string required

Pristatymo gatvės adresas

delivery_city string required

Pristatymo miestas

delivery_company_name string required

Gavėjo įmonės pavadinimas

delivery_contact_name string required

Gavėjo kontaktinis asmuo

delivery_contact_phone string required

Gavėjo telefono numeris

rows_attributes array required

Paketų/padėklų masyvas su kiekiu, pakuotės tipu, svoriu ir aprašymu

options[direct_booking_service_id] integer

Ave Bulgaria paslaugos ID tiesioginiam užsakymui

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

Etikečių generavimas

Ave Bulgaria siuntimo etiketės automatiškai generuojamos, kai sukuriate užsakymą. Etiketės prieinamos keliais formatais, kad palaikytų skirtingus spausdintuvų tipus.

Palaikomi etikečių formatai

a4 - A4 PDF formatas darbalaukio spausdintuvams (4 etiketės puslapyje)
label_printer - 4x6in (~10x15cm) PDF formatas terminiams spausdintuvams

Etiketės įtrauktos į užsakymo atsakymą per label_url lauką. Atsisiųskite ir išspausdinkite etiketę iš pateikto URL po užsakymo.

Ave Bulgaria kainų API (krovinių kainodara)

Cargoson sistema
Cargoson patobulinimas:

Ave Bulgaria neteikia natūralios kainų API. Cargoson krovinių kainų sistema apskaičiuoja kainas naudodama jūsų įkeltus kainų susitarimus, suteikdama jums tą pačią API patirtį kaip vežėjai su natūraliomis kainų API. Galite įkelti vežėjų kainas bet kokiu formatu (Excel, PDF, net ranka rašytus kainoraščius) ir mes juos skaitmeninsime.

Gaukite realaus laiko Ave Bulgaria krovinių kainas prieš užsakydami. Rate API grąžina prieinamas paslaugas, kainas ir numatomas pristatymo datas.

POST /freightPrices/list

Gauti krovinių kainų pasiūlymus iš Ave Bulgaria ir kitų aktyvuotų vežėjų jūsų paskyroje.

Request Parameters

collection_date string required

Paėmimo data MMMM-MM-DD formatu

collection_country string required

Paėmimo šalies kodas (ISO 3166-1 alpha-2)

collection_postcode string required

Paėmimo pašto kodas

delivery_country string required

Pristatymo šalies kodas

delivery_postcode string required

Pristatymo pašto kodas

rows_attributes array required

Paketų/padėklų masyvas su kiekiu, pakuotės tipu, svoriu ir aprašymu

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": "Ave Bulgaria Logistics LTD",
        "reg_no": "203003174",
        "id": 3924,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "Ave Bulgaria Logistics LTD",
        "reg_no": "203003174",
        "id": 3924,
        "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"
      }
    ]
  }
}

Ave Bulgaria sekimo API

Cargoson automatizavimas
Cargoson patobulinimas:

Ave Bulgaria neteikia sekimo įvykių per API. Cargoson teikia sekimo portalą, kur vežėjas gali rankiniu būdu atnaujinti siuntų būseną, suteikdamas jums ir jūsų klientams nuoseklią sekimo patirtį.

Sekite Ave Bulgaria siuntas naudodami Cargoson nuorodos numerį. Gaukite dabartinę būseną, vietos atnaujinimus ir numatomą pristatymo laiką.

GET /bookings/{reference}

Gauti sekimo informaciją apie Ave Bulgaria siuntą naudojant Cargoson užsakymo nuorodą.

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

Ave Bulgaria grąžinimo etikečių API

Veikia su Cargoson
Cargoson patobulinimas:

Ave Bulgaria natūraliai nepalaiko grąžinimo etikečių. Cargoson generuoja grąžinimo etiketes ir valdo grąžinimo logistikos procesą per mūsų platformą.

Generuokite grąžinimo siuntimo etiketes Ave Bulgaria siuntoms. Grąžinimo etiketės leidžia klientams siųsti prekes atgal naudojant iš anksto apmokėtą siuntimą.

POST /bookings/{reference}/return_labels

Sukurti grąžinimo etiketę esamai Ave Bulgaria siuntai.

Request Parameters

label_format string

Etiketės formatas: a4 arba label_printer (numatytasis: 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"
}

Grąžinimo etikečių funkcijos

  • Iš anksto apmokėtos grąžinimo siuntimo etiketės
  • Tos pačios formato parinktys kaip ir išsiunčiamoms etiketėms (A4, terminis)
  • Atskira sekimo nuoroda grąžinimams
  • Sklandus integravimas su Ave Bulgaria grąžinimo paslaugomis

Ave Bulgaria kurjerių užklausos

Cargoson automatizavimas

Cargoson automatizuoja kurjerių paėmimo užklausas Ave Bulgaria siuntoms, todėl tai vienas mažiau užduotis, apie kurią reikia galvoti.

Kaip Cargoson tvarko kurjerių užklausas

Daugelis siuntimo vežėjų reikalauja, kad sukurtumėte etiketes atskirai, o tada rankiniu būdu užsakytumėte kurjerio paėmimą. Kiti neturi atskiros etikečių ir kurjerio iškvietimo sistemos, ir kiekviena siunta yra atskiras, savarankiškas užsakymas. Mes tikime, kad turėtų būti vienas vežėjų API standartas, tačiau šiuo metu kiekvienas vežėjas kuria savo unikalią sistemą, todėl jų naudotojams sunku prisiminti kiekvieno ypatumus ir sudėtingumą. Cargoson supaprastina jūsų kurjerių iškvietimus traktuodamas kiekvieną siuntą holistiškai: kurjerių užklausos automatiškai valdomos kaip užsakymo proceso dalis.

Išmanus paėmimo optimizavimas

Cargoson optimizuoja kurjerių iškvietimus, kad sumažintų išlaidas ir pagerintų efektyvumą.

  • 1. Partijos konsolidavimas - Kelios siuntos iš tos pačios vietos sugrupuojamos į vieną paėmimo užklausą
  • 2. Vežėjui specifinis tvarkymas - Kai kurie vežėjai įtraukia paėmimą į užsakymą, kiti reikalauja atskirų užklausų. Cargoson automatiškai tvarko abu variantus už jus
  • 3. Reguliarūs paėmimo grafikai - Sukonfigūruokite iš anksto suplanuotus paėmimus konkrečiais intervalais (pvz., kasdien į pagrindinį sandėlį 15 val.) ir Cargoson visiškai praleis atskirus kurjerių iškvietimus

Privalumai

  • Nereikia sekti, kurie vežėjai reikalauja atskirų kurjerių užklausų
  • Automatinis optimizavimas užkerta kelią nereikalingiems paėmimo iškvietimams
  • Reguliarių paėmimo grafikų palaikymas
  • Supaprastintas siuntimo darbo srautas - tiesiog sukurkite užsakymą

Konfigūracija

Kurjerių paėmimo automatizavimas pagal numatytuosius nustatymus įjungtas visoms Ave Bulgaria siuntoms. Norėdami sukonfigūruoti reguliarius paėmimo grafikus arba pasirinktines paėmimo optimizavimo taisykles, susisiekite [email protected].

Ave Bulgaria paslaugų API

Cargoson sistema
Cargoson patobulinimas:

Paslaugų API yra Cargoson teikiama funkcija, kuri grąžina vieningą visų prieinamų paslaugų sąrašą iš Ave Bulgaria ir kitų vežėjų jūsų tinkle. Tai leidžia dinamiškai rodyti siuntimo parinktis savo klientams be paslaugų ID įkodavimo.

Gaukite prieinamų Ave Bulgaria siuntimo paslaugų sąrašą. Naudokite paslaugų ID atliekant tiesioginius užsakymus, kad užtikrintumėte, jog gausite tiksliai norimą paslaugą.

GET /services/list

Grąžinti jūsų įmonės paskyroje prieinamų Ave Bulgaria paslaugų sąrašą.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 3924,
        "name": "Ave Bulgaria Logistics LTD",
        "short_name": "Ave Bulgaria",
        "reg_no": "203003174"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 3924,
        "name": "Ave Bulgaria Logistics LTD",
        "short_name": "Ave Bulgaria",
        "reg_no": "203003174"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Paslaugų ID naudojimas

Šio galutinio taško paslaugų ID gali būti naudojami su direct_booking_service_id parametru kuriant užsakymus, kad pasirinktumėte tinkamą paslaugą ir išsiųstumėte siuntą į Ave Bulgaria sistemą.

Išsamūs kodo pavyzdžiai

Žemiau pateikiami išsamūs veikiantys pavyzdžiai, rodantys visą darbo eigą: gaukite kainas, pasirinkite paslaugą, užsakykite siuntą ir ištraukite sekimo informaciją.

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

# Step 1: Get freight prices for Ave Bulgaria
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 bookToAveBulgaria() {
  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
bookToAveBulgaria();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToAveBulgaria($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
bookToAveBulgaria($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_ave_bulgaria
  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_ave_bulgaria

Kodėl naudoti Cargoson API Ave Bulgaria integracijai

Tiesioginis integravimas su Ave Bulgaria natūralia API reiškia kovojimą su vežėjui specifine dokumentacija, skirtingų duomenų formatų tvarkymą ir atskiro kodo palaikymą kiekvienam teikėjui. Cargoson siūlo vieną vieningą RESTful API, kuri palaiko Ave Bulgaria ir 2000+ vežėjų Europos ir Šiaurės Amerikos rinkose, o naujos integracijos pridedamos kas savaitę. Mes sumažiname kūrimo laiką nuo mėnesių iki dienų, automatiškai tvarkome vežėjų atnaujinimus ir valdome regioninius išimtis. Su Cargoson jūs sutelkiate dėmesį į savo verslo augimą, o ne į vežėjų techninių sudėtingumų valdymą.

Ave Bulgaria integravimo per Cargoson API privalumai

Viena API visiems vežėjams

Pakeiskite dešimtis atskirų vežėjų integracijų vienu ryšiu su Ave Bulgaria ir 2000+ kitų teikėjų per Cargoson API. Nebereikia palaikyti kelių autentifikavimo sistemų, tvarkyti skirtingų duomenų formatų ar atnaujinti kodo, kai vežėjai keičia savo galutinius taškus.

Aiški dokumentacija ir palaikymas

Pasiekite aiškią API dokumentaciją su veikiančiais kodo pavyzdžiais, išsamiais parametrų aprašymais ir aiškiai apibrėžtais galutiniais taškais. Mūsų palaikymo komanda išmano logistikos pramonę ir gali padėti greitai išspręsti integracijos iššūkius.

Kodo pavyzdžiai keliomis kalbomis

Pradėkite iš karto su paruoštais naudoti kodo pavyzdžiais cURL, JavaScript, Python, PHP ir Ruby. Kopijuokite, įklijuokite ir pritaikykite juos savo technologijoms, nereikia išsiaiškinti autentifikavimo, užklausos formatavimo ar klaidų tvarkymo nuo nulio.

Tikras palaikymas iš logistikos ekspertų

Gaukite pagalbą iš žmonių, kurie supranta siuntimą, o ne tik API. Nesvarbu, ar sprendžiate integracijos problemą, ar reikia patarimo, kaip geriausia tvarkyti tarptautines siuntas, mūsų komanda yra čia, kad padėtų.

Pažangiausia pasaulyje krovinių kainų sistema

Cargoson krovinių kainų API toli prašoka paprastus kainų užklausas. Mūsų sistema gali skaityti, analizuoti ir skaitmeninti bet kokį vežėjo kainoraštį nepriklausomai nuo formato ar struktūros, todėl tai galingiausia krovinių kainų valdymo sprendimas logistikos pramonėje.

Universalus formatų palaikymas

Mūsų krovinių kainų sistema tvarko bet kokį formatą: struktūrizuotus Excel failus, sudėtingus PDF, laisvą tekstą ar net ranka rašytus kainoraščius. Įkelkite savo vežėjų sutartis bet kokiu formatu, ir mūsų krovinių kainų sistema automatiškai išanalizuos kainų taisykles, papildomus mokesčius ir sąlygas.

Tiesioginė vežėjo API integracija

Vežėjams su šiuolaikinėmis sistemomis (paprastai pasauliniai siuntų vežėjai ir technologijų pažangūs krovinių įmonės) mes traukiame kainas tiesiogiai iš jų API realiuoju laiku. Tai užtikrina, kad visada gausite naujausias kainas be rankinių atnaujinimų.

Viešos internetinės kainos

Dar neturite sutarties su vežėju? Nėra problemos. Cargoson gali gauti viešas internetines kainas iš vežėjų, leidžiančias jums palyginti variantus net prieš sudarant oficialius susitarimus.

Spot kainų užklausos

Sudėtingoms siuntoms ar specialiems atvejams prašykite spot kainų, kai vežėjai peržiūri jūsų konkrečius reikalavimus ir pateikia individualų pasiūlymą. Viskas valdoma per tą pačią vieningą API.

Ave Bulgaria siuntimo API: Supaprastinta logistikos automatizacija

Automatizuokite savo įvykdymo procesą integruodami Cargoson siuntimo API su Ave Bulgaria ir 2000+ vežėjų visame pasaulyje. Kurkite siuntimo etiketes, užsakykite paėmimus ir valdykite visus savo vežėjus iš vienos platformos, tuo pačiu išlaikydami savo derėtas kainas su kiekvienu teikėju.

Automatizuotas etikečių generavimas

Generuokite vežėjo patvirtintas siuntimo etiketes viena API užklausa. Kelių etikečių formatų palaikymas (A4, terminis spausdintuvas) ir automatinė muitinės dokumentacija tarptautinėms siuntoms reiškia mažiau rankinio darbo ir mažiau siuntimo klaidų.

Realaus laiko kainų palyginimas

Palyginkite realaus laiko kainas tarp Ave Bulgaria ir kitų jūsų aktyvuotų vežėjų, kad pasirinktumėte geriausią variantą pagal kainą, greitį ir paslaugų lygį.

Išlaikykite savo derėtas kainas

Prijunkite savo esamą Ave Bulgaria paskyrą, kad išlaikytumėte savo derėtas siuntimo kainas. Cargoson tiesiog suteikia techninę integraciją: jūs išlaikote savo tiesioginius vežėjų santykius ir individualius kainų susitarimus.

Įmonės lygio saugumas Ave Bulgaria API integracijai

Cargoson API infrastruktūra atitinka Europos atitikties standartus, užtikrinančius saugią, auditui paruoštą Ave Bulgaria integraciją jūsų verslui:

  • BDAR atitinkantis duomenų tvarkymas ir saugojimas visoje Europoje
  • ISO 27001 sertifikuotas informacijos saugumo valdymas
  • Visapusiškas šifravimas visai API komunikacijai

Pasiruošę integruoti Ave Bulgaria siuntimą į savo platformą?

Užsisakykite demonstraciją, kad pamatytumėte, kaip Cargoson vieninga API gali supaprastinti jūsų logistikos operacijas

Užsisakyti demonstraciją

Dažniausiai užduodami klausimai

Cargoson yra transporto valdymo sistema (TMS) Europos ir Šiaurės Amerikos gamintojams. Mūsų pagrindinė vizija yra paprastumas: integruoti bet kokius ir visus vežėjus bei krovinių rūšis (kelių, siuntų, oro, jūrų, geležinkelių) į vieną langą ir vieną API. Nesvarbu, ar siunčiate padėklus per Europą, ar konteinerius per vandenynus, valdykite viską iš vienos platformos.

Pradėti yra paprasta. Pirma, užsiregistruokite Cargoson paskyrą ir gaukite savo API raktą. Tada prijunkite savo Ave Bulgaria paskyrą Cargoson valdymo skydelyje. Kai tai padaryta, galite pradėti teikti API užklausas naudodami mūsų dokumentaciją ir kodo pavyzdžius. Visa sąranka paprastai užtrunka mažiau nei valandą.

Taip, jums reikės savo Ave Bulgaria paskyros, kad naudotumėte Ave Bulgaria paslaugas per Cargoson. Tai užtikrina, kad išlaikytumėte savo derėtas kainas ir palaikytumėte savo tiesioginį santykį su Ave Bulgaria. Cargoson tiesiog suteikia techninį integracijos sluoksnį, kuris palengvina darbą su Ave Bulgaria ir kitais vežėjais per vieną vieningą API.

Cargoson veikia pagal skaidrų mėnesinės prenumeratos modelį be mokesčių už siuntą ar komisinių, niekada. Jūsų planas apima API prieigą, dokumentaciją, palaikymą ir automatinius atnaujinimus, kai vežėjai keičia savo sistemas. Jūs mokate Ave Bulgaria tiesiogiai už siuntimą savo derėtomis kainomis. Jokių paslėptų išlaidų, jokių staigmenų.

Absoliučiai! Tai yra pagrindinis Cargoson naudojimo privalumas. Kai integruojate mūsų API, galite dirbti su Ave Bulgaria ir 2000+ kitų vežėjų naudodami tuos pačius galutinius taškus, autentifikaciją ir duomenų formatus. Pridėkite naujus vežėjus nerašydami naujo integracijos kodo, tiesiog aktyvuokite juos savo Cargoson valdymo skydelyje.

Taip! Mes integruojame bet kokį jums reikalingą vežėją be papildomų išlaidų. Tai įtraukta į jūsų Cargoson prenumeratą. Tiesiog supažindinkite mus su savo vežėjų kontaktais, ir mes tvarkysime techninę integraciją. Naujos integracijos pridedamos kasdien pagal klientų užklausas.

Taip, galime nustatyti webhook'us, kad praneštume jūsų sistemai apie įvykius ir trigerius Cargoson, tokius kaip siuntų būsenos atnaujinimai, užsakymų patvirtinimai ar jūsų siuntų pakeitimai. Susisiekite su mūsų palaikymo komanda arba užsisakykite demonstraciją, kad aptartumėte savo webhook reikalavimus ir sąranką.

Cargoson gali būti per daug, jei esate maža įmonė, siunčianti tik kelis kartus per mėnesį su vienu vežėju. Tikriausiai galite gerai valdyti tas siuntas be transporto valdymo sistemos. Mes taip pat netinkame, jei esate vežėjas ar krovinių ekspeditorius. Cargoson sukurtas specialiai prekių savininkams (BCO) kaip gamintojams ir platintojams, kurie valdo siunčiamas prekes. Jei ieškote transporto valdymo sistemos savo ekspedijavimo verslui ar vežėjo operacijoms valdyti, mes nesame sukurti tam naudojimo atvejui.

Mūsų API grąžina aiškius klaidų pranešimus su konkrečiais klaidų kodais ir aprašymais. Įprastos problemos dokumentuotos su sprendimais mūsų kūrėjų dokumentacijoje. Jei įstrigsite, mūsų palaikymo komanda gali padėti spręsti integracijos problemas.

Mes įgyvendiname protingus limitus, kad užtikrintume sistemos stabilumą visiems klientams. Yra tiek ilgalaikiai limitai, tiek burst limitai, kurių vertės turėtų būti daugiau nei pakankamos daugumai įmonių. Jei jums reikia didesnių limitų įmonės masto operacijoms, susisiekite su mumis, kad aptartumėte individualius limitus jūsų paskyrai.

Pradėkite naudoti Ave Bulgaria API

Gaukite savo API kredencialus, kad pradėtumėte integraciją

Gaukite savo API raktą