Ordova for WooCommerce
Configurează livrarea la domiciliu și la locker, generează AWB-uri și etichete, urmărește expedierile și automatizează facturarea, într-un flux compatibil cu checkoutul clasic, Checkout Blocks și HPOS.
Instalare și conectare
- Instalează și activează pluginul. WooCommerce trebuie să fie activ, inclusiv în scenarii multisite.
- Deschide Ordova > General. Introdu cheia API și apasă butonul de verificare.
- Confirmă răspunsul contului. Pluginul testează
GET /account/melahttps://api.ordova.roși salvează curierii disponibili. - Salvează setările. Schimbarea manuală a cheii invalidează starea anterioară până la o nouă verificare.
Conexiunea este realizată prin URL HTTPS. DNS, certificatul și accesul outbound al serverului WordPress trebuie să funcționeze.

Date locale și zone de livrare
Ordova folosește un nomenclator canonic de județe și localități, cu identificatorii specifici fiecărui curier. Rulează sincronizarea localităților și lockerelor după conectare, apoi ori de câte ori se modifică portofoliul curierilor.
GET /data/localitiesfurnizează lista canonică și mapările per curier.GET /data/lockersalimentează harta și selectorul de lockere.- Sincronizările recurente sunt gestionate prin Action Scheduler.
- Metoda Ordova trebuie adăugată în fiecare zonă WooCommerce în care vrei să fie disponibilă.
Pluginul tratează relația dintre București și sectoare astfel încât FAN, Cargus, DPD și Sameday să poată folosi aceeași destinație canonică, chiar dacă nomenclatoarele curierilor diferă.

Curieri și tarife
În tabul Curieri, fiecare curier are trei capabilități independente: livrare la domiciliu, livrare la locker și generare AWB. Activarea AWB nu obligă folosirea metodei Ordova în comanda originală; administratorul poate selecta un curier AWB activ și pentru o comandă livrată prin altă metodă.
Moduri de calcul
| Mod | Calcul | Când îl folosești |
|---|---|---|
| Fix | Sumă configurată pentru București sau provincie, cu prag gratuit și costuri suplimentare. | Când vrei un tarif predictibil pentru client. |
| Contract | Tarif returnat de Ordova API pentru destinație, greutate și ramburs. | Când vrei costul real al contractului. |
| Mixt | Tariful contractual, dar nu mai mic decât suma fixă configurată. | Când ai nevoie de un prag minim comercial. |
Costul suplimentar poate include kilometri exteriori și kilograme peste pragul gratuit. Pragurile de livrare gratuită și cupoanele se aplică după regulile configurate. Tariful implicit este folosit când adresa nu poate fi calculată; valoarea zero poate ascunde metoda.

Livrare separată sau unificată
Livrare la domiciliu unificată
Clientul vede o singură metodă. Dacă sunt cel puțin doi curieri eligibili, sub metodă apar opțiunile disponibile. În modul dinamic, prețul inițial este cel mai mic tarif, iar selectarea altui curier actualizează costul metodei fără schimbarea automată la locker.
Livrare la locker unificată
Clientul vede o singură metodă și o singură hartă cu lockerele curierilor selectați. Curierul real se salvează din lockerul ales. Filtrele din hartă permit afișarea sau ascunderea fiecărui curier.
Folosește modurile unificate pentru o listă de livrare mai scurtă și mai ușor de comparat. Păstrează metodele separate când vrei ca numele curierului să fie alegerea principală.


Checkout, adrese și persoană juridică
- Autocomplete pentru localitate după județ, bazat pe nomenclatorul Ordova.
- Ordine coerentă a adresei: județ, localitate, adresă, în checkout clasic și Blocks.
- Codul poștal poate fi ascuns și completat automat.
- Selector Persoană fizică / Persoană juridică, cu CUI, Nr. Reg. Com. și nume firmă.
- Validare server-side pentru CUI și numărul ONRC.
- Completare automată prin
GET /anaf/{CUI}, cu revenire la introducerea manuală dacă API-ul nu răspunde cu 200.
Câmpurile PJ sunt salvate în comandă și apar în administrare și emailurile relevante. În Checkout Blocks ele urmează dimensiunile și spațierea câmpurilor native WooCommerce.

