Smartposti API დოკუმენტაცია
სრული API სახელმძღვანელო Smartposti გადაზიდვის ინტეგრაციისთვის. წვდომა დაჯავშნაზე, ტვირთის ტარიფებზე, ეტიკეტების გენერაციასა და თვალთვალზე Cargoson-ის ერთიანი სატრანსპორტო მართვის API-ის მეშვეობით.
მიიღეთ თქვენი API გასაღებიSmartposti API მიმოხილვა
ეს API უზრუნველყოფს პროგრამულ წვდომას Smartposti გადაზიდვის სერვისებზე Cargoson-ის ერთიანი სატრანსპორტო მართვის პლატფორმის მეშვეობით. ინტეგრირეთ Smartposti შესაძლებლობები, მათ შორის ტვირთის დაჯავშნა, თვალთვალი, ტარიფების შეთავაზებები და ეტიკეტების გენერაცია თქვენს აპლიკაციებში.
API შესაძლებლობები
- შექმენით და მართეთ Smartposti ტვირთის დაჯავშნები
- ტვირთის თვალთვალი და სტატუსის განახლებები
- მიიღეთ ტვირთის ტარიფების შეთავაზებები და ტრანზიტის დრო
- გენერირება გადაზიდვის ეტიკეტების მრავალ ფორმატში (PDF, PNG, ZPL)
- შექმენით დაბრუნების ეტიკეტები საპირისპირო ლოგისტიკისთვის
- მოიძიეთ საამანათე აპარატებისა და გაცემის პუნქტების ადგილმდებარეობები
- ჩამოთვალეთ ხელმისაწვდომი გადამზიდავის სერვისები
- ავტომატიზირებული კურიერის მოთხოვნები
საბაზისო URL და ავთენტიფიკაცია
საბაზისო URL
https://www.cargoson.com/api/v1
ავთენტიფიკაცია
ყველა მოთხოვნა უნდა შეიცავდეს თქვენს API გასაღებს და სწორ Accept header-ს:
Authorization: Bearer თქვენი_API_გასაღები
Accept: application/vnd.api.v1
Smartposti დაჯავშნის API
პირდაპირი გადამზიდავის APIშექმენით Smartposti ტვირთები და მიიღეთ გადაზიდვის ეტიკეტები Queries ენდფოინთის გამოყენებით. დაჯავშნები იგზავნება გადამზიდავის სისტემაში რეალურ დროში და ეტიკეტები გენერირდება დაუყოვნებლივ.
Query vs პირდაპირი დაჯავშნა
Queries ენდფოინთი მხარს უჭერს დაჯავშნის ორ მეთოდს:
- Query რეჟიმი - შექმენით ტრანსპორტის მოთხოვნა გადამზიდავის (ჯერ) მითითების გარეშე. ეს საშუალებას გაძლევთ ხელით შეადაროთ გადამზიდავების ფასები და მიწოდების დრო, მოითხოვოთ ახალი spot ფასები, შეიტანოთ ცვლილებები/განახლებები ტვირთში და დელეგირება გაუკეთოთ გადამზიდავის არჩევანს სხვებზე, სანამ საბოლოო გადამზიდავის არჩევანს გააკეთებთ Cargoson-ში.
- პირდაპირი დაჯავშნა - მიუთითეთ გადამზიდავის სერვისის ID (Rate ან Services API-დან) პირდაპირ Smartposti-თან დასაჯავშნად. ეს უზრუნველყოფს, რომ თქვენი ტვირთი გამოიყენებს ზუსტად იმ სერვისს, რომელიც აირჩიეთ.
პირდაპირ Smartposti-თან დასაჯავშნად, ყოველთვის განსაზღვრეთ direct_booking_service_id.
/queries
შექმენით ტვირთის მოთხოვნა ან პირდაპირი დაჯავშნა Smartposti-თვის. ჩართეთ direct_booking_service_id დაუყოვნებელი დაჯავშნის შესაქმნელად.
Request Parameters
collection_date
string
required
აღების თარიღი YYYY-MM-DD ფორმატში
collection_country
string
required
აღების ქვეყნის კოდი (ISO 3166-1 alpha-2)
collection_postcode
string
required
აღების საფოსტო ინდექსი
collection_address_row_1
string
required
აღების ქუჩის მისამართი
collection_city
string
required
აღების ქალაქი
collection_company_name
string
required
გამგზავნი კომპანიის სახელი
collection_contact_name
string
required
გამგზავნი საკონტაქტო პირი
collection_contact_phone
string
required
გამგზავნის ტელეფონის ნომერი
delivery_country
string
required
მიწოდების ქვეყნის კოდი
delivery_postcode
string
required
მიწოდების საფოსტო ინდექსი
delivery_address_row_1
string
required
მიწოდების ქუჩის მისამართი
delivery_city
string
required
მიწოდების ქალაქი
delivery_company_name
string
required
მიმღები კომპანიის სახელი
delivery_contact_name
string
required
მიმღები საკონტაქტო პირი
delivery_contact_phone
string
required
მიმღების ტელეფონის ნომერი
rows_attributes
array
required
შეფუთვების/პალეტების მასივი რაოდენობით, package_type, წონა და აღწერა
options[direct_booking_service_id]
integer
Smartposti სერვისის ID პირდაპირი დაჯავშნისთვის
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"
}
ეტიკეტების გენერაცია
Smartposti გადაზიდვის ეტიკეტები ავტომატურად გენერირდება დაჯავშნის შექმნისას. ეტიკეტები ხელმისაწვდომია მრავალ ფორმატში სხვადასხვა პრინტერის ტიპების მხარდასაჭერად.
მხარდაჭერილი ეტიკეტის ფორმატები
a4 - A4 PDF ფორმატი დესკტოპ პრინტერებისთვის (4 ეტიკეტი გვერდზე)label_printer - 4x6in (~10x15cm) PDF ფორმატი თერმული პრინტერებისთვის
ეტიკეტები ჩართულია დაჯავშნის პასუხში label_url ველის მეშვეობით. ჩამოტვირთეთ და დაბეჭდეთ ეტიკეტი მოწოდებული URL-დან დაჯავშნის შემდეგ.
Smartposti ტარიფების API (ტვირთის ფასები)
Cargoson-ის ძრავაSmartposti არ უზრუნველყოფს მშობლიურ ტარიფების API-ს. Cargoson-ის ტვირთის ტარიფების ძრავა ითვლის ფასებს თქვენი ატვირთული ფასების შეთანხმებების გამოყენებით, რაც გაძლევთ იმავე API გამოცდილებას, როგორც გადამზიდავებს მშობლიური ტარიფების API-ებით. შეგიძლიათ ატვირთოთ გადამზიდავის ტარიფები ნებისმიერ ფორმატში (Excel, PDF, თუნდაც ხელით დაწერილი ფასების ცხრილები) და ჩვენ გავაციფროვებთ მათ.
მიიღეთ რეალურ დროში Smartposti ტვირთის ტარიფები დაჯავშნამდე. Rate API აბრუნებს ხელმისაწვდომ სერვისებს, ფასებსა და მიწოდების სავარაუდო დროს.
/freightPrices/list
მიიღეთ ტვირთის ტარიფების შეთავაზებები Smartposti-სგან და სხვა გააქტიურებული გადამზიდავებისგან თქვენს ანგარიშზე.
Request Parameters
collection_date
string
required
აღების თარიღი YYYY-MM-DD ფორმატში
collection_country
string
required
აღების ქვეყნის კოდი (ISO 3166-1 alpha-2)
collection_postcode
string
required
აღების საფოსტო ინდექსი
delivery_country
string
required
მიწოდების ქვეყნის კოდი
delivery_postcode
string
required
მიწოდების საფოსტო ინდექსი
rows_attributes
array
required
შეფუთვების/პალეტების მასივი რაოდენობით, package_type, წონა და აღწერა
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": "Smartposti OÜ",
"reg_no": "10891224",
"id": 21,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "Smartposti OÜ",
"reg_no": "10891224",
"id": 21,
"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"
}
]
}
}
Smartposti თვალთვალის API
პირდაპირი გადამზიდავის APIთვალი ადევნეთ Smartposti ტვირთებს Cargoson-ის საცნობარო ნომრის გამოყენებით. მიიღეთ მიმდინარე სტატუსი, ადგილმდებარეობის განახლებები და მიწოდების სავარაუდო დრო.
/bookings/{reference}
მიიღეთ თვალთვალის დეტალები Smartposti ტვირთისთვის Cargoson-ის დაჯავშნის საცნობარო ნომრის გამოყენებით.
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"
}
Smartposti დაბრუნების ეტიკეტების API
უზრუნველყოფილია Cargoson-ის მიერSmartposti არ უჭერს მხარს დაბრუნების ეტიკეტებს მშობლიურად. Cargoson გენერირებს დაბრუნების ეტიკეტებს და მართავს დაბრუნების ლოგისტიკის პროცესს ჩვენი პლატფორმის მეშვეობით.
გენერირება დაბრუნების გადაზიდვის ეტიკეტების Smartposti ტვირთებისთვის. დაბრუნების ეტიკეტები საშუალებას აძლევს მომხმარებლებს დააბრუნონ ნივთები წინასწარ გადახდილი გადაზიდვის გამოყენებით.
/bookings/{reference}/return_labels
შექმენით დაბრუნების ეტიკეტი არსებული Smartposti ტვირთისთვის.
Request Parameters
label_format
string
ეტიკეტის ფორმატი: a4 ან label_printer (ნაგულისხმევი: 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"
}
დაბრუნების ეტიკეტის ფუნქციები
- წინასწარ გადახდილი დაბრუნების გადაზიდვის ეტიკეტები
- იგივე ფორმატის ვარიანტები, როგორც გამავალ ეტიკეტებზე (A4, თერმული)
- ცალკე თვალთვალის საცნობარო დაბრუნებისთვის
- უწყვეტი ინტეგრაცია Smartposti დაბრუნების სერვისებთან
Smartposti კურიერის მოთხოვნები
Cargoson-ის ავტომატიზაციაCargoson ავტომატიზებს კურიერის აღების მოთხოვნებს Smartposti ტვირთებისთვის, რაც ხდის ერთი ამოცანით ნაკლებს, რაზეც უნდა იფიქროთ.
როგორ ამუშავებს Cargoson კურიერის მოთხოვნებს
ბევრი გადაზიდვის გადამზიდავი მოითხოვს, რომ ცალკე შექმნათ ეტიკეტები და შემდეგ ხელით მოითხოვოთ კურიერის აღება. სხვებს არ აქვთ ცალკე ეტიკეტისა და კურიერის ზარის სისტემა და თითოეული ტვირთი არის სრული, ცალკე ტვირთი. ჩვენ გვჯერა, რომ უნდა იყოს გადამზიდავის API-ების ერთიანი სტანდარტი, მაგრამ ამჟამად თითოეული გადამზიდავი ქმნის საკუთარ უნიკალურ სისტემას, რაც ართულებს მათი მომხმარებლებისთვის თითოეულის თავისებურებებისა და სირთულეების დამახსოვრებას. Cargoson ამარტივებს თქვენს კურიერის ზარებს, თითოეულ ტვირთს მთლიანად განიხილავს: კურიერის მოთხოვნები ავტომატურად იმართება დაჯავშნის პროცესის ნაწილად.
ჭკვიანური აღების ოპტიმიზაცია
Cargoson ოპტიმიზებს კურიერის ზარებს ხარჯების შესამცირებლად და ეფექტურობის გასაუმჯობესებლად.
- 1. პარტიის კონსოლიდაცია - მრავალი ტვირთი ერთი ადგილიდან ჯგუფდება ერთ აღების მოთხოვნაში
- 2. გადამზიდავზე სპეციფიკური დამუშავება - ზოგიერთი გადამზიდავი მოიცავს აღებას დაჯავშნაში, სხვები მოითხოვენ ცალკე მოთხოვნებს. Cargoson ავტომატურად ამუშავებს ორივე ვარიანტს თქვენთვის
- 3. რეგულარული აღების განრიგები - კონფიგურირება წინასწარ დაგეგმილი აღებების კონკრეტულ ინტერვალებში (მაგ., ყოველდღე ჩემს მთავარ საწყობში 3 საათზე) და Cargoson სრულიად გამოტოვებს ინდივიდუალურ კურიერის ზარებს
უპირატესობები
- არ არის საჭირო თვალი ადევნოთ, რომელი გადამზიდავები მოითხოვენ ცალკე კურიერის მოთხოვნებს
- ავტომატური ოპტიმიზაცია თავიდან აიცილებს ზედმეტ აღების ზარებს
- რეგულარული აღების განრიგების მხარდაჭერა
- გამარტივებული გადაზიდვის სამუშაო პროცესი - უბრალოდ შექმენით დაჯავშნა
კონფიგურაცია
კურიერის აღების ავტომატიზაცია ნაგულისხმევად ჩართულია ყველა Smartposti ტვირთისთვის. რეგულარული აღების განრიგების ან მორგებული აღების ოპტიმიზაციის წესების კონფიგურაციისთვის დაუკავშირდით [email protected].
Smartposti საამანათე აპარატების API
პირდაპირი გადამზიდავის APIმოიძიეთ ხელმისაწვდომი Smartposti საამანათე სკივრებისა და გაცემის პუნქტების ადგილმდებარეობები. გამოიყენეთ ეს ენდფოინთი მომხმარებლებისთვის ახლომდებარე საამანათე აპარატების სიის საჩვენებლად შესყიდვის დროს.
/parcelMachines
მოძებნეთ Smartposti საამანათე აპარატები და გაცემის პუნქტები ადგილმდებარეობის ან საფოსტო ინდექსის მიხედვით.
Request Parameters
country
string
required
ქვეყნის კოდი (ISO 3166-1 alpha-2)
postcode
string
ფილტრი საფოსტო ინდექსით
carrier_id
integer
ფილტრი კონკრეტული გადამზიდავით
reference
string
იპოვეთ კონკრეტული საამანათე აპარატი საცნობარო ნომრით
Example Response
{
"parcel_machines": [
{
"id": 123,
"reference": "PM12345",
"name": "Parcel Locker - Hauptstraße",
"carrier_id": 21,
"carrier_name": "Smartposti OÜ",
"address_row_1": "Hauptstraße 123",
"city": "Berlin",
"postcode": "10115",
"country": "DE",
"latitude": 52.52,
"longitude": 13.405
}
]
}
Smartposti სერვისების API
Cargoson-ის ძრავასერვისების API არის Cargoson-ის მიერ მოწოდებული ფუნქცია, რომელიც აბრუნებს ერთიან სიას ყველა ხელმისაწვდომი სერვისისა Smartposti-სგან და სხვა გადამზიდავებისგან თქვენს ქსელში. ეს საშუალებას გაძლევთ დინამიურად აჩვენოთ გადაზიდვის ვარიანტები თქვენს მომხმარებლებს სერვისის ID-ების ჰარდკოდირების გარეშე.
მიიღეთ ხელმისაწვდომი Smartposti გადაზიდვის სერვისების სია. გამოიყენეთ სერვისის ID-ები პირდაპირი დაჯავშნების განხორციელებისას, რათა დარწმუნდეთ, რომ მიიღებთ ზუსტად იმ სერვისს, რომელიც გსურთ.
/services/list
დააბრუნეთ Smartposti სერვისების სია, რომლებიც ხელმისაწვდომია თქვენი კომპანიის ანგარიშზე.
Example Response
{
"services": [
{
"carrier": {
"id": 21,
"name": "Smartposti OÜ",
"short_name": "Smartposti",
"reg_no": "10891224"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 21,
"name": "Smartposti OÜ",
"short_name": "Smartposti",
"reg_no": "10891224"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
სერვისის ID-ების გამოყენება
ამ ენდფოინთიდან სერვისის ID-ები შეიძლება გამოყენებულ იქნას direct_booking_service_id პარამეტრთან დაჯავშნების შექმნისას სწორი სერვისის ასარჩევად და ტვირთის Smartposti სისტემაში გასაგზავნად.
სრული კოდის მაგალითები
ქვემოთ მოცემულია სრული მუშა მაგალითები, რომლებიც აჩვენებენ სრულ სამუშაო პროცესს: მიიღეთ ტარიფები, აირჩიეთ სერვისი, დაჯავშნეთ ტვირთი და ამოიღეთ თვალთვალის ინფორმაცია.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for Smartposti
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 bookToSmartposti() {
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
bookToSmartposti();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_smartposti():
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_smartposti()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToSmartposti($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
bookToSmartposti($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_smartposti
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_smartposti
რატომ გამოიყენოთ Cargoson API Smartposti ინტეგრაციისთვის
პირდაპირ Smartposti-ის მშობლიურ API-სთან ინტეგრაცია ნიშნავს გადამზიდავზე სპეციფიკურ დოკუმენტაციასთან ბრძოლას, უნიკალური მონაცემთა ფორმატების დამუშავებას და ცალკე კოდის შენარჩუნებას თითოეული პროვაიდერისთვის. Cargoson გთავაზობთ ერთ ერთიან RESTful API-ს, რომელიც მხარს უჭერს Smartposti-ს და 2,000+ გადამზიდავს ევროპისა და ჩრდილოეთ ამერიკის ბაზრებზე, ახალი ინტეგრაციები ემატება ყოველკვირეულად. ჩვენ ვამცირებთ განვითარების დროს თვეებიდან დღეებამდე, ავტომატურად ვამუშავებთ გადამზიდავის განახლებებს და ვმართავთ რეგიონულ გამონაკლისებს. Cargoson-ით თქვენ ფოკუსირდებით თქვენი ბიზნესის ზრდაზე, ნაცვლად გადამზიდავის ტექნიკური სირთულეების მართვისა.
Smartposti ინტეგრაციის უპირატესობები Cargoson API-ის მეშვეობით
ერთი API ყველა გადამზიდავისთვის
შეცვალეთ ათობით ცალკე გადამზიდავის ინტეგრაცია ერთი კავშირით Smartposti-თან და 2,000+ სხვა პროვაიდერთან Cargoson API-ის მეშვეობით. აღარ გჭირდებათ მრავალი ავთენტიფიკაციის სისტემის შენარჩუნება, სხვადასხვა მონაცემთა ფორმატების დამუშავება ან კოდის განახლება, როდესაც გადამზიდავები ცვლიან თავიანთ ენდფოინთებს.
მკაფიო დოკუმენტაცია და მხარდაჭერა
წვდომა გასაგებ API დოკუმენტაციაზე მუშა კოდის მაგალითებით, დეტალური პარამეტრების აღწერებით და მკაფიოდ განსაზღვრული ენდფოინთებით. ჩვენი მხარდაჭერის გუნდი იცნობს ლოგისტიკის ინდუსტრიას და შეგიძლიათ დაგეხმაროთ ინტეგრაციის გამოწვევების სწრაფად გადაჭრაში.
კოდის მაგალითები მრავალ ენაზე
დაიწყეთ დაუყოვნებლივ გამოსაყენებლად მზა კოდის მაგალითებით cURL, JavaScript, Python, PHP და Ruby-ში. დააკოპირეთ, ჩასვით და მოარგეთ ისინი თქვენს სტეკს, არ არის საჭირო ავთენტიფიკაციის, მოთხოვნის ფორმატირების ან შეცდომების დამუშავების ნულიდან გამოგონება.
რეალური მხარდაჭერა ლოგისტიკის ექსპერტებისგან
მიიღეთ დახმარება ადამიანებისგან, რომლებიც ესმით გადაზიდვა, არა მხოლოდ API-ები. იქნება ეს ინტეგრაციის პრობლემის აღმოფხვრა თუ რჩევა საერთაშორისო ტვირთების დამუშავების საუკეთესო გზის შესახებ, ჩვენი გუნდი აქ არის დასახმარებლად.
მსოფლიოში ყველაზე მოწინავე ტვირთის ფასების ძრავა
Cargoson-ის ტვირთის ფასების API გაცილებით მეტია, ვიდრე მარტივი ტარიფების ძიება. ჩვენი ძრავა შეუძლია წაიკითხოს, გააანალიზოს და გააციფროს ნებისმიერი გადამზიდავის ფასების ცხრილი ფორმატის ან სტრუქტურის მიუხედავად, რაც მას ხდის ლოგისტიკის ინდუსტრიაში ტვირთის ტარიფების მართვის ყველაზე ძლიერ გადაწყვეტად.
უნივერსალური ფორმატის მხარდაჭერა
ჩვენი ტვირთის ფასების ძრავა ამუშავებს ნებისმიერ ფორმატს: სტრუქტურირებული Excel ფაილები, რთული PDF-ები, თავისუფალი ტექსტი ან თუნდაც ხელით დაწერილი ფასების ცხრილები. ატვირთეთ თქვენი გადამზიდავის კონტრაქტები ნებისმიერ ფორმატში და ჩვენი ტვირთის ტარიფების ძრავა ავტომატურად გაანალიზებს ფასების წესებს, დამატებით გადასახადებსა და პირობებს.
პირდაპირი გადამზიდავის API ინტეგრაცია
თანამედროვე სისტემების მქონე გადამზიდავებისთვის (ჩვეულებრივ გლობალური საამანათე გადამზიდავები და ტექნოლოგიურად მოწინავე ტვირთის კომპანიები), ჩვენ ვიღებთ ტარიფებს პირდაპირ მათი API-ებიდან რეალურ დროში. ეს უზრუნველყოფს, რომ ყოველთვის მიიღებთ ყველაზე აქტუალურ ფასებს ხელით განახლების გარეშე.
საჯარო ონლაინ ფასები
ჯერ არ გაქვთ კონტრაქტი გადამზიდავთან? არა პრობლემა. Cargoson-ს შეუძლია ამოიღოს საჯარო ონლაინ ფასები გადამზიდავებისგან, რაც საშუალებას გაძლევთ შეადაროთ ვარიანტები ფორმალური შეთანხმებების დადებამდეც კი.
Spot ტარიფების მოთხოვნები
რთული ტვირთებისთვის ან სპეციალური შემთხვევებისთვის, მოითხოვეთ spot ტარიფები, სადაც გადამზიდავები განიხილავენ თქვენს კონკრეტულ მოთხოვნებს და უზრუნველყოფენ მორგებულ შეთავაზებას. ყველაფერი იმართება იმავე ერთიანი API-ის მეშვეობით.
Smartposti გადაზიდვის API: გამარტივებული ლოგისტიკის ავტომატიზაცია
ავტომატიზირება თქვენი შესრულების პროცესის Cargoson-ის გადაზიდვის API-ის ინტეგრირებით Smartposti-თან და 2,000+ გადამზიდავთან მთელ მსოფლიოში. შექმენით გადაზიდვის ეტიკეტები, დაჯავშნეთ აღებები და მართეთ ყველა თქვენი გადამზიდავი ერთი პლატფორმიდან, ხოლო შეინარჩუნეთ თქვენი მოლაპარაკებული ტარიფები თითოეულ პროვაიდერთან.
ავტომატიზირებული ეტიკეტების გენერაცია
გენერირება გადამზიდავის მიერ დამტკიცებული გადაზიდვის ეტიკეტების ერთი API მოთხოვნით. მხარდაჭერა მრავალი ეტიკეტის ფორმატისთვის (A4, თერმული პრინტერი) და ავტომატური საბაჟო დოკუმენტაცია საერთაშორისო ტვირთებისთვის ნიშნავს ნაკლებ ხელით მუშაობას და ნაკლებ გადაზიდვის შეცდომებს.
რეალურ დროში ტარიფების შედარება
შეადარეთ ცოცხალი ტარიფები Smartposti-სა და თქვენს სხვა გააქტიურებულ გადამზიდავებს შორის საუკეთესო ვარიანტის ასარჩევად ღირებულების, სიჩქარისა და სერვისის დონის საფუძველზე.
შეინარჩუნეთ თქვენი მოლაპარაკებული ტარიფები
დააკავშირეთ თქვენი არსებული Smartposti ანგარიში თქვენი მოლაპარაკებული გადაზიდვის ტარიფების შესანარჩუნებლად. Cargoson უბრალოდ უზრუნველყოფს ტექნიკურ ინტეგრაციას: თქვენ ინარჩუნებთ თქვენს პირდაპირ გადამზიდავებთან ურთიერთობებს და მორგებული ფასების შეთანხმებებს.
საწარმოს დონის უსაფრთხოება Smartposti API ინტეგრაციისთვის
Cargoson-ის API ინფრასტრუქტურა აკმაყოფილებს ევროპულ შესაბამისობის სტანდარტებს, რაც უზრუნველყოფს უსაფრთხო, აუდიტისთვის მზა Smartposti ინტეგრაციას თქვენი ბიზნესისთვის:
- GDPR-თან შესაბამისი მონაცემთა დამუშავება და შენახვა მთელ ევროპაში
- ISO 27001 სერტიფიცირებული ინფორმაციის უსაფრთხოების მართვა
- ბოლომდე დაშიფვრა ყველა API კომუნიკაციისთვის
მზად ხართ ინტეგრირება Smartposti გადაზიდვა თქვენს პლატფორმაში?
დაჯავშნეთ დემო, რომ ნახოთ როგორ შეუძლია Cargoson-ის ერთიან API-ს გაამარტივოს თქვენი ლოგისტიკის ოპერაციები
დაჯავშნეთ დემოსარჩევი
ხშირად დასმული კითხვები
დაიწყეთ Smartposti API-ის გამოყენება
მიიღეთ თქვენი API რწმუნებათა სიგელები ინტეგრაციის დასაწყებად