Preventivo spedizioni
L’endpointPOST /api/v1/integrations/shipments/quote calcola i preventivi di tutti i corrieri disponibili per una spedizione, ordinati per totalPriceWithVat crescente. Usa lo stesso motore tariffario dell’app E-Manager (get_best_carriers_v5).
Tracking spedizioni
Due endpoint separati consentono di consultare il tracking strutturato delle spedizioni della company. Entrambi richiedono lo scopeshipments:tracking.
Per numero tracking
GET /api/v1/integrations/shipments/tracking/by-tracking-number/{trackingNumber}
Restituisce un oggetto singolo con metadati spedizione, ordine, corriere, destinatario (senza email/telefono), timeline eventi e spedizioni correlate opzionali.
La ricerca accetta:
- numero tracking principale (con normalizzazione spazi/punto e prefisso
MUL) - tracking su etichette secondarie
- identificativi alternativi:
reference,parcelId,marketplaceOrderId,marketplaceOrderNumber
Per numero ordine marketplace
GET /api/v1/integrations/shipments/tracking/by-order-number/{orderNumber}
Il parametro orderNumber corrisponde a orders.marketplace_order_number (non al numero ordine interno E-Manager). Match esatto sul valore indicato.
Restituisce un array di oggetti tracking per tutte le spedizioni collegate agli ordini corrispondenti. HTTP 404 se non esistono ordini o spedizioni per la company dell’API key.
Esempio risposta tracking
Esempi curl tracking
Flusso consigliato (preventivo)
1
Scegli il magazzino
Recupera
warehouseId da GET /api/v1/integrations/warehouses (modalità manuale) oppure usa un orderId esistente.2
Richiedi il preventivo
Invia
POST /api/v1/integrations/shipments/quote con scope shipments:quote.3
Scegli il corriere
Dal risultato, usa
carrierCompanyId del preventivo scelto per la creazione spedizione (endpoint futuro o flusso ordini).Modalità di input
Modalità A — da ordine
Modalità B — manuale
totalWeight/totalVolume, puoi inviare un array parcels:
Risposta di successo
HTTP 200 con array diretto (senza wrapperitems):
chargeableWeight, realWeight, volumetricWeight), componenti prezzo, opzioni corriere (carrierOptionsDetail con price, calculated, description) e totali (totalPrice, vatAmount, totalPriceWithVat, codPrice, insurancePrice).
Risposta warning
Se nessun corriere è applicabile, HTTP 200 restituisce un oggetto singolo (non un array vuoto):Codici warning
Esempi curl
Manuale
Da ordine
Campi esclusi dalla risposta pubblica
Per motivi di sicurezza e semplicità, l’API non espone:carrier_id, logo_url, is_active, is_connected, delete_flag, purchase, metadati interni delle opzioni (name, option_id, is_custom) né link UI (action).
Riferimento OpenAPI
Vedi lo schema OpenAPI del preventivo per i tipi completiIntegrationsShipmentQuoteItemDto e IntegrationsShipmentQuoteWarningDto.
Per il tracking, consulta Tracking per numero spedizione e Tracking per numero ordine marketplace per lo schema IntegrationsShipmentTrackingResponseDto.
