Documentație API
Autentificare
API-ul folosește JWT emis de AWS Cognito. Te autentifici cu datele contului Livrǎria și trimiți tokenul primit pe fiecare cerere legată de contul tău.
Contul de integrare
Nu există chei de API și nu există un flux separat de înregistrare prin API. Folosești un cont Livrǎria obișnuit, creat o singură dată în aplicație. Recomandarea noastră este un cont dedicat integrării, cu o adresă de e-mail pe care o monitorizezi — notificările despre expediții pleacă spre adresa contului.
Obținerea tokenului
/auth/loginpublic10/minCorpul cererii
| Câmp | Tip | Cerut | Descriere |
|---|---|---|---|
email | string | obligatoriu | Adresa de e-mail a contului. |
password | string | obligatoriu | Parola contului. |
{
"email": "integrare@firma.ro",
"password": "parola-contului"
}curl -X POST https://www.api.livraria.ro/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"integrare@firma.ro","password":"parola-contului"}'{
"success": true,
"data": {
"accessToken": "eyJraWQiOiJ...",
"refreshToken": "eyJjdHkiOiJKV1Q...",
"expiresIn": 3600,
"tokenType": "Bearer",
"user": {
"id": "8f4c1e22-...",
"email": "integrare@firma.ro",
"name": "Firma Mea SRL",
"isBusiness": true
}
},
"message": "Login successful"
}Autentificarea reușită răspunde cu 201, nu cu 200.
Câmpurile din data
| Câmp | Tip | Cerut | Descriere |
|---|---|---|---|
accessToken | string | mereu | Tokenul pe care îl trimiți în Authorization. |
refreshToken | string | mereu | Token de reînnoire Cognito. Livrǎria nu expune o rută de refresh — vezi mai jos. |
expiresIn | number | mereu | Durata de viață a tokenului, în secunde (3600). |
tokenType | string | mereu | Mereu Bearer. |
user | object | mereu | id, email, name și isBusiness. Profilul complet se citește cu GET /users/me. |
Folosirea tokenului
Pune tokenul în header-ul Authorization, cu prefixul Bearer:
Authorization: Bearer <accessToken>curl -H "Authorization: Bearer $TOKEN" \
https://www.api.livraria.ro/users/meRutele publice (cotații rapide, date de referință, urmărire publică) nu cer header-ul și îl ignoră dacă îl trimiți.
Ciclul de viață al tokenului
- Tokenul este valabil 3600 de secunde. Ține-l în memorie și refolosește-l pe toată durata lui.
- Nu te autentifica la fiecare cerere. Limita pe
/auth/logineste de 10 cereri pe minut, iar o autentificare pe oră este suficientă pentru o integrare de server. - Nu există rută de
refreshși nici delogout. Când tokenul expiră — primul semn este un 401 — apelează din nou/auth/login. Pentru deconectare, e suficient să arunci tokenul.
Erori
| Cod | Ce înseamnă | Ce faci |
|---|---|---|
| 401 | Credențiale invalide. | Verifică e-mailul și parola. Nu reîncerca automat. |
| 400 | Contul nu este confirmat, sau prea multe încercări de autentificare. | Confirmă adresa din e-mailul primit la înregistrare, respectiv așteaptă trecerea ferestrei. |
| 429 | Ai depășit limita de 10 cereri pe minut. | Așteaptă intervalul din Retry-After. Dacă ajungi aici, cel mai probabil nu cachezi tokenul. |
Mesajul erorii vine pe message, iar forma completă a răspunsurilor de eroare este descrisă în prezentarea generală.
Ai nevoie de ajutor?
Dacă autentificarea eșuează cu date pe care le știi corecte, scrie-ne adresa contului și ora încercării — putem verifica în jurnalele noastre.
Contactează-ne