UPS AT API dokumentācija

Integrēts REST API

Pilnīga API dokumentācija UPS AT piegāžu integrācijai. Piekļūstiet rezervācijām, kravas cenām, etiķešu ģenerēšanai un izsekošanai caur Cargoson vienoto transporta vadības API.

Saņemiet savu API atslēgu

UPS AT un 2000+ pārvadātāji caur vienu API. Bezmaksas 30 min zvans.

UPS AT API pārskats

Šis API nodrošina programmatisko piekļuvi UPS AT piegādes pakalpojumiem caur Cargoson vienoto transporta vadības platformu. Integrējiet UPS AT iespējas, tostarp sūtījumu rezervēšanu, izsekošanu, cenu piedāvājumus un etiķešu ģenerēšanu savā ERP, WMS vai jebkurā biznesa sistēmā caur vienu API — kopā ar 2000+ citiem pārvadātājiem.

Vai vairāku pārvadātāju API ir jauna tēma? Lasiet mūsu izpilddirektora rokasgrāmatu par to, kā viena API integrācija aizstāj desmitiem pārvadātāju savienojumu. Lasīt: Vairāku pārvadātāju piegāžu API

API iespējas

  • Izveidojiet un pārvaldiet UPS AT sūtījumu rezervācijas
  • Sūtījumu izsekošana un statusa atjauninājumi
  • Saņemiet kravas cenu piedāvājumus un piegādes laikus
  • Ģenerējiet piegādes etiķetes vairākos formātos (PDF, PNG, ZPL)
  • Izveidojiet atgriešanas etiķetes reversajai loģistikai
  • Vaicājiet pakomātu un saņemšanas punktu atrašanās vietas
  • Skatiet pieejamos pārvadātāja pakalpojumus
  • Automātisks kurjera izsaukums

Bāzes URL un autentifikācija

Bāzes URL

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

Autentifikācija

Visiem pieprasījumiem jāietver jūsu API atslēga un pareizais Accept galvenes lauks:

Authorization: Bearer JŪSU_API_ATSLĒGA
Accept: application/vnd.api.v1

UPS AT rezervācijas API

Tiešais pārvadātāja API

Izveidojiet UPS AT sūtījumus un saņemiet piegādes etiķetes, izmantojot Queries galapunktu. Rezervācijas tiek nosūtītas uz pārvadātāja sistēmu reāllaikā un etiķetes tiek ģenerētas nekavējoties.

Pieprasījums vs tiešā rezervācija

Queries galapunkts atbalsta divus rezervācijas veidus:

  • Pieprasījuma režīms - Izveidojiet transporta pieprasījumu, nenorādot pārvadātāju (vēl). Tas ļauj jums manuāli salīdzināt pārvadātāju cenas un piegādes laikus, pieprasīt jaunas spot cenas, veikt izmaiņas/atjauninājumus sūtījumā un deleģēt pārvadātāja izvēli citiem, pirms veicat galīgo pārvadātāja izvēli Cargoson.
  • Tiešā rezervācija - Norādiet pārvadātāja pakalpojuma ID (no Rate vai Services API), lai rezervētu tieši ar UPS AT. Tas nodrošina, ka jūsu sūtījums izmanto precīzi jūsu izvēlēto pakalpojumu.

Lai rezervētu tieši ar UPS AT, vienmēr definējiet direct_booking_service_id.

POST /queries

Izveidojiet sūtījuma pieprasījumu vai tiešo rezervāciju UPS AT. Iekļaujiet direct_booking_service_id, lai izveidotu tūlītēju rezervāciju.

Request Parameters

collection_date string required

Savākšanas datums formātā GGGG-MM-DD

collection_country string required

Savākšanas valsts kods (ISO 3166-1 alpha-2)

collection_postcode string required

Savākšanas pasta indekss

collection_address_row_1 string required

Savākšanas ielas adrese

collection_city string required

Savākšanas pilsēta

collection_company_name string required

Sūtītāja uzņēmuma nosaukums

collection_contact_name string required

