Cont demo pentru incercare BOCP
BOCPBOCP.eu » Actualizari » imbunatatie sincronizare cu api emag marketplace


Cont demo pentru incercare BOCP

Ai întrebări?

Sună la 0365-424.438 între orele 09-17, luni-vineri, pentru asistentă.

Statistici BOCP:

Apreciez foarte mult sprijinul pe care mi-l oferiți

"Apreciez foarte mult sprijinul pe care mi-l oferiți constant și seriozitatea de care dați dovadă la fiecare solicitare pe care o am vizavi de programul de facturare. Am să vă recomand ori de câte ori am ocazia și vă doresc mult succes în continuare cu ceea ce faceți!"Mulțumesc încă o dată!

~Cătălina~

Vezi alte testimoniale

Imbunatatie sincronizare cu API eMag Marketplace

2022-01-06

Am revizuit complet procesul de sincronizare cu api-ul eMag pentru a imbunatati performanta sistemului si a rezolva mai multe intarzieri la preluarea comenzilor.

eMag are un api complex care necesita mai multe informatii si nomenclatoare sa fie preluate inainte de preluarea comenzilor, cum ar fi:

  • categorii de produse
  • atribute produse
  • lista de produse
  • nomenclatoare interne
  • lista curieri

Pentru a prelua rapid comenzile noi si a le procesa fluxul nou de lucru revizuit este:

  • se trimit stocurile modificate si preturile programate din ERP catre emag, in mod prioritar
  • comenzile noi sunt acum preluate imediat dupa notificarea primita de la eMag si stocate intr-un queue
  • in minutul urmator se proceseaza lista de comenzi noi ne preluate, astfel acestea apar mai repede (in mod ideal in minutul urmator) pe lista
  • se emit bonurile de vanzare pentru comenzile noi, daca optiunea este activa
  • se emit awb-urile in mod automat, daca optiunea este activa
  • in paralel se emit si facturile de un alt job in fundal
  • daca vine o comanda de pe care inca nu au fost preluate produsele, aceste produse sunt marcate pentru sincronizare prioritara si se vor prelua in minutul urmator inainte de a incepe procesarea comenzilor noi
  • se trimit confirmari la comenzile procesate, se trimit atasamentele awb si facturi la comenzile la care s-au emis documente
  • se proceseaza apoi mai multe joburi in fundal:
  • preluare cu paginatie a comenzilor noi (dublu verificare) si comenzilor cu schimbari, aici pot exista sute sau mii de comenzi cu schimbari, aceste in acest punct sunt puse intr-un queue de procesare
  • se proceseaza queue-ul cu comenzi modifcate si se actualizeaza statusul intern in BOCP
  • se verifica daca sunt schimbari la produsele de pe comanda sau la datele clientului si se actualizeaza comanda doar daca exista modificari (aici avem o optimizare pentru a compara diferentele la comenzi modificate)
  • se preiau produsele de pe emag in catalogul local cu produse emag
  • produsele care nu exista inca in BOCP se vor importa in nomenclatorul de gestiune si se initializeaza trimiterea initiala a stocului daca opitiunea este activa, stocul va fi trimis imediat la urmatoarea iteratie

In cadrul lucrarilor recente de optimizare am implementat urmatoarele

1) am eliminat un minut in unele cazuri la preluarea comenzilor noi: acum la notificarea unei comenzi preluam pe loc pachetul de date de la emag continand comanda

2) acest pachet este pus intr-un queue ce se proceseaza in minutul urmator

3) preluarea produselor a fost separat in 2 etape: prima data se preiau doar acele produse ce apar pe comenzi, acele fiind prioritare, restul se preiau doar dupa ce s-au finalizat restul job-urilor de sincronizare, astfel chiar daca sunt produse nepreluate, se vor prelua comenzile noi in mod prioritar

4) la procesarea produselor am separat calcularea anumitor cache-uri interne ce duar aprox 3 secunde per produs, acel cache nu este prioritar se se proceseaza acum separat in paralel cu preluarea produselor de pe emag

5) am introdus o limita pentru comenzi schimbate, astfel nu se vor prelucra comenzile foarte vechi, si se elimina timpul urias de procesare

6) am introdus o optimizare la procesarea comenzilor verificate si se va actualiza clientul sau lista produselor comandata doar daca exista modificari in pachetul de date trimis de emag, astfel am observat o viteza de procesare a comenzilor de 4-5 ori mai mare.