Harta lockerelor
Lockerul se selectează în checkout. Fluxul de alegere în pagina Thank You nu este folosit. Metoda locker este disponibilă doar dacă există lockere pentru combinația județ și localitate selectată.
- Centrare pe localitatea comenzii, cu fallback controlat pe județ.
- Căutare după nume și adresă, plus selector filtrabil.
- Filtre per curier în modul unificat.
- Buton „Folosește locația curentă”, cu permisiunea browserului.
- Închidere accesibilă pe desktop și mobil.
- Validarea lockerului în baza locală înainte de salvare.
Geolocația browserului este disponibilă în producție numai într-un context securizat. Refuzarea permisiunii nu blochează căutarea manuală.

AWB, etichete și email
AWB-ul poate fi generat manual din metaboxul comenzii, automat la statusul configurat sau în masă din lista comenzilor. Pentru comenzi non-Ordova, curierul poate fi ales dintre curierii cu AWB activ.
- Verifică datele comenzii. Nume, telefon, adresă, localitate canonică, județ și greutate.
- Alege setările avansate. Colete, plicuri, plată transport, asigurare și opțiunile permise de curier.
- Generează AWB. Pluginul trimite
POST /awb/generateși salvează numărul, curierul și shipment ID. - Tipărește eticheta. Formatul selectat este cerut prin
GET /awb/{awb}/label?format=A4|A6|ROLA. - Trimite clientului. Emailul AWB poate fi automat sau manual și include linkul public de tracking.
Referința internă trebuie să fie unică inclusiv după anularea și regenerarea unui AWB. Pluginul construiește o referință nouă pentru fiecare încercare validă.
Anularea elimină metadatele AWB necesare și permite regenerarea. Erorile detaliate și payloadul sunt afișate numai administratorilor când debuggingul Ordova este activ.

Tracking automat
Trackingul folosește GET /awb/tracking/{awb} cu antetul X-Ordova-Key. Action Scheduler selectează comenzile cu AWB în loturi și programează actualizarea fiecăreia.
- Statusurile curierului sunt normalizate și mapate spre statusuri WooCommerce configurabile, inclusiv pending.
- Butonul „Actualizează tracking” rulează aceeași integrare pentru o singură comandă.
- Linkul public este
https://tracking.ordova.ro/{awb}. - Diagnosticul intern înregistrează ultima execuție și dimensiunea ultimului lot, fără PII.
Verifică existența callbackurilor, acțiunile recurente și execuția WP Cron. Nu recrea joburi duplicate înainte de a curăța acțiunile vechi eșuate.
Facturare SmartBill și Oblio
Ordova detectează pluginurile oficiale instalate și folosește configurarea lor. Nu dublează credențiale fiscale. Factura poate fi programată după generarea AWB-ului și schimbarea comenzii în statusul ales.
| Element | Comportament |
|---|---|
| Provider | SmartBill sau Oblio, detectat din pluginul oficial activ. |
| Declanșare | Acțiune asincronă după statusul WooCommerce configurat. |
| Retry | Încercări controlate pentru erori temporare, fără documente duplicate. |
| Date PJ | Firma, CUI și ONRC sunt preluate din comandă. |
| Storno | Este gestionat în fluxul Ordova Returns pentru returul asociat. |

Operare, cron și securitate
- Acțiunile administrative verifică permisiuni WooCommerce și nonce.
- Endpointurile AWB administrative nu sunt expuse utilizatorilor neautentificați.
- Datele lockerului sunt validate server-side, nu sunt acceptate direct din frontend.
- Logurile cu payload, răspuns API sau PII sunt disponibile numai în debug restricționat.
- Trackingul, lockerele și operațiile asincrone rulează prin Action Scheduler.
- Cheia API nu trebuie inclusă în capturi, exporturi sau mesaje publice.
ordova_tracking_update
ordova_pending_lockers_check
ordova_fetch_lockersPentru erori recurente, continuă cu ghidul de depanare și pregătire pentru lansare.
Checklist înainte de producție
- Cheia API este validă și curierii activi sunt cei așteptați.
- Localitățile și lockerele sunt sincronizate.
- Metoda Ordova există în zonele WooCommerce corecte.
- Tarifele fix, contract și mixt au fost testate pe București și provincie.
- Checkoutul clasic și Blocks au fost testate pentru PF, PJ, domiciliu și locker.
- Harta a fost testată pe desktop și mobil.
- AWB-ul poate fi generat, tipărit, anulat și regenerat.
- Trackingul manual și automat actualizează aceeași comandă.
- Factura este generată o singură dată prin providerul ales.
- WP_DEBUG_DISPLAY este oprit în producție.