Salta al contingut principal
Desenvolupament web i ecommerce · Guia

Desenvolupar un ecommerce des de zero amb integració logística: les cinc capes i en quin ordre es construeixen

Frontal, caixa, dades, proveïdors i tasques que corren soles. Què porta cada capa, què s'integra per API i què no, i per què l'ordre de construcció decideix si la botiga es pot mantenir després.

Botiga en línia en producció vista en un portàtil i en un mòbil

«Vull una botiga en línia feta de zero» sol voler dir «vull una botiga que faci el que les plantilles no fan». I el que les plantilles no fan és gairebé sempre el mateix: parlar amb qui fabrica, amb qui envia i amb qui cobra, sense que una persona copiï dades d'una pantalla a una altra. Aquest article explica com estructurem aquesta feina en cinc capes, què porta cadascuna i en quin ordre es construeixen. Els exemples són d'eclipseando.com, una botiga nostra que està en producció, i dels connectors de transportista que tenim publicats per a Odoo.

Idea clau: el frontal és la capa més visible i la menys arriscada. Els diners es perden a les tres del mig: una caixa que es pot enganyar, unes dades que viuen en dos llocs i un proveïdor al qual se li passen les comandes a mà. Es construeix de dins cap a fora.

Les cinc capes d'una botiga

CapaQuè contéError típic quan se salta
1 · DadesCatàleg, preus, estoc, comandes, clients. Una sola font de veritat.El preu a la web i el preu a l'ERP se separen als dos mesos.
2 · CaixaCistella, càlcul de preu i enviament, passarel·la, confirmació del pagament per webhook.Es confia en la pàgina de gràcies i es prepara una comanda que mai no es va cobrar.
3 · ProveïdorsFabricant, magatzem, transportista: comanda de sortida, etiqueta, seguiment, incidències.El tracking es copia a mà i arriba al client, si arriba, un dia tard.
4 · Tasques programadesCues, reintents, lectura de bústies, sincronització d'estoc, recordatoris.Un correu que falla una nit es perd per sempre.
5 · FrontalPàgines, fitxes, cercador, idiomes, velocitat, SEO.Es comença per aquí, s'ensenya bonic, i les altres quatre s'improvisen després.

Capa 1: les dades viuen en un sol lloc

Abans de dibuixar una pantalla cal decidir on viu el catàleg. Si el client té Odoo, la resposta és Odoo: productes, preus, estoc i comandes hi són i la web els llegeix, no els copia. Si no el té, la botiga necessita la seva pròpia base de dades, i convé que sigui petita i avorrida. A eclipseando.com és SQLite, en un fitxer, amb còpia de seguretat. El que no pot passar és que el preu sigui a la web i també en un full de càlcul i també a l'ERP: als dos mesos són tres preus diferents.

Capa 2: la caixa no es refia del navegador

Dues regles que no negociem. La primera: el preu es calcula al servidor, amb el catàleg vigent, en el moment de crear la sessió de pagament. El navegador pot guardar la cistella, però no pot dir quant val. La segona: una comanda està cobrada quan la passarel·la la confirma amb un webhook signat, no quan el client aterra a la pàgina de gràcies. Amb Stripe això és checkout.session.completed amb la signatura verificada; amb altres passarel·les té un altre nom i la mateixa idea. I si en rebre el webhook falla el pas següent, es respon error perquè la passarel·la reintenti, i es guarda l'identificador de sessió per no fabricar dues vegades.

Capa 3: cada proveïdor parla com pot

Aquí és on «integració logística» deixa de ser una paraula i es converteix en feina. Un proveïdor amb API i webhook (una impremta sota demanda, un transportista gran) s'integra en els dos sentits: se li crea la comanda en cobrar i s'escolta el seu avís d'«enviat» per passar el seguiment al client. Un amb API de dropshipping s'integra en un sentit i es consulta en l'altre: abans de cobrar, la disponibilitat real per país; després, la comanda. I un sense API, que n'hi ha i molts, s'integra reduint el treball humà a un clic: el sistema produeix exactament el correu o el CSV que el proveïdor necessita, i si els seus paquets surten amb un transportista que envia correus, aquests correus es llegeixen i es converteixen en estats.

Dos detalls que només s'aprenen amb comandes reals. Un: el seguiment va per enviament, no per comanda, perquè una comanda amb dos productes de dos proveïdors són dos paquets. Dos: els terminis que diu la documentació del proveïdor no són els que compleix; es mesuren creant comandes de prova i llegint el que retorna, i aquests són els que s'ensenyen al client abans de pagar. Quan el proveïdor és un transportista i la botiga porta Odoo, tot això ja està resolt als connectors de transportista que publiquem: etiqueta, seguiment, manifest i devolució dins de l'albarà.

Pantalla d'enviament a Odoo amb el transportista, l'etiqueta generada i el número de seguiment
Quan hi ha Odoo al darrere, la capa 3 és l'albarà: etiqueta, seguiment i estat al mateix document, sense copiar res.

Capa 4: el que corre sol i el que es reintenta

Una botiga té feina que no pot dependre que algú se'n recordi: buidar la cua de correus, reintentar les comandes cobrades que no han arribat al proveïdor, llegir la bústia del transportista, sincronitzar l'estoc amb els marketplaces. Cadascuna és una tasca programada amb un interval i un registre. La regla de disseny és que cap no crida un servei extern en el camí d'una petició de l'usuari: la pàgina llegeix el que la tasca ha deixat a la memòria cau. Així, si el proveïdor cau a les tres de la matinada, la botiga continua servint pàgines i les comandes es reintenten quan torni.

Capa 5: el frontal, al final i ràpid

Amb les quatre capes de baix resoltes, el frontal és la part més agraïda. Preferim llocs estàtics generats en build (Astro a eclipseando.com) servits per nginx o Caddy: carreguen en no res, no tenen base de dades que atacar i costen el que costa un servidor petit. El dinàmic (cistella, pagament, estat de la comanda) va per una API a part. El multiidioma es fa amb una URL per idioma i textos propis, no amb un traductor automàtic al damunt, i es prova amb tests que comproven que cada plantilla existeix en tots els idiomes. I la velocitat es mesura abans de publicar: pes de pàgina, imatges a la mida en què es pinten, res que bloquegi el primer render.

L'ordre importa: de dins cap a fora

L'error més car que veiem és començar per la capa 5. S'ensenya una web bonica a la segona setmana, el client s'il·lusiona, i les capes 1 a 4 s'improvisen a sota amb pressa. El resultat funciona fins a la primera comanda amb dos proveïdors, o fins al primer webhook perdut. Nosaltres construïm al revés: primer les dades i la caixa amb els seus tests, després les integracions amb comandes de prova reals, després les tasques programades, i el frontal al final, quan ja se sap exactament què ha d'ensenyar. Triga el mateix. Es refà molt menys.

Preguntes freqüents

Quan té sentit fer la botiga de zero en lloc d'usar Shopify o Odoo Website?

Quan el valor és en el que la plataforma no porta: un càlcul propi, integracions amb proveïdors sense connector, un catàleg que no és un catàleg. Si la teva botiga és un catàleg normal amb un transportista normal, una plataforma és més barata i la resposta correcta. Ho desenvolupem a quan fer la web sobre Odoo Website i quan no.

Què passa amb un proveïdor que no té API?

S'integra igualment, amb un altre canal: el sistema genera el correu o el CSV exacte que necessita, en un clic, i llegeix el que el proveïdor o el seu transportista retornin per correu. No és tan net com una API, però elimina la còpia manual, que és on es cometen els errors.

I si ja tinc Odoo?

Llavors les capes 1, 3 i 4 ja existeixen en gran part: el catàleg i les comandes viuen a Odoo, els transportistes entren per connectors publicats i les tasques programades són crons de l'ERP mateix. El que es construeix és el frontal i, si cal, una caixa a mida connectada a vendes.

Enllaços útils dins de FlexigoTech

Cas d'èxit: eclipseando.comLes cinc capes, construïdes de debò en 19 diesDesenvolupament a midaQuè es lliura, amb quina llicència i amb quin criteri d'acceptacióLogística a OdooConnectors de transportista publicats i provats a Odoo 19, 18 i 17Integrar l'API d'un transportista en una web pròpiaEtiqueta, seguiment i avisos, pas a pas

El que fem sobre això

Integració logísticaQuè fa, captures, versions i preu.

Tens una botiga al cap que no cap en una plantilla?

Explica'ns què vens, qui ho fabrica i qui ho envia. Et retornem les cinc capes amb el que va a cadascuna i en quin ordre. Escriu a comercial@flexigobe.com o truca al +34 616 809 504.

Parlar amb un enginyer