Vai al contenuto principale
Amazon SP-API · Troubleshooting Odoo

Amazon SP-API e Odoo: errori frequenti e come evitarli

Gli stessi cinque o sei problemi si ripresentano ogni volta che si collega Amazon Seller Central a Odoo: giacenze sfasate, ordini duplicati, tracking in ritardo, errori 429 e token scaduti. Ti spieghiamo perché succedono e cosa deve fare un connettore ben costruito per evitarli.

Pannello operativo FBA di Amazon che deve restare sincronizzato con Odoo

Quasi tutte le aziende che collegano Amazon Seller Central a Odoo passano per lo stesso percorso: il primo mese nei test tutto funziona bene, e dopo poche settimane di operatività con volumi reali iniziano a comparire gli stessi sintomi. Giacenze che non quadrano, ordini che si duplicano, tracking che arriva in ritardo, l'API che comincia a restituire errori 429, oppure un token che smette di funzionare un lunedì mattina senza preavviso.

Idea chiave: quasi nessuno di questi errori è un problema di Amazon o di Odoo presi singolarmente. Compaiono nel livello di sincronizzazione, quando il connettore non rispetta il modello asincrono della SP-API (notifiche in tempo reale, limiti di richieste per endpoint, token OAuth con scadenza breve) e al suo posto fa un semplice polling ogni X minuti, confidando che tutto arrivi in tempo.

Perché l'integrazione Amazon-Odoo si rompe (e non sempre è evidente)

La SP-API di Amazon non è una semplice API REST di richiesta-risposta. Combina chiamate sincrone con un sistema di notifiche asincrono (Notifications API, consegnata tramite SQS o EventBridge), un modello di report che vengono generati in background e vanno interrogati finché non sono pronti, e un limite di richieste al secondo diverso per ogni operazione, non uno globale per tutto l'account. L'autenticazione avviene con Login With Amazon (LWA): l'access token scade ogni ora e va rinnovato con il refresh_token prima che scada.

Molte integrazioni (soprattutto quelle costruite con automazioni generiche tipo Zapier, Make o un iPaaS senza logica specifica per Amazon) riducono tutto questo a un cron che consulta gli ordini ogni X minuti, dando per scontato che basti. Questa semplificazione è l'origine diretta della maggior parte degli errori della tabella seguente.

Tabella: sintomo, causa probabile e come evitarlo

Otto sintomi reali che vediamo ripetersi nelle attività che vendono su Amazon da Odoo, con la causa tecnica più probabile in ciascun caso e la soluzione che applica un connettore costruito per operare davvero, non solo per superare una demo.

Sintomo Causa probabile Come evitarlo
Giacenza sfasata / oversell su Amazon Sincronizzazione tramite polling ogni 30-60 minuti; non si consuma la Notifications API dell'inventario in tempo reale Iscrizione alle notifiche di inventario con invio immediato dopo ogni movimento di giacenza in Odoo, più un buffer di sicurezza configurabile
Ordini duplicati in Odoo Tentativi ripetuti del connettore senza idempotenza; l'AmazonOrderId non viene usato come chiave univoca Upsert idempotente indicizzato per AmazonOrderId, con vincolo di unicità a livello di database
Il tracking arriva in ritardo ad Amazon (sale il Late Shipment Rate) L'invio del tracking avviene in un cron notturno a lotti, invece che alla convalida della consegna Azione automatica che chiama la Shipping API nell'istante in cui la consegna viene convalidata in Odoo
Errori 429 / "Request throttled" Non si rispetta il rate limit specifico di ogni operazione della SP-API (ogni endpoint ha il suo bucket) Coda di job con backoff esponenziale e un rate limiter proprio per ogni endpoint, non uno globale
Token OAuth scaduto o refresh_token non valido Non c'è rinnovo automatico dell'access token LWA, oppure il consenso è stato revocato in Seller Central senza che nessuno se ne accorga Rinnovo automatico con margine di sicurezza, più un avviso quando il refresh fallisce (non quando fallisce già un ordine reale)
Prezzi diversi tra Amazon e gli altri canali Non esiste un'unica fonte di verità; il prezzo viene modificato a mano in Seller Central Odoo come fonte di verità dei prezzi, con regole di conflitto esplicite se viene rilevata una modifica manuale su Amazon
Rimborsi e resi che non quadrano in contabilità Si elaborano solo gli ordini; non si importano i report di Returns/Refunds di Amazon Importazione automatica dei Returns Reports in registrazioni contabili di nota di credito, non solo nella giacenza
Funziona nei test ma fallisce con più account o marketplace Credenziali e stato di sincronizzazione scritti nel codice per un solo account venditore Modello di credenziali per azienda/marketplace fin dal modello di dati, non come una toppa aggiunta dopo