Sūtītāja kontaktpersona

collection_contact_phone string required

Sūtītāja tālruņa numurs

delivery_country string required

Piegādes valsts kods

delivery_postcode string required

Piegādes pasta indekss

delivery_address_row_1 string required

Piegādes ielas adrese

delivery_city string required

Piegādes pilsēta

delivery_company_name string required

Saņēmēja uzņēmuma nosaukums

delivery_contact_name string required

Saņēmēja kontaktpersona

delivery_contact_phone string required

Saņēmēja tālruņa numurs

rows_attributes array required

Iepakojumu/palešu masīvs ar daudzumu, iepakojuma tipu, svaru un aprakstu

options[direct_booking_service_id] integer

UPS AT pakalpojuma ID tiešajai rezervācijai

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

Etiķešu ģenerēšana

UPS AT piegādes etiķetes tiek automātiski ģenerētas, kad izveidojat rezervāciju. Etiķetes ir pieejamas vairākos formātos, lai atbalstītu dažādus printera tipus.

Atbalstītie etiķešu formāti

a4 - A4 PDF formāts galda printeriem (4 etiķetes lapā)
label_printer - 4x6in (~10x15cm) PDF formāts termālajiem printeriem

Etiķetes ir iekļautas rezervācijas atbildē caur label_url lauku. Lejupielādējiet un izdrukājiet etiķeti no norādītā URL pēc rezervācijas.

UPS AT cenu API (kravas cenu noteikšana)

Tiešais pārvadātāja API

Saņemiet reāllaika UPS AT kravas cenas pirms rezervācijas. Rate API atgriež pieejamos pakalpojumus, cenas un paredzamos piegādes laikus.

POST /freightPrices/list

Saņemiet kravas cenu piedāvājumus no UPS AT un citiem aktivizētajiem pārvadātājiem jūsu kontā.

Request Parameters

collection_date string required

Savākšanas datums formātā GGGG-MM-DD

collection_country string required

Savākšanas valsts kods (ISO 3166-1 alpha-2)

collection_postcode string required

Savākšanas pasta indekss

delivery_country string required

Piegādes valsts kods

delivery_postcode string required

Piegādes pasta indekss

rows_attributes array required

Iepakojumu/palešu masīvs ar daudzumu, iepakojuma tipu, svaru un aprakstu

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": "United Parcel Service Speditionsgesellschaft/UPS",
        "reg_no": "FN114028p",
        "id": 5861,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "United Parcel Service Speditionsgesellschaft/UPS",
        "reg_no": "FN114028p",
        "id": 5861,
        "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"
      }
    ]
  }
}

UPS AT izsekošanas API

Tiešais pārvadātāja API

Izsekojiet UPS AT sūtījumus, izmantojot Cargoson atsauces numuru. Saņemiet pašreizējo statusu, atrašanās vietas atjauninājumus un paredzamo piegādes laiku.

GET /bookings/{reference}

Saņemiet izsekošanas informāciju UPS AT sūtījumam, izmantojot Cargoson rezervācijas atsauci.

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

UPS AT atgriešanas etiķešu API

Tiešais pārvadātāja API

Ģenerējiet atgriešanas piegādes etiķetes UPS AT sūtījumiem. Atgriešanas etiķetes ļauj klientiem nosūtīt preces atpakaļ, izmantojot priekšapmaksas piegādi.

POST /bookings/{reference}/return_labels

Izveidojiet atgriešanas etiķeti esošam UPS AT sūtījumam.

Request Parameters

label_format string

Etiķetes formāts: a4 vai label_printer (noklusējums: 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"
}

Atgriešanas etiķetes funkcijas

  • Priekšapmaksas atgriešanas piegādes etiķetes
  • Tādas pašas formāta opcijas kā izejošajām etiķetēm (A4, termālais)
  • Atsevišķa izsekošanas atsauce atgriešanām
  • Netraucēta integrācija ar UPS AT atgriešanas pakalpojumiem

UPS AT kurjera izsaukumi

Tiešais pārvadātāja API

Cargoson automatizē kurjera izsaukumus UPS AT sūtījumiem, kas padara to par vienu mazāku uzdevumu, par ko jums jādomā.

Kā Cargoson apstrādā kurjera izsaukumus

Daudzi piegādes pārvadātāji pieprasa, lai jūs izveidotu etiķetes atsevišķi un pēc tam manuāli pieprasītu kurjera savākšanu. Citiem nav atsevišķas etiķetes plus kurjera izsaukuma sistēmas, un katrs sūtījums ir pilnīgs, atsevišķs sūtījums. Mēs uzskatām, ka pārvadātāju API vajadzētu būt vienotam standartam, bet pašlaik katrs pārvadātājs izveido savu unikālo sistēmu, kas apgrūtina viņu lietotājiem atcerēties katra īpatnības un sarežģītības. Cargoson vienkāršo jūsu kurjera izsaukumus, apstrādājot katru sūtījumu holistiski: kurjera izsaukumi tiek automātiski pārvaldīti kā daļa no rezervācijas procesa.

Viedā savākšanas optimizācija

Cargoson optimizē kurjera izsaukumus, lai samazinātu izmaksas un uzlabotu efektivitāti.

  • 1. Partijas konsolidācija - Vairāki sūtījumi no vienas atrašanās vietas tiek grupēti vienā savākšanas pieprasījumā
  • 2. Pārvadātājam specifiska apstrāde - Daži pārvadātāji iekļauj savākšanu rezervācijā, citiem nepieciešami atsevišķi pieprasījumi. Cargoson automātiski apstrādā abas variācijas jūsu vietā
  • 3. Regulāri savākšanas grafiki - Konfigurējiet iepriekš ieplānotas savākšanas noteiktos intervālos (piemēram, katru dienu uz manu galveno noliktavu plkst. 15:00) un Cargoson pilnībā izlaidīs atsevišķus kurjera izsaukumus

Priekšrocības

  • Nav nepieciešams izsekot, kuriem pārvadātājiem nepieciešami atsevišķi kurjera izsaukumi
  • Automātiskā optimizācija novērš nevajadzīgus savākšanas izsaukumus
  • Atbalsts regulāriem savākšanas grafikiem
  • Vienkāršota piegādes darbplūsma - vienkārši izveidojiet rezervāciju

Konfigurācija

Kurjera savākšanas automatizācija ir iespējota pēc noklusējuma visiem UPS AT sūtījumiem. Lai konfigurētu regulārus savākšanas grafikus vai pielāgotus savākšanas optimizācijas noteikumus, sazinieties ar [email protected].

UPS AT pakalpojumu API

Cargoson dzinējs
Cargoson uzlabojums:

Pakalpojumu API ir Cargoson nodrošināta funkcija, kas atgriež vienotu sarakstu ar visiem pieejamajiem pakalpojumiem no UPS AT un citiem pārvadātājiem jūsu tīklā. Tas ļauj jums dinamiski parādīt piegādes opcijas saviem klientiem, nekodējot pakalpojumu ID.

Saņemiet pieejamo UPS AT piegādes pakalpojumu sarakstu. Izmantojiet pakalpojumu ID, veicot tiešās rezervācijas, lai nodrošinātu, ka saņemat precīzi vēlamo pakalpojumu.

GET /services/list

Atgrieziet jūsu uzņēmuma kontā pieejamo UPS AT pakalpojumu sarakstu.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 5861,
        "name": "United Parcel Service Speditionsgesellschaft/UPS",
        "short_name": "UPS AT",
        "reg_no": "FN114028p"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 5861,
        "name": "United Parcel Service Speditionsgesellschaft/UPS",
        "short_name": "UPS AT",
        "reg_no": "FN114028p"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Pakalpojumu ID izmantošana

Pakalpojumu ID no šī galapunkta var izmantot ar direct_booking_service_id parametru, izveidojot rezervācijas, lai izvēlētos pareizo pakalpojumu un nosūtītu sūtījumu uz UPS AT sistēmu.

