API EasyBill – Integrare rapidă cu aplicațiile tale
EasyBill pune la dispoziție o serie de API-uri care permit altor aplicații să interacționeze direct cu platforma. Astfel, poți integra facturarea și funcționalitățile EasyBill în propriile tale sisteme, pentru procese mai rapide și automatizate.
Pentru a utiliza API-urile EasyBill și a permite altor aplicații să interacționeze cu platforma, este necesar să creezi un utilizator de tip API din meniul Setări → Utilizatori. Acest cont dedicat îți oferă acces securizat și controlat la funcționalitățile disponibile prin API.

Cele mai uzuale API-uri puse la dispoziție de EasyBill sunt:
Provizionare
- Creare utilizator EasyBill dintr-o platforma externa
Autentificare
- Autentificare utilizator API
Cont
- Obținere detalii cont
ANAF e-Factura
- Conectare la ANAF e-Factura
Facturi
- Creare factură
- Listare facturi
- Detalii factură
- Adăugare produse la factura
- Obținere valori TVA
- Actualizare factură
- Descărcare factură
Clienți
- Creare client
- Listare clienți
- Actualizare client
- Ștergere client (soft delete)
Plăți
- Adăugare plată la o factură
- Vizualizare plăți aferente unei facturi
Endpoint unificat
Interacțiunea cu API-urile EasyBill se realizează printr-un endpoint unificat, disponibil la adresa:
https://apps.easybill.ro/cgi-bin/index.cgi?action=pluginToate metodele API sunt accesibile prin acest endpoint, diferențierea făcându-se în funcție de parametrii transmiși în request.
Provizionare utilizator
Metoda POST provisionuser_fct creează (sau activează) un utilizator/cont în EasyBill pe baza datelor primite de la un partener integrat. Este utilă pentru onboarding automat, direct din sistemul tău.
Autorizare (partener)
Accesul se validează prin perechea apikey + consumer (cheie și identificator partener).
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API (valoare fixă). |
| sec | String | provisionuser_fct | Metoda apelată (valoare fixă). |
| apikey | String | api-key-partener | Cheia ta de API, emisă pentru partener. |
| consumer | String | id-partener | ID-ul partenerului/integrării. |
| id | String | 0712121215 | Identificator unic al consumatorului final în sistemul tău (ex. clientId extern). Folosește aceeași valoare pentru idempotență. |
| userprefix | String | partnerId_ | Prefix folosit la generarea username-ului în EasyBill (ex: partnerId_0712121215). |
| role | String | start | Rolul inițial al utilizatorului (ex: start; alte roluri pot fi configurate la onboarding). |
Exemplu request
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
mode=API&
sec=provisionuser_fct&
apikey=api-key-partener&
consumer=id-partener&
id=0712121215&
userprefix=partnerId_&
role=start
Exemplu de raspuns (succes)
{
"status": 1,
"username": "partnerId_0712121215",
"generatedPassword": "XyZ9!kLm",
"message": "Utilizatorul a fost provisionat cu succes"
}
Autentificare
Autentificarea se face folosind metoda POST authenticateUser_fct
Parametrii HTTP necesari
- mode=API – indică faptul că accesul se face prin API.
- sec=authenticateUser_fct – specifică metoda de autentificare utilizată.
- Username – numele de utilizator al contului de tip API.
- Password – parola aferentă contului API.
Exemplu de request
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
mode=API&sec=authenticateUser_fct&Username=api_user&Password=parola123Exemplu de raspuns
{
"Alias": "user-507",
"status": 1,
"SessionId": "0d0d6a7aebbe51f63d3e9abdb18a6d42",
"AppUnique": "44235149x19418608",
"UserId": "507",
"StatusMessage": "Success"
}Parametrii AppUnique (care reprezintă tenantId), UserId și SessionId trebuie incluși în apelurile ulterioare către EasyBill pentru toate metodele care necesită autentificare.
Detalii Cont
Metoda getCompanyInfo_fct permite obținerea informațiilor despre contul EasyBill al comerciantului autentificat. Este utilă pentru a prelua datele firmei (de ex. denumire, CUI, adresă) care sunt asociate contului EasyBill.
Parametrii necesari
- mode=API – specifică accesul prin API.
- sec=getCompanyInfo_fct – indică metoda apelată (în acest caz, obținerea datelor companiei).
- AppUnique={{AppUnique}} – identificatorul unic al tenantului (corespunde
tenantId). - UserId={{UserId}} – ID-ul utilizatorului autentificat.
- SessionId={{SessionId}} – token-ul de sesiune obținut la autentificare.
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getCompanyDetails_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}} HTTP/1.1
Host: apps.easybill.ro
Exemplu de raspuns
{
"anafShortCode": "LE9KI",
"agentCommission": "0",
"companyCurrencyCommission": "0",
"companyDecimalPrecision": "",
"companyUniqueRegistrationNumber": "30305759",
"companyTradeRegistryNumber": "-",
"companyLargeLogoURL": "",
"agentName": "",
"companyVAT": "0",
"anafConnectionURL": "https://apps.easybill.ro/anaf-connect/LE9KI",
"companyData": "0711223344",
"agentSSN": "",
"companyWithVATAtCollection": "0",
"companyIsWithoutVAT": "0",
"companyLogoURL": "",
"agentSeries": "",
"companyName": "Easybill Digital S.R.L.",
"companyDefaultCurrency": ""
}Conectare ANAF e-Factura
Pentru conectarea aplicației tale la ANAF e-Factura, procesul este foarte simplu. Tot ce trebuie să faci este să folosești linkul de conectare la ANAF generat de EasyBill, unic pentru fiecare comerciant. Acesta este primit pe raspuns la getCompanyDetails_fct: anafConnectionURL
Pași de urmat
1. Obține linkul de conectare
Din răspunsul API EasyBill, primești un câmp de forma:
"anafConnectionURL": "https://apps.easybill.ro/anaf-connect/LE9KI"Acest URL este unic pentru fiecare comerciant.
2. Redirecționează utilizatorul către ANAF
Aplicatia ta trebuie să trimită utilizatorul pe linkul anafConnectionURL. Acolo se face autentificarea în sistemul ANAF.
3. Autorizarea conexiunii
Odată autentificat, utilizatorul autorizează accesul EasyBill la contul său ANAF pentru transmiterea și descărcarea facturilor electronice.
4. Confirmarea conexiunii
După autorizare, EasyBill confirmă succesul conectării. Din acest moment, schimbul de facturi cu ANAF e-Factura se face automat prin EasyBill, fără alte acțiuni suplimentare.
Client
Creare client
Metoda addClient_fct permite crearea unui client nou în EasyBill. Este utilă pentru a adăuga clienți direct din aplicația ta și pentru a-i utiliza ulterior la emiterea facturilor.
Metodă HTTP
POST
Parametrii necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| mode | String | API | Acces prin API (valoare fixă) |
| sec | String | addClient_fct | Metoda apelată (valoare fixă) |
| clientName | String | Client API E-Factura 2 | Denumirea clientului |
| clientCIF | String | RO11223344 | Cod de identificare fiscală (CUI/CIF) |
| clientNrRegCom | String | J11/20/2015 | Număr Registrul Comerțului |
| clientAddressLine | String | Unirii 1 | Adresa completă |
| clientCounty | String | B-SECTOR1 | Județ/Sector |
| clientCountry | String | RO | Cod țară |
| clientContactPerson | String | Ionut Popescu | Persoana de contact |
| clientPhone | String | 0733112233 | Telefon |
| clientEmail | String | ionut.popescu@easybill.ro | |
| clientBank | String | OMRO IFN SA | Bancă |
| clientBankAccount | String | RO11 OMRO 0000 1111 2222 3333 | IBAN |
| clientCity | String | Bucuresti | Oraș |
| xType | String | LE | Tip client (LE = persoană juridică, PF = persoană fizică) |
| xPaymentTerms | Int | 10 | Termen de plată (zile) |
| xSendInvoiceByEmail | Boolean | 1 | Trimite facturi prin email (1 = da, 0 = nu) |
| xSendInvoiceBySms | Boolean | 1 | Trimite facturi prin SMS (1 = da, 0 = nu) |
| json | Boolean | 1 | Solicită răspuns în format JSON |
Exemplu request – Bucuresti
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addClient_fct&
clientName=Client%20API%20E-Factura%202&
clientCIF=RO11223344&
clientNrRegCom=J11/20/2015&
clientAddressLine=Unirii%201&
clientCounty=B-SECTOR1&
clientCountry=RO&
clientContactPerson=Ionut%20Popescu&
clientPhone=0733112233&
clientEmail=ionut.popescu@easybill.ro&
clientBank=OMRO%20IFN%20SA&
clientBankAccount=RO11OMRO0000111122223333&
clientCity=Bucuresti&
xType=LE&
xPaymentTerms=10&
xSendInvoiceByEmail=1&
xSendInvoiceBySms=1&
json=1
Exemplu request tara
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addClient_fct&
clientName=Client%20API%20E-Factura%202&
clientCIF=RO11223344&
clientNrRegCom=J11/20/2015&
clientAddressLine=Unirii%201&
clientCounty=AG&
clientCountry=RO&
clientContactPerson=Ionut%20Popescu&
clientPhone=0733112233&
clientEmail=ionut.popescu@easybill.ro&
clientBank=OMRO%20IFN%20SA&
clientBankAccount=RO11OMRO0000111122223333&
xPaymentTerms=10&
xSendInvoiceByEmail=1&
xSendInvoiceBySms=1&
json=1&
clientCity=Pitesti&
xType=LE
Exemplu răspuns
{
"clientId": "595039",
"status": 1
}Listare clienți
Metoda searchClient_fct permite listarea și căutarea clienților existenți din contul EasyBill. Poți folosi parametrii opționali pentru a filtra rezultatele prin căutare full-text și pentru a limita numărul de rezultate returnate.
Metodă HTTP
GET
Parametrii necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API (valoare fixă). |
| sec | String | searchClient_fct | Metoda apelată (valoare fixă). |
| AppUnique | String | {{AppUnique}} | Identificatorul unic al tenantului (tenantId). |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat. |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare. |
| query | String | test | (Opțional) Căutare full-text în lista de clienți (după nume, email, CIF etc.). |
| limit | Integer | 10 | (Opțional) Număr maxim de clienți returnați. |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchClient_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&query=test&limit=10 HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
[
{
"clientCIF": "1232343",
"clientCountryCode": "RO",
"clientPaymentTerms": "0",
"clientName": "12",
"clientContactPerson": "2312312",
"clientAddressLine": "2312312",
"clientNotificationsEmail": "1",
"clientBankAccount": "2312312",
"clientId": "297995",
"clientCity": "",
"clientCounty": "2312312",
"clientType": "LE",
"clientEmail": "",
"clientCountyCode": "",
"clientNrRegCom": "12312312",
"clientPhone": "",
"clientNotificationsSms": "1",
"clientBank": "1232"
},
{
"clientCIF": "12deferf",
"clientCountryCode": "RO",
"clientPaymentTerms": "0",
"clientName": "12121212",
"clientContactPerson": "12",
"clientAddressLine": "121",
"clientNotificationsEmail": "1",
"clientBankAccount": "12",
"clientId": "297991",
"clientCity": "",
"clientCounty": "12",
"clientType": "LE",
"clientEmail": "",
"clientCountyCode": "",
"clientNrRegCom": "12",
"clientPhone": "",
"clientNotificationsSms": "1",
"clientBank": "12"
},
{
"clientCIF": "232323232",
"clientCountryCode": "RO",
"clientPaymentTerms": "11",
"clientName": "12341fgv",
"clientContactPerson": "11",
"clientAddressLine": "11",
"clientNotificationsEmail": "0",
"clientBankAccount": "11",
"clientId": "301319",
"clientCity": "Bucuresti",
"clientCounty": "BUCURESTI - Sector 4",
"clientType": "LE",
"clientEmail": "",
"clientCountyCode": "B-SECTOR4",
"clientNrRegCom": "11",
"clientPhone": "",
"clientNotificationsSms": "1",
"clientBank": "111"
}
]Actualizare client
Metoda updateClient_fct permite actualizarea informațiilor unui client deja existent în EasyBill. Este necesar să transmiți clientId și doar câmpurile pe care dorești să le modifici.
Metodă HTTPPOST
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| mode | String | API | Acces prin API |
| sec | String | updateClient_fct | Metoda apelată |
| clientId | Integer | 292391 | ID-ul clientului ce trebuie actualizat |
| xClientName | String | Client API Mobile 1 | Numele clientului |
| xClientSSN | String | MOB1122330 | Cod numeric personal sau identificator unic |
| xClientRegCom | String | J11/20/2015 | Nr. Registrul Comerțului |
| xClientAddress | String | Unirii 1 | Adresa completă |
| xClientCounty | String | B-SECTOR1 | Județ / Sector |
| xClientCountry | String | RO | Cod țară |
| xClientContactPerson | String | Ionut Popescu | Persoana de contact |
| xClientEmail | String | 0733112233 | Email (atenție la câmp, în exemplu este inversat cu telefonul) |
| xClientPhone | String | ionut.popescu@easybill.ro | Telefon (în exemplu este inversat cu emailul) |
| xClientBank | String | OMRO IFN SA | Bancă |
| xClientBankAccount | String | RO11 OMRO 0000 1111 2222 3333 | Cont IBAN |
| xClientCity | String | Bucuresti | Oraș |
| xPaymentTerms | Integer | 5 | Termen de plată (zile) |
| xSendInvoiceByEmail | Boolean | 1 | Trimitere facturi pe email (1=da, 0=nu) |
| xSendInvoiceBySms | Boolean | 1 | Trimitere facturi prin SMS (1=da, 0=nu) |
| json | Boolean | 1 | Solicită răspuns în format JSON |
Exemplu request
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=updateClient_fct&
clientId=292391&
xClientName=Client%20API%20Mobile%201&
xClientSSN=MOB1122330&
xClientRegCom=J11/20/2015&
xClientAddress=Unirii%201&
xClientCounty=B-SECTOR1&
xClientCountry=RO&
xClientContactPerson=Ionut%20Popescu&
xClientEmail=ionut.popescu@easybill.ro&
xClientPhone=0733112233&
xClientBank=OMRO%20IFN%20SA&
xClientBankAccount=RO11OMRO0000111122223333&
xClientCity=Bucuresti&
xPaymentTerms=5&
xSendInvoiceByEmail=1&
xSendInvoiceBySms=1&
json=1
Exemplu raspuns
{
"status": 0
}Factură
Adaugă factură
Metoda createInvoice_fct permite crearea unei facturi noi în EasyBill. Poți crea facturi în stare de draft sau finale.
Metodă HTTPPOST
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| mode | String | API | Acces prin API |
| sec | String | createInvoice_fct | Metoda apelată |
| json | Boolean | 1 | Solicită răspuns în format JSON |
| invoiceDate | Date | 2020-05-01 | Data facturii (YYYY-MM-DD) |
| invoiceStatus | Integer | 1 | Starea facturii (0 = draft/proformă, 1 = finală) |
| invoiceExternalId | String | (gol) | Identificator extern (opțional, pentru corelare cu sisteme externe) |
| invoiceExternalClientId | String | (gol) | Identificator extern (opțional, pentru corelare cu sisteme externe) |
| clientId | Integer | 164690 | ID-ul clientului (obținut anterior cu addClient_fct) |
| invoiceCurrency | String | (gol) | Specifica valuta facturii, RON, EUR, USD. Daca nu este specificat, se completeaza automat valuta contului. |
| invoiceSeries | String | (gol) | Se poate specifica o serie externa pentru factura |
| invoiceNumber | String | (gol) | Se poate specifica un numar externa pentru factura |
| invoiceComments | String | (gol) | Se pot specifica comentarii aditionale care vor aparea pe factura |
Exemplu request
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=createInvoice_fct&
json=1&
invoiceDate=2020-05-01&
invoiceStatus=1&
invoiceExternalId=&
clientId=164690Exemplu raspuns
{
"statusMessage": "Invoice created successfully",
"status": 1,
"ebInvoiceNo": "92032900"
}Adăugare produse la factura (simplu – fără stoc)
Metoda addProductToInvoice_fct permite adăugarea unui produs sau serviciu pe o factură existentă în EasyBill. Această variantă este simplă (nu gestionează stocuri) și adaugă poziția direct pe factură.
Metodă HTTPPOST
Parametrii necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| mode | String | API | Acces prin API |
| sec | String | addProductToInvoice_fct | Metoda apelată |
| json | Boolean | 1 | Solicită răspuns în format JSON |
| productName | String | Serviciu Simplu 1 | Denumirea produsului/serviciului |
| productPrice | Number | 200 | Preț unitar (fără TVA) |
| productCurrency | String | RON | Moneda prețului |
| productType | String | s | Tip poziție: s = serviciu, p = produs |
| productSeries | String | SN123124 | Serie/identificator unic (opțional) |
| productWarranty | String | 12 months | Garanție (opțional) |
| productCategoryId | String | (gol) | ID categorie (opțional) |
| productUM | String | buc | Unitate de măsură |
| productQuantity | Number | 2 | Cantitate |
| productVAT | Number | 19 | Cotă TVA (%) |
| productPriceIncludesVat | Boolean | 0 | Pretul include TVA (0 = nu, 1 = retur) |
| productIsReturned | Boolean | 0 | Poziție retur (0 = nu, 1 = retur) |
| productComments | String | (gol) | Comentarii linie factură (opțional) |
| invoiceId | String | {{ebInvoiceNo}} | ID-ul facturii pe care se adaugă produsul |
| invoiceIdType | String | id | Tip identificator: id (intern) sau number (număr factură) |
| simpleProduct | Boolean | 1 | 1 = produs simplu (fără gestiune stoc), 0 = produs din catalog/stoc |
Exemplu request
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addProductToInvoice_fct&
json=1&
productName=Serviciu%20Simplu%201&
productPrice=200&
productCurrency=RON&
productType=s&
productSeries=SN123124&
productWarranty=12%20months&
productCategoryId=&
productUM=buc&
productQuantity=2&
productVAT=19&
productIsReturned=0&
productComments=&
invoiceId={{ebInvoiceNo}}&
invoiceIdType=id&
simpleProduct=1
Exemplu response
{
"valueWithoutVat": "400.00",
"vatValue": "76.00",
"status": 0,
"convertedPrice": "200.00",
"prodId": "2981336"
}Adăugare produse la factura (cu stoc)
Metoda addProductToInvoice_fct permite adăugarea unui produs existent în catalogul EasyBill, cu gestiune de stoc, pe o factură. În acest caz, trebuie folosit simpleProduct=0 și transmis un productId valid.
Metodă HTTPPOST
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| mode | String | API | Acces prin API |
| sec | String | addProductToInvoice_fct | Metoda apelată |
| json | Boolean | 1 | Solicită răspuns în format JSON |
| productId | Integer | 1526053 | ID-ul produsului existent în catalog |
| productName | String | Test Produs 5 | Numele produsului (preluat din catalog) |
| productPrice | Number | 200 | Preț unitar (fără TVA) |
| productCurrency | String | RON | Moneda prețului |
| productType | String | p | Tip poziție: p = produs (cu stoc) |
| productPCId | Integer | 3437 | ID categorie produs (din catalog) |
| productSeries | String | SN123124 | Serie/identificator unic (opțional) |
| productWarranty | String | 12 months | Garanție (opțional) |
| productCategoryId | String | (gol) | ID categorie suplimentară (opțional) |
| productUM | String | buc | Unitate de măsură |
| productQuantity | Number | 3 | Cantitate |
| productVAT | Number | 19 | Cotă TVA (%) |
| productIsReturned | Boolean | 0 | Poziție retur (0 = nu, 1 = retur) |
| productComments | String | (gol) | Comentarii linie factură (opțional) |
| invoiceId | String | {{ebInvoiceNo}} | ID-ul facturii pe care se adaugă produsul |
| invoiceIdType | String | id | Tip identificator: id (intern) sau number (număr factură) |
| simpleProduct | Boolean | 0 | 0 = produs din catalog (cu stoc), 1 = produs simplu |
Exemplu request
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addProductToInvoice_fct&
json=1&
productId=1526053&
productName=Test%20Produs%205&
productPrice=200&
productCurrency=RON&
productType=p&
productPCId=3437&
productSeries=SN123124&
productWarranty=12%20months&
productCategoryId=&
productUM=buc&
productQuantity=3&
productVAT=19&
productIsReturned=0&
productComments=&
invoiceId={{ebInvoiceNo}}&
invoiceIdType=id&
simpleProduct=0
Exemplu raspuns
{
"valueWithoutVat": "600.00",
"vatValue": "114.00",
"status": 0,
"convertedPrice": "200.00",
"prodId": "2981338"
}Preia produse din stoc
Metoda searchProduct_fct permite listarea produselor existente în catalogul EasyBill și preluarea informațiilor despre stocul acestora.
Metodă HTTPGET
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | searchProduct_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchProduct_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&query=Laptop&limit=10 HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
[
{
"productPriceWithoutCommision": "990",
"productVAT": "0",
"productName": "Apple iPad warranty - fara tva",
"productCurrency": "RON",
"productUM": "D33",
"productCategory": "Categorie produs",
"productWarehouse": "Lou",
"productSeries": "1231SN12ABC",
"productCategoryId": "50425",
"productIsReturned": "0",
"productWarranty": "",
"productType": "s",
"productId": "2972049",
"productWarehouseId": "51152",
"productPCId": "5586",
"productPrice": 990,
"productQuantity": "100"
},
{
"productPriceWithoutCommision": "100",
"productVAT": "0",
"productName": "lampa led",
"productCurrency": "RON",
"productUM": "buc",
"productCategory": "Implicit",
"productWarehouse": "Depozit Bucuresti",
"productSeries": "SZ",
"productCategoryId": "140",
"productIsReturned": "0",
"productWarranty": "",
"productType": "p",
"productId": "2744502",
"productWarehouseId": "3129",
"productPCId": "9562",
"productPrice": 100,
"productQuantity": "5000"
},
{
"productPriceWithoutCommision": "300",
"productVAT": "19",
"productName": "Licente PowerBI",
"productCurrency": "EUR",
"productUM": "",
"productCategory": "",
"productWarehouse": "",
"productSeries": "",
"productCategoryId": "0",
"productIsReturned": "0",
"productWarranty": "24 luni",
"productType": "p",
"productId": "1813318",
"productWarehouseId": "",
"productPCId": "0",
"productPrice": 300,
"productQuantity": "33"
}
]Listare facturi
Metoda searchInvoices_fct permite listarea facturilor emise într-un interval de timp specificat.
Metodă HTTPGET
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | searchInvoices_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| startDate | Date | 2025-09-05 | Data de început a intervalului (YYYY-MM-DD) |
| endDate | Date | 2025-09-05 | Data de sfârșit a intervalului (YYYY-MM-DD) |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchInvoices_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&startDate=2025-09-05&endDate=2025-09-05 HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
[
{
"invoiceCurrency": "RON",
"invoiceStatus": "fiscal",
"invoiceNumber": "950",
"invoiceDueDate": "2025-09-05",
"representativeIdetityTransportNumber": "",
"invoiceIssueDate": "2025-09-05",
"clientName": "Claudiu Gura SRL",
"invoiceComments": "",
"invoiceCategory": "0",
"invoiceSerie": "EBF",
"representativeIdetityNumber": "",
"representativeIdetitySeries": "",
"clientId": "164690",
"invoicePaymentTerms": "0",
"clientCounty": "",
"invoiceTotalAmount": 0,
"invoiceId": "92029874",
"invoiceIsCancelled": "0",
"delegat_eliberat": "",
"invoiceOutstandingBalance": 0,
"clientNationalUniqueIdentifier": "RO1211221113",
"invoiceFormatedDueDate": "05.09.2025",
"representativeIdetityTransportType": "",
"clientBankAccount": "",
"invoiceFormatedIssueDate": "05.09.2025",
"anafIdDescarcare": null,
"representativeName": "",
"anafStatus": "",
"clientTradeRegistryOffice": "J12/232/2432",
"clientAddress": "",
"clientBank": "",
"invoiceIsFinished": "1"
},
{
"invoiceCurrency": "RON",
"invoiceStatus": "draft",
"invoiceNumber": "948",
"invoiceDueDate": "2025-09-05",
"representativeIdetityTransportNumber": "",
"invoiceIssueDate": "2025-09-05",
"clientName": "",
"invoiceComments": "",
"invoiceCategory": "0",
"invoiceSerie": "EBF",
"representativeIdetityNumber": "",
"representativeIdetitySeries": "",
"clientId": "0",
"invoicePaymentTerms": "0",
"clientCounty": "",
"invoiceTotalAmount": 0,
"invoiceId": "92029844",
"invoiceIsCancelled": "0",
"delegat_eliberat": "",
"invoiceOutstandingBalance": 0,
"clientNationalUniqueIdentifier": "",
"invoiceFormatedDueDate": "05.09.2025",
"representativeIdetityTransportType": "",
"clientBankAccount": "",
"invoiceFormatedIssueDate": "05.09.2025",
"anafIdDescarcare": null,
"representativeName": "",
"anafStatus": "",
"clientTradeRegistryOffice": "",
"clientAddress": "",
"clientBank": "",
"invoiceIsFinished": "1"
},
{
"invoiceCurrency": "RON",
"invoiceStatus": "fiscal",
"invoiceNumber": "947",
"invoiceDueDate": "2025-09-05",
"representativeIdetityTransportNumber": "",
"invoiceIssueDate": "2025-09-05",
"clientName": "Claudiu Gura SRL",
"invoiceComments": "",
"invoiceCategory": "0",
"invoiceSerie": "EBF",
"representativeIdetityNumber": "",
"representativeIdetitySeries": "",
"clientId": "164690",
"invoicePaymentTerms": "0",
"clientCounty": "",
"invoiceTotalAmount": 297.5,
"invoiceId": "92029803",
"invoiceIsCancelled": "0",
"delegat_eliberat": "",
"invoiceOutstandingBalance": 297.5,
"clientNationalUniqueIdentifier": "RO1211221113",
"invoiceFormatedDueDate": "05.09.2025",
"representativeIdetityTransportType": "",
"clientBankAccount": "",
"invoiceFormatedIssueDate": "05.09.2025",
"anafIdDescarcare": null,
"representativeName": "",
"anafStatus": "",
"clientTradeRegistryOffice": "J12/232/2432",
"clientAddress": "",
"clientBank": "",
"invoiceIsFinished": "1"
}
]Detalii factura
Metoda searchInvoices_fct poate fi folosită și pentru a obține informațiile complete despre o anumită factură, folosind parametrul invoiceId.
Metodă HTTPGET
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | searchInvoices_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| invoiceId | String/Number | {{ebInvoiceNo}} | ID-ul facturii pentru care se cer detaliile |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchInvoices_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&invoiceId={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
[
{
"invoiceCurrency": "RON",
"invoiceStatus": "fiscal",
"invoiceNumber": "955",
"invoiceDueDate": "2020-05-01",
"representativeIdetityTransportNumber": "",
"invoiceIssueDate": "2020-05-01",
"clientName": "Claudiu Gura SRL",
"invoiceComments": "",
"invoiceCategory": "0",
"invoiceSerie": "EBF",
"representativeIdetityNumber": "",
"representativeIdetitySeries": "",
"clientId": "164690",
"invoicePaymentTerms": "0",
"clientCounty": "",
"invoiceTotalAmount": 1904,
"invoiceId": "92032900",
"invoiceIsCancelled": "0",
"delegat_eliberat": "",
"invoiceOutstandingBalance": 1904,
"clientNationalUniqueIdentifier": "RO1211221113",
"invoiceFormatedDueDate": "01.05.2020",
"representativeIdetityTransportType": "",
"clientBankAccount": "",
"invoiceFormatedIssueDate": "01.05.2020",
"anafIdDescarcare": null,
"representativeName": "",
"anafStatus": "",
"clientTradeRegistryOffice": "J12/232/2432",
"clientAddress": "",
"clientBank": "",
"invoiceIsFinished": "1"
}
]Preia produse factura
Metoda getInvoiceProducts_fct returnează lista produselor/serviciilor asociate unei facturi existente.
Metodă HTTPGET
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | getInvoiceProducts_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| invoiceId | String/Number | {{ebInvoiceNo}} | ID-ul facturii pentru care se cer produsele |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getInvoiceProducts_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&invoiceId={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro
Exemplu response
[
{
"productCatalogueId": "2998155",
"productVAT": "19",
"productName": "Apple iPad warranty - fara tva",
"productTypeName": "service",
"productCurrency": "RON",
"productSN": "1231SN12ABC",
"productUM": "D33",
"productWarehouse": "Lou",
"productWarranty": "",
"productType": "s",
"productId": "2981338",
"productWarehouseId": "51152",
"productPrice": "200.00",
"productVATValue": "38.00",
"isCancelled": "0",
"productQuantity": "3"
},
{
"productCatalogueId": "2998153",
"productVAT": "19",
"productName": "Serviciu Simplu 1",
"productTypeName": "one-time",
"productCurrency": "RON",
"productSN": "SN123124",
"productUM": "buc",
"productWarehouse": "",
"productWarranty": "12 months",
"productType": "o",
"productId": "2981336",
"productWarehouseId": "",
"productPrice": "200.00",
"productVATValue": "38.00",
"isCancelled": "0",
"productQuantity": "2"
}
]Download PDF factura
Metoda downloadInvoice_fct permite descărcarea unei facturi în format PDF, pe baza ID-ului sau numărului facturii.
Metodă HTTPGET
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | downloadInvoice_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| fact | String/Number | {{ebInvoiceNo}} | ID-ul sau numărul facturii pentru care se dorește descărcarea PDF-ului |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=downloadInvoice_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&fact={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
Content-Type: application/pdf
Content-Disposition: attachment; filename="INV-2025-0001.pdf"Metoda addPayment_fct permite adăugarea unei plăți asociate unei facturi existente în EasyBill. Poți specifica detalii precum tipul plății, suma, compania care a efectuat plata și eventuale observații.
Metodă HTTPPOST
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| mode | String | API | Acces prin API |
| sec | String | addPayment_fct | Metoda apelată |
| json | Boolean | 1 | Solicită răspuns în format JSON |
| invoiceId | String | {{ebInvoiceNo}} | ID-ul facturii pentru care se adaugă plata |
| type | String | card | Tip plată (card, cash, bank, receipt) |
| number | String | 123 | Număr document de plată (ex: chitanță, OP, referință tranzacție) |
| date | Date | 2025-09-12 (sau gol = azi) | Data plății (YYYY-MM-DD), dacă nu se specifică se folosește data curentă |
| details | String | payment details for a specific invoice | Detalii suplimentare pentru plată |
| company | String | Test ABC SRL | Denumirea entității care a efectuat plata |
| amount | Number | 120 | Suma plătită |
| currency | String | RON | Moneda plății |
Exemplu request
POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded
SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addPayment_fct&
json=1&
invoiceId={{ebInvoiceNo}}&
type=card&
number=123&
date=&
details=payment%20details%20for%20a%20specific%20invoice&
company=Test%20ABC%20SRL&
amount=120&
currency=RON
Exemplu raspuns
{
"status": "0"
}Preluare plăți aferente unei facturi
Metoda getPayments_fct returnează lista plăților înregistrate pentru o anumită factură din EasyBill. Poți vedea detalii precum suma, tipul plății, compania care a efectuat plata și dacă o plată a fost anulată.
Metodă HTTPGET
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | getPayments_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| invoiceId | String/Number | {{ebInvoiceNo}} | ID-ul facturii pentru care se cer plățile |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getPayments_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&invoiceId={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
[
{
"isCanceled": "0",
"paymentNumber": "123",
"paymentAmount": "120",
"paymentDetails": "payment details for a specific invoice",
"paymentType": "paymentorder",
"invoiceId": "92032900",
"paymentId": "118319",
"paymentDate": "2025-09-12",
"paymentCompany": "Test ABC SRL",
"paymentCurrency": "RON"
},
{
"isCanceled": "0",
"paymentNumber": "123",
"paymentAmount": "120",
"paymentDetails": "payment details for a specific invoice",
"paymentType": "paymentorder",
"invoiceId": "92032900",
"paymentId": "118320",
"paymentDate": "2025-09-12",
"paymentCompany": "Test ABC SRL",
"paymentCurrency": "RON"
},
{
"isCanceled": "0",
"paymentNumber": "157",
"paymentAmount": "120",
"paymentDetails": "payment details for a specific invoice",
"paymentType": "receipt",
"invoiceId": "92032900",
"paymentId": "286891",
"paymentDate": "2025-09-12",
"paymentCompany": "Test ABC SRL",
"paymentCurrency": "RON"
}
]Preia cote specifice TVA
Metoda getvatrates_fct returnează lista cotelor de TVA disponibile pentru comerciant. Sunt incluse atât cotele standard aplicabile la nivel de țară (ex. România), cât și eventualele cote particularizate definite de utilizator în contul său EasyBill.
Metodă HTTPGET
Parametri necesari
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | getvatrates_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| country | String | RO | Codul țării pentru care se solicită cotele de TVA |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getvatrates_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&country=RO HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
[
{
"vatValue": "21",
"vatDescription": "Cota TVA standard"
},
{
"vatValue": "11",
"vatDescription": "Cota TVA redusa"
},
{
"vatValue": "5",
"vatDescription": "Cota TVA redusa (veche)"
},
{
"vatValue": "0",
"vatDescription": "Neplatitor TVA"
},
{
"vatValue": "19",
"vatDescription": "Cota TVA standard (veche)"
},
{
"vatValue": "8",
"vatDescription": "regimul special pt agricultori 8%"
}
]Metoda preluat judete in format ANAF e-Factura
Metoda getcounties_fct returnează lista județelor în formatul utilizat de ANAF e-Factura.
Metodă HTTPGET
Parametri
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | getcounties_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| query (opțional) | String | VN | Filtru de căutare (cod sau nume parțial județ) |
Exemplu raspuns
[
{
"countyName": "ARGES",
"countyCodeISO": "RO-AG",
"countyId": "AG"
},
{
"countyName": "ARAD",
"countyCodeISO": "RO-AR",
"countyId": "AR"
}
]Metoda preluat tari in format ANAF e-Factura
Metoda getcountries_fct returnează lista țărilor în formatul utilizat de ANAF e-Factura. Poți filtra rezultatele printr-o căutare full-text folosind parametrul query.
Metodă HTTPGET
Parametri
| Parametru | Tip | Exemplu | Descriere |
|---|---|---|---|
| mode | String | API | Acces prin API |
| sec | String | getcountries_fct | Metoda apelată |
| AppUnique | String | {{AppUnique}} | Identificatorul tenantului (tenantId) |
| UserId | String | {{UserId}} | ID-ul utilizatorului autentificat |
| SessionId | String | {{SessionId}} | Token de sesiune obținut la autentificare |
| query (opțional) | String | RO | Filtru de căutare (cod sau denumire țară) |
Exemplu request
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getcountries_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&query=RO HTTP/1.1
Host: apps.easybill.ro
Exemplu raspuns
[
{
"countryName": "Cameroon",
"countryId": "CM"
},
{
"countryName": "Comoros",
"countryId": "KM"
},
{
"countryName": "Croatia",
"countryId": "HR"
},
{
"countryName": "Faroe Islands",
"countryId": "FO"
},
{
"countryName": "Micronesia (Federated States of)",
"countryId": "FM"
},
{
"countryName": "Montenegro",
"countryId": "ME"
},
{
"countryName": "Morocco",
"countryId": "MA"
},
{
"countryName": "Romania",
"countryId": "RO"
},
{
"countryName": "Taiwan, Province of China",
"countryId": "TW"
}
]Lista unitati de masura
Am detaliat lista unităților de măsură (UM) conforme cu ANAF e-Factura. Acestea trebuie folosite la API-ul de adăugare produs (addProductToInvoice_fct) în câmpul productUM.
Mai jos este tabelul cu codurile UM, denumirea în română și corespondentul în engleză:
| Cod | Denumire (RO) | Denumire (EN) |
|---|---|---|
| 58 | Kilogram net | Net kilogram |
| A75 | Tonă de marfă | Tons of cargo |
| C62 | Unitate | Unit |
| DAY | Zi | Day |
| E48 | Unitate de service / Serviciu | Service unit |
| EA | Unitate | Unit |
| G48 | Centimetru cub pe oră | Cubic centimeter per hour |
| GV | Gigajoule | Gigajoules |
| H87 | Bucată | Piece |
| HUR | Oră | Hour |
| KGM | Kilogram | Kilogram |
| KMT | Kilometru | Kilometer |
| KT | Kit | Kit |
| KWH | Kilowatt oră | Kilowatt hour |
| LM | Metru liniar | Linear meter |
| LTR | Litru | Liter |
| M4 | Valoare monetară | Monetary value |
| MLT | Mililitru | Milliliter |
| MON | Lună | Month |
| MTK | Metru pătrat | Square meter |
| MTQ | Metru cub | Cubic meter |
| MTR | Metru | Meter |
| NAR | Articol | Item |
| NCL | Număr de celule | Number of cells |
| PR | Pereche | Pair |
| RLE | Rulou | Roll |
| SET | Set | Set |
| ST | Pachet | Pouch |
| TNE | Tonă | Tonne (metric ton) |
| WEE | Săptămână | Week |
| XPP | Pagina tipărită | Printed page |
| YDQ | Kilogram pe zi | Kilogram per day |
Colecție Postman
Pentru a facilita integrarea, am pregătit o colecție Postman care conține cele mai uzuale metode API EasyBill. Aceasta poate fi descărcată și importată direct în Postman, pentru a testa rapid funcționalitățile disponibile. Poți descărca colecția de la următorul link: