Prima di registrare il primo vettore
La messa in funzione si gioca in pochi punti: la scheda di ogni vettore, il registro di ogni richiesta e i campi di stato che vedrai negli elenchi. Questi sono i dettagli da avere chiari prima di toccare qualsiasi cosa. Se cerchi la visione d'insieme di menu e flusso, la trovi in come funziona il modulo al suo interno.
Le credenziali sono quelle del tuo account con ciascun vettore
La registrazione di un vettore richiede Carrier Name, Carrier Type (un campo di selezione), Enabled e Company. Insieme a questi ci sono le credenziali. Il modulo stesso descrive API Key come «API key of the carrier account» e API Secret come «API secret of the carrier account». Account Number è il numero di conto proprio di ciascun vettore, e il campo riporta come esempi «FedEx account, UPS account, etc.».
La lettura pratica: questi tre dati sono quelli del tuo account con ciascun vettore, quindi tienili a portata di mano prima di metterti a configurare. E poiché ogni registrazione ha la sua Company, se lavori con più aziende sullo stesso database, controlla a quale viene assegnato ogni vettore.
Custom Endpoint URL è opzionale e ha un caso specifico
Tra i campi del vettore c'è Custom Endpoint URL. La sua descrizione lo definisce come un URL di API personalizzato e opzionale per «non-standard carriers». Se il tuo vettore non rientra in quel caso, non devi per forza compilarlo.
Enabled e Connection Status si guardano separatamente
Enabled è una casella; Connection Status è un campo di selezione a parte. Sono due dati distinti e conviene controllarli separatamente. Accanto trovi Last Sync Time, con data e ora dell'ultima sincronizzazione, e Last API Response, con l'ultima risposta dell'API. Nella stessa scheda restano anche Created e Created By, con la data di creazione e l'utente che l'ha effettuata.

Hazmat Categories, con sei categorie e il relativo supplemento a zero.Ogni richiesta viene salvata campo per campo
Il modulo salva un record con questi campi: Carrier, Request Type, Status, Timestamp, HTTP Status Code, Response Snippet, Error Message, Request Payload e Company. Quando qualcosa non quadra, è il posto dove guardare:
Request Type: che tipo di richiesta era.Request Payload: ciò che è stato inviato.HTTP Status Code: il codice HTTP della risposta.Response Snippet: un frammento della risposta.Error Message: il testo dell'errore.Timestamp: quando è avvenuto.
Con Carrier e Timestamp restringi rapidamente il campo a quale vettore e a quale momento ti riferisci. Per interpretare ogni messaggio specifico, hai la guida a errori e avvisi del modulo.
Ci sono vari campi di stato e non significano la stessa cosa
Nel modulo troverai diversi campi chiamati status o state, ciascuno con il proprio insieme di valori:
statusconSuccess,FailedeTimeout.statusconSuccess,ErroreLabel Exists.statusconDraft,Generated,PrintedeFailed.statusconActive,DegradedeDown.statusconDraft,In Progress,Completed,FailedePaused.statusconDraft,Completed,FailedePartial.stateconOpen,Submitted,Approved,RejectedePaid.stateconDrafteDone.status_filterconDraft,Ready-to-ShipeAll.
Nota che Failed e Draft compaiono in più di uno. Quando filtri, o quando qualcuno del team ti dice che qualcosa è in Failed, chiedi in quale elenco l'ha visto prima di cercare la causa.
Il campo state più lungo va da Draft a Cancelled
Uno dei campi state del modulo percorre questi valori: Draft, Blocked, Cost Quoted, Ready to Ship, In Transit, Out for Delivery, Delivered, Attempted Delivery, Returned to Sender, Lost, Damaged e Cancelled. Ci sono inoltre due campi, status e current_status, con Pre-Label, In-Transit, Out-for-Delivery, Delivered, Exception e Returned.
Attenzione alla scrittura: in un caso è Out for Delivery e nell'altro Out-for-Delivery; lo stesso vale per Ready to Ship e per il Ready-to-Ship di status_filter. Tienilo presente quando cerchi o crei filtri salvati.

Export Intrastat sull'elenco delle spedizioni (Shipping › Shipments), con spedizioni di DHL Express in Ready to Ship e Delivered.
Bulk Print Labels con due spedizioni di DHL Express selezionate; il testo della procedura parla di un PDF unico o di uno ZIP.
Create Return (con spedizione originale, vettore, tipo di servizio, Email Customer e note di reso) fino alla registrazione della fattura del vettore con Record Carrier Invoice.last_health_check_status ha tre valori
Il campo last_health_check_status assume Success, Failed o Unknown. Durante la prima settimana, annota quale dei tre mostra ogni giorno e confrontalo con Last Sync Time e Last API Response del vettore.
Cosa controllare durante la prima settimana
Con quanto detto sopra, la verifica dei primi giorni si riassume così:
- Ogni vettore ha
API Key,API SecreteAccount Numberdel proprio account, e laCompanycorretta.
Custom Endpoint URLè compilato solo dove vale il caso dei «non-standard carriers».
EnabledeConnection Statusdi ogni vettore, controllati separatamente.
Last Sync TimeeLast API Response, ogni giorno.
- Il valore di
last_health_check_status.
- In ogni richiesta fallita:
HTTP Status Code,Error Message,Response SnippeteRequest Payload.
- Quali record sono in
Blocked,ExceptionoAttempted Delivery.
Quanto costa e come ti aiuta FlexigoTech
Il modulo costa 9 € IVA esclusa per versione di Odoo, in un unico pagamento, per 17, 18, 19 e 20; in Odoo 19 e 20, inoltre, richiede l'abbonamento a FlexigoTech Cloud, il cui piano Conector costa 49 €/mese o 490 €/anno IVA esclusa (Pro: 98 €/mese o 980 €/anno), con fino a 3 account della piattaforma (Pro: 10). Questa connessione tramite FlexigoTech Cloud conserva cifrate le credenziali, sorveglia la sincronizzazione e avvisa via e-mail se fallisce; senza abbonamento, o con il servizio sospeso, si ferma ciò che l'abbonamento fornisce e i dati restano nel tuo Odoo.
I dettagli sono nella scheda di Odoo Apps e nella pagina del modulo su flexigotech.com.
In FlexigoTech implementiamo Odoo 17, 18, 19 e 20 e sviluppiamo connettori e integrazioni su misura. Se hai bisogno di aiuto per registrare i tuoi vettori, analizzare i primi errori o adattare il flusso delle spedizioni alla tua operatività, raccontaci il tuo caso.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/carrier_api_log.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/carrier_config.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/carrier.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/carrier_batch_job.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/carrier_label.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/claim.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/cost_reconciliation.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/rate_lookup.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/shipment.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): models/tracking.py
- Codice del modulo: flexigo_advanced_shipping_carrier_integration 20.0 (ffa31c5f): wizards/batch_processing_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_advanced_shipping_carrier_integration
- apps.odoo.com/apps/modules/17.0/flexigo_advanced_shipping_carrier_integration
- apps.odoo.com/apps/modules/18.0/flexigo_advanced_shipping_carrier_integration
- apps.odoo.com/apps/modules/19.0/flexigo_advanced_shipping_carrier_integration
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