Pilnīgi koda piemēri

Zemāk ir pilnīgi darbojoši piemēri, kas parāda pilnu darbplūsmu: saņemiet cenas, izvēlieties pakalpojumu, rezervējiet piegādi un iegūstiet izsekošanas informāciju.

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

# Step 1: Get freight prices for UPS AT
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 bookToUPSAT() {
  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
bookToUPSAT();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToUPSAT($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
bookToUPSAT($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_ups_at
  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_ups_at

Kāpēc izmantot Cargoson API UPS AT integrācijai

Integrēšanās tieši ar UPS AT vietējo API nozīmē cīņu ar pārvadātājam specifisko dokumentāciju, dažādu datu formātu apstrādi un atsevišķa koda uzturēšanu katram nodrošinātājam. Cargoson piedāvā vienu vienotu RESTful API, kas atbalsta UPS AT un 2000+ pārvadātājus Eiropas un Ziemeļamerikas tirgos, ar jaunām integrācijām, kas tiek pievienotas katru nedēļu. Mēs samazinām izstrādes laiku no mēnešiem līdz dienām, automātiski apstrādājam pārvadātāju atjauninājumus un pārvaldām reģionālās izņēmuma situācijas. Ar Cargoson jūs koncentrējaties uz sava biznesa attīstību, nevis pārvadātāju tehnisko sarežģītību pārvaldību.

UPS AT integrācijas priekšrocības caur Cargoson API

Viens API visiem pārvadātājiem

Aizstājiet desmitiem atsevišķu pārvadātāju integrāciju ar vienu savienojumu ar UPS AT un 2000+ citiem nodrošinātājiem caur Cargoson API. Vairs nav jāuztur vairākas autentifikācijas sistēmas, jāapstrādā dažādi datu formāti vai jāatjaunina kods, kad pārvadātāji maina savus galapunktus.

Skaidra dokumentācija un atbalsts

Piekļūstiet vienkāršai API dokumentācijai ar darbojoša koda piemēriem, detalizētiem parametru aprakstiem un skaidri definētiem galapunktiem. Mūsu atbalsta komanda pārzina loģistikas nozari un var palīdzēt jums ātri atrisināt integrācijas problēmas.

Koda piemēri vairākās valodās

Sāciet nekavējoties ar gataviem koda piemēriem cURL, JavaScript, Python, PHP un Ruby. Kopējiet, ielīmējiet un pielāgojiet tos savam stekam, nav nepieciešams izdomāt autentifikāciju, pieprasījuma formatēšanu vai kļūdu apstrādi no nulles.

Reāls atbalsts no loģistikas ekspertiem

Saņemiet palīdzību no cilvēkiem, kas saprot piegādi, ne tikai API. Neatkarīgi no tā, vai novēršat integrācijas problēmu vai jums nepieciešami padomi par labāko veidu, kā apstrādāt starptautiskos sūtījumus, mūsu komanda ir šeit, lai palīdzētu.

Pasaules vismodernākā kravas cenu noteikšanas dzinējs

Cargoson kravas cenu API iet tālu pāri vienkāršai cenu meklēšanai. Mūsu dzinējs var lasīt, analizēt un digitalizēt jebkuru pārvadātāja cenrādi neatkarīgi no formāta vai struktūras, padarot to par visspēcīgāko kravas cenu pārvaldības risinājumu loģistikas nozarē.

Universāls formāta atbalsts

Mūsu kravas cenu dzinējs apstrādā jebkuru formātu: strukturētus Excel failus, sarežģītus PDF, brīvu tekstu vai pat rokrakstā rakstītus cenrāžus. Augšupielādējiet savus pārvadātāju līgumus jebkurā formātā, un mūsu kravas cenu dzinējs automātiski parsēs cenu noteikšanas noteikumus, papildmaksas un nosacījumus.

Tiešā pārvadātāja API integrācija

Pārvadātājiem ar modernām sistēmām (parasti globālie sīkpaku pārvadātāji un tehnoloģiju orientēti kravas uzņēmumi) mēs iegūstam cenas tieši no viņu API reāllaikā. Tas nodrošina, ka jūs vienmēr saņemat aktuālākās cenas bez manuāliem atjauninājumiem.

Publiskās tiešsaistes cenas

Vēl nav līguma ar pārvadātāju? Nav problēmu. Cargoson var iegūt publiskās tiešsaistes cenas no pārvadātājiem, ļaujot jums salīdzināt opcijas pat pirms formālu vienošanos izveidošanas.

Spot cenu pieprasījumi

Sarežģītiem sūtījumiem vai īpašiem gadījumiem pieprasiet spot cenas, kur pārvadātāji pārskata jūsu specifiskās prasības un sniedz pielāgotu piedāvājumu. Viss tiek pārvaldīts caur to pašu vienoto API.

UPS AT piegāžu API: Vienkāršota loģistikas automatizācija

Automatizējiet savu izpildes procesu, integrējot Cargoson piegāžu API ar UPS AT un 2000+ pārvadātājiem visā pasaulē. Izveidojiet piegādes etiķetes, rezervējiet savākšanas un pārvaldiet visus savus pārvadātājus no vienas platformas, vienlaikus saglabājot savas saskaņotās likmes ar katru nodrošinātāju.

Automatizēta etiķešu ģenerēšana

Ģenerējiet pārvadātāja apstiprinātās piegādes etiķetes vienā API pieprasījumā. Atbalsts vairākiem etiķešu formātiem (A4, termālais printeris) un automātiska muitas dokumentācija starptautiskiem sūtījumiem nozīmē mazāk manuāla darba un mazāk piegādes kļūdu.

Reāllaika cenu salīdzināšana

Salīdziniet reāllaika likmes starp UPS AT un jūsu citiem aktivizētajiem pārvadātājiem, lai izvēlētos labāko opciju, pamatojoties uz izmaksām, ātrumu un pakalpojuma līmeni.

Saglabājiet savas saskaņotās likmes

Savienojiet savu esošo UPS AT kontu, lai saglabātu savas saskaņotās piegādes likmes. Cargoson vienkārši nodrošina tehnisko integrāciju: jūs saglabājat savas tiešās pārvadātāju attiecības un pielāgotās cenu vienošanās.

Uzņēmuma līmeņa drošība UPS AT API integrācijai

Cargoson API infrastruktūra atbilst Eiropas atbilstības standartiem, kas nodrošina drošu, auditam gatavu UPS AT integrāciju jūsu biznesam:

  • GDPR atbilstoša datu apstrāde un uzglabāšana visā Eiropā
  • ISO 27001 sertificēta informācijas drošības pārvaldība
  • No gala līdz galam šifrēšana visām API komunikācijām

Gatavs integrēt UPS AT piegādi savā platformā?

Neatkarīgi no tā, vai izstrādājat ERP spraudni, veidojat pārvadātāja integrāciju vai savienojat pārvadātājus ar savām biznesa sistēmām — apspriedīsim, kā vairāku pārvadātāju API atbilst jūsu vajadzībām.

Rezervēt bezmaksas konsultāciju

Bieži uzdotie jautājumi

Cargoson ir transporta vadības sistēma (TMS) Eiropas un Ziemeļamerikas ražotājiem. Mūsu galvenā vīzija ir vienkāršība: integrējiet jebkurus un visus pārvadātājus un kravas veidus (autoceļš, sīkpaka, gaiss, jūra, dzelzceļš) vienā logā un vienā API. Neatkarīgi no tā, vai sūtāt paletes pa Eiropu vai konteinerus pāri okeānam, pārvaldiet visu no vienas platformas.

Sākšana ir vienkārša. Vispirms reģistrējieties Cargoson kontam un saņemiet savu API atslēgu. Pēc tam savienojiet savu UPS AT kontu Cargoson informācijas panelī. Kad tas ir izdarīts, varat sākt veikt API pieprasījumus, izmantojot mūsu dokumentāciju un koda piemērus. Visa iestatīšana parasti aizņem mazāk nekā stundu.

Jā, jums būs nepieciešams savs UPS AT konts, lai izmantotu UPS AT pakalpojumus caur Cargoson. Tas nodrošina, ka jūs saglabājat savas saskaņotās likmes un uzturēt savas tiešās attiecības ar UPS AT. Cargoson vienkārši nodrošina tehnisko integrācijas slāni, kas atvieglo darbu ar UPS AT un citiem pārvadātājiem caur vienu vienotu API.

Cargoson darbojas ar pārredzamu mēneša abonēšanas modeli bez maksas par sūtījumu vai komisijas maksām, nekad. Jūsu plānā ir iekļauta API piekļuve, dokumentācija, atbalsts un automātiski atjauninājumi, kad pārvadātāji maina savas sistēmas. Jūs maksājat UPS AT tieši par piegādi par savām saskaņotajām likmēm. Nav slēptu izmaksu, nav pārsteigumu.

Absolūti! Tā ir galvenā Cargoson izmantošanas priekšrocība. Kad esat integrējis mūsu API, varat strādāt ar UPS AT un 2000+ citiem pārvadātājiem, izmantojot tos pašus galapunktus, autentifikāciju un datu formātus. Pievienojiet jaunus pārvadātājus, nerakstot jaunu integrācijas kodu, vienkārši aktivizējiet tos savā Cargoson informācijas panelī.

Jā! Mēs integrējam jebkuru pārvadātāju, kas jums nepieciešams, bez papildu maksas. Tas ir iekļauts jūsu Cargoson abonementā. Vienkārši iepazīstiniet mūs ar savu pārvadātāju kontaktiem, un mēs apstrādāsim tehnisko integrāciju. Jaunas integrācijas tiek pievienotas katru dienu, pamatojoties uz klientu pieprasījumiem.

Jā, mēs varam iestatīt webhook'us, lai paziņotu jūsu sistēmai, pamatojoties uz notikumiem un triggeriem Cargoson, piemēram, sūtījuma statusa atjauninājumiem, rezervācijas apstiprinājumiem vai izmaiņām jūsu sūtījumos. Sazinieties ar mūsu atbalsta komandu vai rezervējiet demonstrāciju, lai apspriestu savus webhook prasības un iestatīšanu.

Cargoson varētu būt pārāk daudz, ja esat mazs uzņēmums, kas sūta tikai dažas reizes mēnesī ar vienu pārvadātāju. Jūs, iespējams, varat pārvaldīt šos sūtījumus labi bez TMS. Mēs arī neesam pareizā izvēle, ja esat pārvadātājs vai kravas ekspeditors. Cargoson ir izveidots īpaši labvēlīgiem kravu īpašniekiem (BCO) kā ražotājiem un izplatītājiem, kas pieder sūtāmajām precēm. Ja meklējat TMS, lai pārvaldītu savu ekspedīcijas biznesu vai pārvadātāja operācijas, mēs neesam paredzēti šim lietošanas gadījumam.

Mūsu API atgriež skaidrus kļūdu ziņojumus ar konkrētiem kļūdu kodiem un aprakstiem. Izplatītas problēmas ir dokumentētas ar risinājumiem mūsu izstrādātāju dokumentācijā. Ja jūs iestrēgstat, mūsu atbalsta komanda var palīdzēt novērst integrācijas problēmas.

Mēs ieviešam saprātīgus ierobežojumus, lai nodrošinātu sistēmas stabilitāti visiem klientiem. Ir gan ilgtermiņa ierobežojumi, gan burst ierobežojumi ar vērtībām, kas vajadzētu būt vairāk nekā pietiekami lielākajai daļai uzņēmumu. Ja jums nepieciešami augstāki ierobežojumi uzņēmuma mēroga operācijām, sazinieties ar mums, lai apspriestu pielāgotus ierobežojumus jūsu kontam.

Sāciet izmantot UPS AT API

Viens API visiem jūsu pārvadātājiem. Bezmaksas 30 min zvans.

Saņemiet savu API atslēgu