Checklist: cosa deve avere un connettore Amazon-Odoo ben costruito

Prima di dare per buono un connettore Amazon-Odoo (il tuo o uno che stai valutando di acquistare), ripassa questa lista. Non è teoria: sono i punti esatti in cui abbiamo visto fallire integrazioni reali.

  • Consuma la Notifications API di Amazon (SQS/EventBridge) invece di dipendere solo dal polling periodico
  • Importa gli ordini in modo idempotente usando l'AmazonOrderId come chiave univoca
  • Invia il tracking ad Amazon nel momento in cui si convalida la consegna, non a lotti in un cron notturno
  • Applica un rate limiter e un backoff esponenziale per endpoint, non un limite globale approssimativo
  • Rinnova il token OAuth (LWA) in modo automatico, con avviso tempestivo se il refresh fallisce
  • Registra nel log ogni chiamata all'API con codice di risposta e payload, non solo un generico "sync OK"
  • Supporta più account e marketplace fin dal modello di dati, non come aggiunta successiva

Cosa facciamo in FlexigoTech: il nostro Connettore Amazon per Odoo

Il nostro Connettore Amazon per Odoo è costruito con FBA e FBM in produzione reale tramite SP-API, proprio per non cadere in nessuno degli otto punti della tabella precedente: importazione idempotente per AmazonOrderId, invio del tracking alla convalida della consegna e rinnovo automatico dei token, tra gli altri. Non è un livello di automazione generico montato sopra l'API: è un modulo Odoo nativo pensato per operare con volumi reali, non solo per superare una demo.

Se hai già Odoo ma il connettore attuale (interno o di terzi) ti sta dando uno di questi sintomi, spesso il problema non è cambiare connettore ma rivedere come è installato all'interno della tua istanza. Di solito si risolve all'interno di un progetto di implementazione di Odoo 19 fatto bene, con la sincronizzazione dei marketplace nell'ambito fin dall'inizio, non come una toppa successiva.

Link utili all'interno di FlexigoTech

Connettore Amazon per OdooContinua a leggere su FlexigoTechServizio di implementazione Odoo 19Continua a leggere su FlexigoTech

Domande frequenti

Perché la giacenza si disallinea tra Amazon e Odoo anche se ho un connettore installato?

Quasi sempre perché il connettore sincronizza tramite polling a intervalli, invece di reagire alle notifiche di inventario di Amazon in tempo reale. Tra un passaggio e il successivo c'è una finestra in cui Amazon e Odoo non coincidono, e nei cataloghi con alta rotazione basta per vendere qualcosa che non hai più.

Come evito gli ordini duplicati quando Amazon rinvia la stessa notifica?

Amazon può rinviare la stessa notifica d'ordine più di una volta; fa parte del suo normale modello di consegna. La soluzione non è filtrare i rinvii a mano, ma far sì che il connettore usi l'AmazonOrderId come chiave univoca ed esegua un upsert idempotente: se l'ordine esiste già, lo aggiorna; se no, lo crea. Non inserisce mai due volte.

Cos'è un errore 429 di Amazon SP-API e come si risolve da Odoo?

È un errore di throttling: hai superato il limite di richieste al secondo di quello specifico endpoint (ogni operazione della SP-API ha il suo limite, non uno globale). Si risolve con una coda di job che rispetta il rate limit di ogni endpoint e riprova con backoff esponenziale, non richiamando di nuovo dopo pochi secondi.

Cosa succede se il mio token OAuth di Amazon scade in produzione?

Amazon usa Login With Amazon (LWA): l'access token scade ogni ora e va rinnovato con il refresh_token prima che scada. Se il connettore non automatizza questo rinnovo, o se il venditore ha revocato il consenso in Seller Central senza avvisare nessuno, le chiamate iniziano a fallire con errori di autorizzazione finché l'account non viene ricollegato a mano.

Il tracking che arriva in ritardo ad Amazon incide davvero sul mio account?

Sì. Amazon misura il Late Shipment Rate e, se supera la soglia, può incidere sullo stato di salute dell'account e sulla visibilità dei tuoi listing, oltre all'impatto diretto sull'esperienza dell'acquirente. Se il tracking viene inviato in un cron notturno invece che nel momento in cui si convalida la consegna in Odoo, quel ritardo è responsabilità del connettore, non di Amazon.

Cosa facciamo in merito

Connettore AmazonCosa fa, schermate, versioni e prezzo.

Vuoi che esaminiamo la tua integrazione con Amazon?

Raccontaci quale sintomo hai (giacenze, ordini duplicati, tracking o token) e nella prima chiamata ti diciamo se si tratta di un intervento puntuale o se il connettore richiede una revisione a fondo. Scrivici a comercial@flexigobe.com o chiama il +34 616 809 504.

Parla con un ingegnere