Hub Solution API Dokümantasyonu
Hub Solution gönderim entegrasyonu için eksiksiz API referansı. Cargoson'un birleşik taşımacılık yönetim API'si üzerinden rezervasyon, navlun fiyatları, etiket oluşturma ve takibe erişin.
API Anahtarınızı AlınHub Solution API Genel Bakış
Bu API, Cargoson'un birleşik taşımacılık yönetim platformu üzerinden Hub Solution gönderim hizmetlerine programatik erişim sağlar. Sevkiyat rezervasyonu, takip, fiyat teklifleri ve etiket oluşturma dahil Hub Solution yeteneklerini uygulamalarınıza entegre edin.
API Yetenekleri
- Hub Solution sevkiyat rezervasyonları oluşturun ve yönetin
- Sevkiyat takibi ve durum güncellemeleri
- Navlun fiyat teklifleri ve transit süreleri alın
- Birden fazla formatta gönderim etiketleri oluşturun (PDF, PNG, ZPL)
- Tersine lojistik için iade etiketleri oluşturun
- Paket makinesi ve teslim alma noktası konumlarını sorgulayın
- Mevcut taşıyıcı hizmetlerini listeleyin
- Otomatik kurye toplama talepleri
Temel URL ve Kimlik Doğrulama
Temel URL
https://www.cargoson.com/api/v1
Kimlik Doğrulama
Tüm istekler API anahtarınızı ve doğru Accept başlığını içermelidir:
Authorization: Bearer API_ANAHTARINIZ
Accept: application/vnd.api.v1
Hub Solution Rezervasyon API'si
Cargoson OtomasyonuHub Solution bir rezervasyon API'si sağlamaz. Cargoson, aynı birleşik API arayüzünü kullanırken sizin adınıza otomatik olarak e-posta yoluyla rezervasyon onayları gönderir.
Queries endpoint'ini kullanarak Hub Solution sevkiyatları oluşturun ve gönderim etiketlerini alın. Rezervasyonlar gerçek zamanlı olarak taşıyıcının sistemine gönderilir ve etiketler anında oluşturulur.
Sorgu ve Doğrudan Rezervasyon
Queries endpoint'i iki rezervasyon yöntemini destekler:
- Sorgu modu - Henüz bir taşıyıcı belirtmeden bir taşıma talebi oluşturun. Bu, taşıyıcı fiyatlarını ve teslimat sürelerini manuel olarak karşılaştırmanıza, yeni spot fiyatlar talep etmenize, sevkiyatta ayarlamalar/güncellemeler yapmanıza ve Cargoson'da nihai taşıyıcı seçimini yapmadan önce taşıyıcı seçimini başkalarına devretmenize olanak tanır.
- Doğrudan rezervasyon - Doğrudan Hub Solution ile rezervasyon yapmak için bir taşıyıcı hizmet kimliği (Rate veya Services API'sinden) belirtin. Bu, sevkiyatınızın seçtiğiniz tam hizmeti kullanmasını sağlar.
Doğrudan Hub Solution ile rezervasyon yapmak için her zaman direct_booking_service_id tanımlayın.
/queries
Hub Solution için bir sevkiyat sorgusu veya doğrudan rezervasyon oluşturun. Anında rezervasyon oluşturmak için direct_booking_service_id ekleyin.
Request Parameters
collection_date
string
required
YYYY-AA-GG formatında toplama tarihi
collection_country
string
required
Toplama ülke kodu (ISO 3166-1 alpha-2)
collection_postcode
string
required
Toplama posta kodu
collection_address_row_1
string
required
Toplama sokak adresi
collection_city
string
required
Toplama şehri
collection_company_name
string
required
Gönderen şirket adı
collection_contact_name
string
required
Gönderen iletişim kişisi
collection_contact_phone
string
required
Gönderen telefon numarası
delivery_country
string
required
Teslimat ülke kodu
delivery_postcode
string
required
Teslimat posta kodu
delivery_address_row_1
string
required
Teslimat sokak adresi
delivery_city
string
required
Teslimat şehri
delivery_company_name
string
required
Alıcı şirket adı
delivery_contact_name
string
required
Alıcı iletişim kişisi
delivery_contact_phone
string
required
Alıcı telefon numarası
rows_attributes
array
required
Miktar, paket_türü, ağırlık ve açıklama içeren paketler/paletler dizisi
options[direct_booking_service_id]
integer
Doğrudan rezervasyon için Hub Solution hizmet kimliği
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"
}
Etiket Oluşturma
Hub Solution gönderim etiketleri, rezervasyon oluşturduğunuzda otomatik olarak oluşturulur. Etiketler, farklı yazıcı türlerini desteklemek için birden fazla formatta mevcuttur.
Desteklenen Etiket Formatları
a4 - Masaüstü yazıcılar için A4 PDF formatı (sayfa başına 4 etiket)label_printer - Termal yazıcılar için 4x6in (~10x15cm) PDF formatı
Etiketler, label_url alanı aracılığıyla rezervasyon yanıtına dahil edilir. Rezervasyondan sonra sağlanan URL'den etiketi indirin ve yazdırın.
Hub Solution Fiyat API'si (Navlun Fiyatlandırması)
Cargoson MotoruHub Solution yerel bir fiyat API'si sağlamaz. Cargoson'un navlun fiyat motoru, yüklediğiniz fiyat anlaşmalarınızı kullanarak fiyatları hesaplar ve size yerel fiyat API'leri olan taşıyıcılarla aynı API deneyimini sağlar. Taşıyıcı fiyatlarını herhangi bir formatta (Excel, PDF, hatta el yazısı fiyat listeleri) yükleyebilirsiniz ve biz bunları dijitalleştiririz.
Rezervasyon yapmadan önce gerçek zamanlı Hub Solution navlun fiyatları alın. Rate API, mevcut hizmetleri, fiyatları ve tahmini teslimat sürelerini döndürür.
/freightPrices/list
Hub Solution ve hesabınızda etkinleştirilen diğer taşıyıcılardan navlun fiyat teklifleri alın.
Request Parameters
collection_date
string
required
YYYY-AA-GG formatında toplama tarihi
collection_country
string
required
Toplama ülke kodu (ISO 3166-1 alpha-2)
collection_postcode
string
required
Toplama posta kodu
delivery_country
string
required
Teslimat ülke kodu
delivery_postcode
string
required
Teslimat posta kodu
rows_attributes
array
required
Miktar, paket_türü, ağırlık ve açıklama içeren paketler/paletler dizisi
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": "Hub Solution OÜ",
"reg_no": "11548327",
"id": 347,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "Hub Solution OÜ",
"reg_no": "11548327",
"id": 347,
"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"
}
]
}
}
Hub Solution Takip API'si
Cargoson OtomasyonuHub Solution API aracılığıyla takip olayları sağlamaz. Cargoson, taşıyıcının sevkiyat durumunu manuel olarak güncelleyebileceği bir takip portalı sağlar, size ve müşterilerinize tutarlı bir takip deneyimi sunar.
Cargoson referans numarasını kullanarak Hub Solution sevkiyatlarını takip edin. Mevcut durum, konum güncellemeleri ve tahmini teslimat süresini alın.
/bookings/{reference}
Cargoson rezervasyon referansını kullanarak bir Hub Solution sevkiyatı için takip ayrıntılarını alın.
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"
}
Hub Solution İade Etiketleri API'si
Cargoson DestekliHub Solution yerel olarak iade etiketlerini desteklemez. Cargoson, iade etiketleri oluşturur ve iade lojistik sürecini platformumuz aracılığıyla yönetir.
Hub Solution sevkiyatları için iade gönderim etiketleri oluşturun. İade etiketleri, müşterilerin ön ödemeli gönderim kullanarak ürünleri geri göndermesine olanak tanır.
/bookings/{reference}/return_labels
Mevcut bir Hub Solution sevkiyatı için iade etiketi oluşturun.
Request Parameters
label_format
string
Etiket formatı: a4 veya label_printer (varsayılan: 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"
}
İade Etiketi Özellikleri
- Ön ödemeli iade gönderim etiketleri
- Giden etiketlerle aynı format seçenekleri (A4, termal)
- İadeler için ayrı takip referansı
- Hub Solution iade hizmetleriyle sorunsuz entegrasyon
Hub Solution Kurye Talepleri
Cargoson OtomasyonuCargoson, Hub Solution sevkiyatları için kurye toplama taleplerini otomatikleştirir, bu da düşünmeniz gereken bir görev daha az olduğu anlamına gelir.
Cargoson Kurye Taleplerini Nasıl Yönetir
Birçok gönderim taşıyıcısı, etiketleri ayrı olarak oluşturmanızı ve ardından manuel olarak kurye toplamasını talep etmenizi gerektirir. Diğerlerinin ayrı bir etiket artı kurye çağrı sistemi yoktur ve her sevkiyat eksiksiz, ayrı bir sevkiyattır. Taşıyıcı API'lerinin tek bir standardı olması gerektiğine inanıyoruz, ancak şu anda her taşıyıcı kendi benzersiz sistemini oluşturuyor, bu da kullanıcıların her birinin tuhaflıklarını ve inceliklerini hatırlamasını zorlaştırıyor. Cargoson, her sevkiyatı bütünsel olarak ele alarak kurye çağrılarınızı basitleştirir: kurye talepleri, rezervasyon sürecinin bir parçası olarak otomatik olarak yönetilir.
Akıllı Toplama Optimizasyonu
Cargoson, maliyetleri azaltmak ve verimliliği artırmak için kurye çağrılarını optimize eder.
- 1. Toplu konsolidasyon - Aynı konumdan birden fazla sevkiyat tek bir toplama talebinde gruplandırılır
- 2. Taşıyıcıya özel işleme - Bazı taşıyıcılar rezervasyona toplamayı dahil eder, diğerleri ayrı talepler gerektirir. Cargoson her iki varyantı da sizin için otomatik olarak yönetir
- 3. Düzenli toplama programları - Belirli aralıklarla önceden planlanmış toplamaları yapılandırın (örn. ana depoma her gün saat 15:00'te) ve Cargoson bireysel kurye çağrılarını tamamen atlayacaktır
Faydalar
- Hangi taşıyıcıların ayrı kurye talepleri gerektirdiğini takip etmeye gerek yok
- Otomatik optimizasyon gereksiz toplama çağrılarını önler
- Düzenli toplama programları desteği
- Basitleştirilmiş gönderim iş akışı - sadece rezervasyon oluşturun
Yapılandırma
Kurye toplama otomasyonu, tüm Hub Solution sevkiyatları için varsayılan olarak etkindir. Düzenli toplama programlarını veya özel toplama optimizasyon kurallarını yapılandırmak için [email protected] ile iletişime geçin.
Hub Solution Hizmetler API'si
Cargoson MotoruHizmetler API'si, Hub Solution ve ağınızdaki diğer taşıyıcılardan mevcut tüm hizmetlerin birleşik bir listesini döndüren Cargoson tarafından sağlanan bir özelliktir. Bu, hizmet kimliklerini sabit kodlamadan müşterilerinize dinamik olarak gönderim seçenekleri görüntülemenize olanak tanır.
Mevcut Hub Solution gönderim hizmetlerinin listesini alın. İstediğiniz tam hizmeti aldığınızdan emin olmak için doğrudan rezervasyon yaparken hizmet kimliklerini kullanın.
/services/list
Şirket hesabınızda mevcut olan Hub Solution hizmetlerinin listesini döndürün.
Example Response
{
"services": [
{
"carrier": {
"id": 347,
"name": "Hub Solution OÜ",
"short_name": "Hub Solution",
"reg_no": "11548327"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 347,
"name": "Hub Solution OÜ",
"short_name": "Hub Solution",
"reg_no": "11548327"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Hizmet Kimliklerini Kullanma
Bu endpoint'ten alınan hizmet kimlikleri, doğru hizmeti seçmek ve sevkiyatı Hub Solution sistemine göndermek için rezervasyon oluştururken direct_booking_service_id parametresi ile kullanılabilir.
Eksiksiz Kod Örnekleri
Aşağıda tam iş akışını gösteren eksiksiz çalışan örnekler bulunmaktadır: fiyatları alın, bir hizmet seçin, sevkiyat rezervasyonu yapın ve takip bilgilerini çıkarın.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for Hub Solution
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 bookToHubSolution() {
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
bookToHubSolution();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_hub_solution():
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_hub_solution()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToHubSolution($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
bookToHubSolution($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_hub_solution
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_hub_solution
Hub Solution entegrasyonu için neden Cargoson API kullanmalısınız
Doğrudan Hub Solution'ın yerel API'si ile entegrasyon, taşıyıcıya özel dokümantasyonla uğraşmak, benzersiz veri formatlarını işlemek ve her sağlayıcı için ayrı kod sürdürmek anlamına gelir. Cargoson, Avrupa ve Kuzey Amerika pazarlarında Hub Solution ve 2.000'den fazla taşıyıcıyı destekleyen tek bir birleşik RESTful API sunar ve her hafta yeni entegrasyonlar eklenir. Geliştirme süresini aylardan günlere indiririz, taşıyıcı güncellemelerini otomatik olarak yönetiriz ve bölgesel istisnaları ele alırız. Cargoson ile, taşıyıcı teknik karmaşıklıklarını yönetmek yerine işinizi büyütmeye odaklanırsınız.
Hub Solution'ı Cargoson API üzerinden entegre etmenin faydaları
Tüm taşıyıcılar için tek API
Düzinelerce ayrı taşıyıcı entegrasyonunu, Cargoson API aracılığıyla Hub Solution ve 2.000'den fazla diğer sağlayıcıya tek bir bağlantıyla değiştirin. Artık birden fazla kimlik doğrulama sistemini sürdürmeye, farklı veri formatlarını işlemeye veya taşıyıcılar endpoint'lerini değiştirdiğinde kodu güncellemeye gerek yok.
Net dokümantasyon ve destek
Çalışan kod örnekleri, ayrıntılı parametre açıklamaları ve açıkça tanımlanmış endpoint'lerle anlaşılır API dokümantasyonuna erişin. Destek ekibimiz lojistik sektörünü bilir ve entegrasyon zorluklarını hızlı bir şekilde çözmenize yardımcı olabilir.
Birden fazla dilde kod örnekleri
cURL, JavaScript, Python, PHP ve Ruby'de kullanıma hazır kod örnekleriyle hemen başlayın. Bunları kopyalayın, yapıştırın ve yığınınıza uyarlayın, kimlik doğrulama, istek biçimlendirme veya hata işlemeyi sıfırdan çözmenize gerek yok.
Lojistik uzmanlarından gerçek destek
Sadece API'leri değil, gönderimi anlayan insanlardan yardım alın. İster bir entegrasyon sorununu gideriyor olun ister uluslararası sevkiyatları ele almanın en iyi yolu hakkında tavsiyeye ihtiyacınız olsun, ekibimiz yardım etmek için burada.
Dünyanın en gelişmiş navlun fiyatlandırma motoru
Cargoson'un navlun fiyatlandırma API'si basit fiyat aramalarının çok ötesine geçer. Motorumuz, format veya yapıdan bağımsız olarak herhangi bir taşıyıcı fiyat listesini okuyabilir, analiz edebilir ve dijitalleştirebilir, bu da onu lojistik sektöründeki en güçlü navlun fiyat yönetim çözümü yapar.
Evrensel format desteği
Navlun fiyatlandırma motorumuz her formatı işler: yapılandırılmış Excel dosyaları, karmaşık PDF'ler, serbest metin veya hatta el yazısı fiyat listeleri. Taşıyıcı sözleşmelerinizi herhangi bir formatta yükleyin ve navlun fiyat motorumuz fiyatlandırma kurallarını, ek ücretleri ve koşulları otomatik olarak ayrıştıracaktır.
Doğrudan taşıyıcı API entegrasyonu
Modern sistemlere sahip taşıyıcılar için (genellikle küresel paket taşıyıcıları ve teknoloji odaklı navlun şirketleri), fiyatları doğrudan API'lerinden gerçek zamanlı olarak çekeriz. Bu, manuel güncellemeler olmadan her zaman en güncel fiyatlandırmayı almanızı sağlar.
Halka açık çevrimiçi fiyatlar
Henüz bir taşıyıcıyla sözleşmeniz yok mu? Sorun değil. Cargoson, taşıyıcılardan halka açık çevrimiçi fiyatları çekebilir, resmi anlaşmalar kurmadan önce bile seçenekleri karşılaştırmanıza olanak tanır.
Spot fiyat talepleri
Karmaşık sevkiyatlar veya özel durumlar için, taşıyıcıların özel gereksinimlerinizi incelediği ve özel bir teklif sunduğu spot fiyatlar talep edin. Tümü aynı birleşik API üzerinden yönetilir.
Hub Solution gönderim API'si: Basitleştirilmiş lojistik otomasyonu
Cargoson'un Gönderim API'sini Hub Solution ve dünya çapında 2.000'den fazla taşıyıcıyla entegre ederek yerine getirme sürecinizi otomatikleştirin. Gönderim etiketleri oluşturun, toplamaları rezerve edin ve her sağlayıcıyla müzakere edilmiş fiyatlarınızı korurken tüm taşıyıcılarınızı tek bir platformdan yönetin.
Otomatik etiket oluşturma
Tek bir API isteğinde taşıyıcı onaylı gönderim etiketleri oluşturun. Birden fazla etiket formatı (A4, termal yazıcı) ve uluslararası sevkiyatlar için otomatik gümrük belgeleri desteği, daha az manuel çalışma ve daha az gönderim hatası anlamına gelir.
Gerçek zamanlı fiyat karşılaştırması
Maliyet, hız ve hizmet düzeyine göre en iyi seçeneği seçmek için Hub Solution ve diğer etkinleştirilmiş taşıyıcılarınız arasında canlı fiyatları karşılaştırın.
Müzakere edilmiş fiyatlarınızı koruyun
Müzakere edilmiş gönderim fiyatlarınızı korumak için mevcut Hub Solution hesabınızı bağlayın. Cargoson sadece teknik entegrasyonu sağlar: doğrudan taşıyıcı ilişkilerinizi ve özel fiyatlandırma anlaşmalarınızı korursunuz.
Hub Solution API entegrasyonu için kurumsal düzeyde güvenlik
Cargoson'un API altyapısı, işletmeniz için güvenli, denetlenmeye hazır Hub Solution entegrasyonunu sağlayan Avrupa uyumluluk standartlarını karşılar:
- Avrupa genelinde GDPR uyumlu veri işleme ve depolama
- ISO 27001 sertifikalı bilgi güvenliği yönetimi
- Tüm API iletişimleri için uçtan uca şifreleme
Hub Solution gönderimini platformunuza entegre etmeye hazır mısınız?
Cargoson'un birleşik API'sinin lojistik operasyonlarınızı nasıl basitleştirebileceğini görmek için bir demo rezerve edin
Demo Rezerve Etİçindekiler
Sık Sorulan Sorular
Hub Solution API'sini Kullanmaya Başlayın
Entegrasyona başlamak için API kimlik bilgilerinizi alın