Documentație, versiunea 0.3.1

Instalare și configurare

Pas cu pas, de la instalare până la primul AWB real.

Cerințe

  • WordPress 6.5 sau mai nou, WooCommerce 8.9 sau mai nou
  • PHP 8.1 sau mai nou, cu extensia sodium (pentru criptarea credențialelor)
  • Cont de client cu acces API la fiecare curier pe care vrei să-l folosești (nu e necesar pentru modul demo)

Instalare

  1. WordPress › Module › Adaugă › Încarcă modul › alege expedro-0.3.1.zip › Instalează › Activează.
  2. Apare meniul Expedro, cu Dashboard și Setări.
  3. Expedro pornește în mod demo: poți testa imediat, fără conturi la curieri.
  4. Opțional, adaugă în wp-config.php o cheie proprie de criptare: define('EXPEDIO_ENCRYPTION_KEY', 'un-șir-lung-aleatoriu');

Mod demo

Toți curierii sunt simulați. Pentru scenarii, folosește ultima cifră a numărului comenzii: 7 înseamnă colet refuzat și returnat, 9 înseamnă livrare eșuată, apoi reușită. Statusurile avansează câte un pas la 2 minute. Din Setări › Mod demo poți face un curier indisponibil, cu timeout sau cu erori aleatorii, ca să vezi cum se comportă checkout-ul.

În modul demo, clienții nu primesc emailuri, iar AWB-urile apar marcate „DEMO”. Oprește modul demo înainte de lansare.

Configurare curieri

Setări › Curieri: bifează curierul, completează datele de acces și apasă Testează conexiunea. Parolele se salvează criptat și nu se mai afișează. Pentru fiecare curier alegi sursa tarifelor: din API (live) sau dintr-un tabel din contract (mai rapid, fără apel la checkout). GLS nu are API de tarife, deci folosește tabelul.

Metoda de livrare

  1. WooCommerce › Setări › Livrare › adaugă o zonă „România” (regiune: România).
  2. Adaugă metoda Expedro — curieri cu tarif live.
  3. În Expedro › Setări › General alegi strategia (cel mai ieftin, cel mai rapid, echilibrat, ordinea ta), adaosul, rotunjirea, pragul de transport gratuit și regulile de selecție.

Checkout și lockere

Funcționează cu checkout-ul clasic (shortcode) și cu cel pe blocuri. Când clientul alege livrarea în locker, apare harta unificată; tariful se recalculează pentru curierul lockerului ales. Comanda nu poate fi plasată fără locker. Autocompletarea localităților folosește nomenclatorul SIRUTA.

AWB și etichete

Din comandă: Compară tarife › Emite AWB › Printează eticheta. Din lista de comenzi: acțiunea în masă „Expedro: emite AWB”. Automat: alegi statusul la care se emite AWB-ul. Dacă clientul a ales un locker, curierul e fixat la al lockerului.

Tracking și emailuri

Creează o pagină cu shortcode-ul [expedio_tracking] și alege-o în Setări › Tracking. Statusurile se actualizează automat la 30 de minute (Action Scheduler). Emailul cu AWB are subiect și text editabile, cu variabilele {order}, {awb}, {carrier}, {tracking_url} și altele.

Retururi

Pe pagina de tracking, clientul cere returul în termenul ales de tine (implicit 14 zile de la livrare). Tu aprobi din comandă, iar Expedro emite AWB-ul de retur, cu ridicare de la client. Istoricul retururilor e în Dashboard › Retururi.

Customer Intelligence

Caseta „Istoric client” arată comenzile anterioare, rezultatul lor, scorul și factorii care l-au produs. Potrivirile doar după telefon sunt arătate separat și nu intră în scor decât dacă activezi asta. Ponderile și pragurile se setează în Setări › Customer Intelligence. Scorul nu ia nicio decizie: poți marca manual un client „fără ramburs”.

API REST

Bază: /wp-json/expedio/v1/, cu header-ul X-Expedro-Key. Cheile au drepturi separate (quote, shipments, track, label, customer) și se generează din Setări › API.

curl -X POST https://magazin.ro/wp-json/expedio/v1/quote \
  -H "X-Expedro-Key: exp_…" -H "Content-Type: application/json" \
  -d '{"recipient":{"county":"Mureș","city":"Reghin"},"weight":2,"cod":150}'

Endpoint-uri: POST /quote, POST /shipments, GET /track/{curier}/{awb}, GET /label/{curier}/{awb}, GET /lockers (public), GET /health, POST /customer (doar cu dreptul „customer”).

Securitate și GDPR

  • Credențialele curierilor sunt criptate în baza de date (libsodium).
  • Jurnalele maschează parolele, tokenurile, telefoanele, emailurile și adresele.
  • Istoricul clienților păstrează doar hash-uri și se șterge automat după termenul ales.
  • Export și ștergere de date din Instrumente › Confidențialitate.
  • Fonturile și harta (Leaflet) sunt găzduite local; doar fundalul hărții vine de la furnizorul de tile-uri ales.

Probleme frecvente

  • Nu apar tarife: verifică zona de livrare, adresa expeditorului și Dashboard › Jurnal.
  • Un curier lipsește din checkout: probabil e în pauză după erori; vezi alertele din Dashboard.
  • Lockerele nu apar: lista se descarcă în fundal o dată pe zi; prima descărcare poate dura câteva minute.