Bulgarian Post API Documentatie
Volledige API referentie voor Bulgarian Post verzendintegratie. Toegang tot boekingen, vrachttarieven, labelgeneratie en tracking via Cargoson's uniforme transportbeheer API.
Vraag uw API-sleutel aanBulgarian Post API Overzicht
Deze API biedt programmatische toegang tot Bulgarian Post verzendservices via Cargoson's uniforme transportbeheerplatform. Integreer Bulgarian Post mogelijkheden inclusief zendingenboekingen, tracking, tariefoffertes en labelgeneratie in uw applicaties.
API Mogelijkheden
- Creëer en beheer Bulgarian Post zendingboekingen
- Zendingtracking en statusupdates
- Vraag vrachttariefoffertes en transittijden op
- Genereer verzendlabels in meerdere formaten (PDF, PNG, ZPL)
- Creëer retourlabels voor retourlogistiek
- Zoek pakketautomaten en afhaalpunten
- Lijst beschikbare vervoerdersdiensten
- Geautomatiseerde koerier ophaalverzoeken
Basis URL & Authenticatie
Basis URL
https://www.cargoson.com/api/v1
Authenticatie
Alle verzoeken moeten uw API-sleutel en de juiste Accept header bevatten:
Authorization: Bearer UW_API_SLEUTEL
Accept: application/vnd.api.v1
Bulgarian Post Boeking API
Cargoson AutomatiseringBulgarian Post biedt geen boeking-API. Cargoson stuurt automatisch boekingsbevestigingen via e-mail namens u, terwijl u nog steeds dezelfde uniforme API-interface gebruikt.
Creëer Bulgarian Post zendingen en verkrijg verzendlabels met behulp van het Queries endpoint. Boekingen worden in real-time naar het systeem van de vervoerder verzonden en labels worden onmiddellijk gegenereerd.
Query vs Directe Boeking
Het Queries endpoint ondersteunt twee boekingsmethoden:
- Query modus - Creëer een transportverzoek zonder (nog) een vervoerder te specificeren. Hierdoor kunt u handmatig vervoerdersprijzen en levertijden vergelijken, nieuwe spot-prijzen aanvragen, aanpassingen/updates aan de zending maken en vervoerdersselectie delegeren aan anderen, voordat u de definitieve vervoerderskeuze maakt in Cargoson.
- Directe boeking - Specificeer een vervoerdersservice-ID (van de Rate of Services API) om direct te boeken bij Bulgarian Post. Dit zorgt ervoor dat uw zending de exacte service gebruikt die u heeft geselecteerd.
Om direct te boeken bij Bulgarian Post, definieer altijd de direct_booking_service_id.
/queries
Creëer een zendingquery of directe boeking voor Bulgarian Post. Voeg direct_booking_service_id toe om een onmiddellijke boeking te maken.
Request Parameters
collection_date
string
required
Ophaaldatum in JJJJ-MM-DD formaat
collection_country
string
required
Ophaallandcode (ISO 3166-1 alpha-2)
collection_postcode
string
required
Ophaalpostcode
collection_address_row_1
string
required
Ophaalstraatadres
collection_city
string
required
Ophaalstad
collection_company_name
string
required
Afzender bedrijfsnaam
collection_contact_name
string
required
Afzender contactpersoon
collection_contact_phone
string
required
Afzender telefoonnummer
delivery_country
string
required
Afleveringslandcode
delivery_postcode
string
required
Afleveringspostcode
delivery_address_row_1
string
required
Afleveringsstraatadres
delivery_city
string
required
Afleveringsstad
delivery_company_name
string
required
Ontvanger bedrijfsnaam
delivery_contact_name
string
required
Ontvanger contactpersoon
delivery_contact_phone
string
required
Ontvanger telefoonnummer
rows_attributes
array
required
Array van pakketten/pallets met hoeveelheid, pakkettype, gewicht en beschrijving
options[direct_booking_service_id]
integer
Bulgarian Post service-ID voor directe boeking
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"
}
Labelgeneratie
Bulgarian Post verzendlabels worden automatisch gegenereerd wanneer u een boeking maakt. Labels zijn beschikbaar in meerdere formaten om verschillende printertypes te ondersteunen.
Ondersteunde Labelformaten
a4 - A4 PDF formaat voor desktopprinters (4 labels per pagina)label_printer - 4x6in (~10x15cm) PDF formaat voor thermische printers
Labels zijn opgenomen in het boekingsantwoord via het label_url veld. Download en print het label van de verstrekte URL na het boeken.
Bulgarian Post Tarief API (Vrachtprijzen)
Cargoson EngineBulgarian Post biedt geen native tarief-API. Cargoson's vrachtprijsengine berekent prijzen met behulp van uw geüploade prijsafspraken, waardoor u dezelfde API-ervaring krijgt als vervoerders met native tarief-API's. U kunt vervoerderstarieven uploaden in elk formaat (Excel, PDF, zelfs handgeschreven prijslijsten) en wij digitaliseren ze.
Verkrijg real-time Bulgarian Post vrachttarieven voordat u boekt. De Rate API retourneert beschikbare services, prijzen en geschatte levertijden.
/freightPrices/list
Verkrijg vrachttariefoffertes van Bulgarian Post en andere geactiveerde vervoerders op uw account.
Request Parameters
collection_date
string
required
Ophaaldatum in JJJJ-MM-DD formaat
collection_country
string
required
Ophaallandcode (ISO 3166-1 alpha-2)
collection_postcode
string
required
Ophaalpostcode
delivery_country
string
required
Afleveringslandcode
delivery_postcode
string
required
Afleveringspostcode
rows_attributes
array
required
Array van pakketten/pallets met hoeveelheid, pakkettype, gewicht en beschrijving
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": "Bulgarian Post EAD",
"reg_no": "121396123",
"id": 4506,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "Bulgarian Post EAD",
"reg_no": "121396123",
"id": 4506,
"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"
}
]
}
}
Bulgarian Post Tracking API
Cargoson AutomatiseringBulgarian Post biedt geen trackinggebeurtenissen via API. Cargoson biedt een trackingportaal waar de vervoerder handmatig de zendingstatus kan bijwerken, waardoor u en uw klanten een consistente trackingervaring krijgen.
Track Bulgarian Post zendingen met behulp van het Cargoson referentienummer. Verkrijg huidige status, locatie-updates en geschatte levertijd.
/bookings/{reference}
Verkrijg trackingdetails voor een Bulgarian Post zending met behulp van de Cargoson boekingsreferentie.
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"
}
Bulgarian Post Retourlabels API
Mogelijk gemaakt door CargosonBulgarian Post ondersteunt native geen retourlabels. Cargoson genereert retourlabels en beheert het retourlogistiekproces via ons platform.
Genereer retourverzendlabels voor Bulgarian Post zendingen. Retourlabels stellen klanten in staat om artikelen terug te sturen met vooruitbetaalde verzending.
/bookings/{reference}/return_labels
Creëer een retourlabel voor een bestaande Bulgarian Post zending.
Request Parameters
label_format
string
Labelformaat: a4 of label_printer (standaard: 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"
}
Retourlabel Functies
- Vooruitbetaalde retourverzendlabels
- Dezelfde formaatopties als uitgaande labels (A4, thermisch)
- Aparte trackingreferentie voor retouren
- Naadloze integratie met Bulgarian Post retourservices
Bulgarian Post Koerierverzoeken
Cargoson AutomatiseringCargoson automatiseert koerier ophaalverzoeken voor Bulgarian Post zendingen, wat één taak minder is om over na te denken.
Hoe Cargoson Koerierverzoeken Afhandelt
Veel verzendvervoerders vereisen dat u labels apart aanmaakt en vervolgens handmatig een koerier ophaling aanvraagt. Anderen hebben geen apart label plus koerier oproepsysteem, en elke zending is een complete, aparte zending. Wij geloven dat er één standaard voor vervoerders-API's zou moeten zijn, maar momenteel creëert elke vervoerder zijn eigen unieke systeem, wat het moeilijk maakt voor hun gebruikers om de eigenaardigheden en complexiteiten van elk systeem te onthouden. Cargoson vereenvoudigt uw koerieroproepen door elke zending holistisch te behandelen: koerierverzoeken worden automatisch beheerd als onderdeel van het boekingsproces.
Slimme Ophaaloptimalisatie
Cargoson optimaliseert koerieroproepen om kosten te verlagen en efficiëntie te verbeteren.
- 1. Batch consolidatie - Meerdere zendingen vanaf dezelfde locatie worden gegroepeerd in één ophaalverzoek
- 2. Vervoerdersspecifieke afhandeling - Sommige vervoerders includeren ophaling in de boeking, anderen vereisen aparte verzoeken. Cargoson handelt beide varianten automatisch voor u af
- 3. Reguliere ophaalschema's - Configureer vooraf geplande ophalingen op specifieke intervallen (bijv. dagelijks bij mijn hoofdmagazijn om 15:00 uur) en Cargoson zal individuele koerieroproepen volledig overslaan
Voordelen
- Geen noodzaak om bij te houden welke vervoerders aparte koerierverzoeken vereisen
- Automatische optimalisatie voorkomt onnodige ophaaloproepen
- Ondersteuning voor reguliere ophaalschema's
- Vereenvoudigde verzendworkflow - maak gewoon de boeking
Configuratie
Koerier ophaalautomatisering is standaard ingeschakeld voor alle Bulgarian Post zendingen. Om reguliere ophaalschema's of aangepaste ophaaloptimalisatieregels te configureren, neem contact op met [email protected].
Bulgarian Post Services API
Cargoson EngineDe Services API is een door Cargoson geleverde functie die een uniforme lijst retourneert van alle beschikbare services van Bulgarian Post en andere vervoerders in uw netwerk. Hierdoor kunt u dynamisch verzendopties aan uw klanten tonen zonder service-ID's hard te coderen.
Verkrijg een lijst van beschikbare Bulgarian Post verzendservices. Gebruik service-ID's bij het maken van directe boekingen om ervoor te zorgen dat u de exacte service krijgt die u wilt.
/services/list
Retourneer lijst van Bulgarian Post services beschikbaar op uw bedrijfsaccount.
Example Response
{
"services": [
{
"carrier": {
"id": 4506,
"name": "Bulgarian Post EAD",
"short_name": "Bulgarian Post",
"reg_no": "121396123"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 4506,
"name": "Bulgarian Post EAD",
"short_name": "Bulgarian Post",
"reg_no": "121396123"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Service-ID's Gebruiken
Service-ID's van dit endpoint kunnen worden gebruikt met de direct_booking_service_id parameter bij het maken van boekingen om de juiste service te selecteren en de zending naar het Bulgarian Post systeem te sturen.
Volledige Codevoorbeelden
Hieronder staan volledige werkende voorbeelden die de volledige workflow tonen: vraag tarieven op, selecteer een service, boek zending en verkrijg trackinginformatie.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for Bulgarian Post
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 bookToBulgarianPost() {
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
bookToBulgarianPost();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_bulgarian_post():
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_bulgarian_post()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToBulgarianPost($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
bookToBulgarianPost($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_bulgarian_post
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_bulgarian_post
Waarom Cargoson API gebruiken voor Bulgarian Post integratie
Direct integreren met Bulgarian Post's native API betekent worstelen met vervoerdersspecifieke documentatie, omgaan met unieke dataformaten en apart onderhouden van code voor elke provider. Cargoson biedt één uniforme RESTful API die Bulgarian Post en 2.000+ vervoerders ondersteunt in Europese en Noord-Amerikaanse markten, met wekelijks nieuwe integraties. We verminderen ontwikkeltijd van maanden naar dagen, handelen vervoerdersupdates automatisch af en beheren regionale uitzonderingen. Met Cargoson richt u zich op het laten groeien van uw bedrijf in plaats van het beheren van technische complexiteiten van vervoerders.
Voordelen van het integreren van Bulgarian Post via Cargoson API
Eén API voor alle vervoerders
Vervang tientallen aparte vervoerdersintegraties met één verbinding naar Bulgarian Post en 2.000+ andere providers via Cargoson API. Geen onderhoud meer van meerdere authenticatiesystemen, omgaan met verschillende dataformaten of updaten van code wanneer vervoerders hun endpoints wijzigen.
Duidelijke documentatie en ondersteuning
Toegang tot eenvoudige API-documentatie met werkende codevoorbeelden, gedetailleerde parameterbeschrijvingen en duidelijk gedefinieerde endpoints. Ons supportteam kent de logistieke industrie en kan u helpen integratie-uitdagingen snel op te lossen.
Codevoorbeelden in meerdere talen
Begin onmiddellijk met kant-en-klare codevoorbeelden in cURL, JavaScript, Python, PHP en Ruby. Kopieer, plak en pas ze aan uw stack aan, geen noodzaak om authenticatie, request formatting of error handling vanaf nul uit te zoeken.
Echte ondersteuning van logistieke experts
Krijg hulp van mensen die verzending begrijpen, niet alleen API's. Of u nu een integratieprobleem aan het oplossen bent of advies nodig heeft over de beste manier om internationale zendingen af te handelen, ons team is er om te helpen.
's Werelds meest geavanceerde vrachtprijsengine
Cargoson's vrachtprijzen API gaat veel verder dan eenvoudige tariefopzoekingen. Onze engine kan elke vervoerdersprijslijst lezen, analyseren en digitaliseren, ongeacht formaat of structuur, waardoor het de krachtigste vrachtprijsbeheeroplossing in de logistieke industrie is.
Universele formaatondersteuning
Onze vrachtprijsengine handelt elk formaat af: gestructureerde Excel-bestanden, complexe PDF's, vrije tekst of zelfs handgeschreven prijslijsten. Upload uw vervoerderscontracten in elk formaat en onze vrachtprijsengine zal de prijsregels, toeslagen en voorwaarden automatisch parseren.
Directe vervoerders API-integratie
Voor vervoerders met moderne systemen (meestal wereldwijde pakketvervoerders en tech-forward vrachtbedrijven) halen we tarieven direct uit hun API's in real-time. Dit zorgt ervoor dat u altijd de meest actuele prijzen krijgt zonder handmatige updates.
Openbare online prijzen
Heeft u nog geen contract met een vervoerder? Geen probleem. Cargoson kan openbare online prijzen van vervoerders ophalen, waardoor u opties kunt vergelijken zelfs voordat u formele overeenkomsten aangaat.
Spot-tariefverzoeken
Voor complexe zendingen of speciale gevallen, vraag spot-tarieven aan waarbij vervoerders uw specifieke vereisten beoordelen en een aangepaste offerte verstrekken. Allemaal beheerd via dezelfde uniforme API.
Bulgarian Post verzend-API: Vereenvoudigde logistieke automatisering
Automatiseer uw fulfillmentproces door Cargoson's Verzend-API te integreren met Bulgarian Post en 2.000+ vervoerders wereldwijd. Creëer verzendlabels, boek ophalingen en beheer al uw vervoerders vanaf één platform terwijl u uw onderhandelde tarieven bij elke provider behoudt.
Geautomatiseerde labelgeneratie
Genereer door vervoerders goedgekeurde verzendlabels in één API-verzoek. Ondersteuning voor meerdere labelformaten (A4, thermische printer) en automatische douanedocumentatie voor internationale zendingen betekent minder handmatig werk en minder verzendfouten.
Real-time tariefvergelijking
Vergelijk live tarieven tussen Bulgarian Post en uw andere geactiveerde vervoerders om de beste optie te kiezen op basis van kosten, snelheid en serviceniveau.
Behoud uw onderhandelde tarieven
Verbind uw bestaande Bulgarian Post account om uw onderhandelde verzendtarieven te behouden. Cargoson biedt simpelweg de technische integratie: u behoudt uw directe vervoerdersrelaties en aangepaste prijsafspraken.
Enterprise-grade beveiliging voor Bulgarian Post API-integratie
Cargoson's API-infrastructuur voldoet aan Europese nalevingsnormen, die veilige, audit-ready Bulgarian Post integratie voor uw bedrijf garanderen:
- AVG-conforme gegevensverwerking en -opslag in heel Europa
- ISO 27001 gecertificeerd informatiebeveiligingsbeheer
- End-to-end encryptie voor alle API-communicatie
Klaar om Bulgarian Post verzending te integreren in uw platform?
Boek een demo om te zien hoe Cargoson's uniforme API uw logistieke operaties kan vereenvoudigen
Boek een DemoInhoudsopgave
Veelgestelde Vragen
Begin met het Gebruiken van de Bulgarian Post API
Verkrijg uw API-inloggegevens om te beginnen met integratie