Integrari simple intre Oblio si alte aplicatii folosite in firma ta.
Documentatie usoara, suport tehnic prompt. Oblio este iubit si de programatori.
Oblio pune la dispozitie pentru dezvoltatori un API cu ajutorul caruia puteti avea acces la diferite facilitati cum ar fi:
Raspunsurile vin in format JSON, daca cererea a fost facuta cu succes se va trimite de catre server un cod de status 200, daca cererea nu este facuta cu succes se va trimite un cod de status 400 sau 401 cu un mesaj de eroare.
Daca accesati link-ul https://www.oblio.eu/download/exemple_api.zip veti gasi exemple de implementare ale API-ului.
Oblio REST API foloseste modulul OAuth 2.0 pentru autorizare. Acesta are nevoie de parametrul "client_id" care reprezinta email-ul cu care va autentificati in Oblio si "client_secret" care este un token pe care il gasiti in cont in sectiunea "Setari" > "Date Cont". Pentru securitate, token-ul "client_secret" se regenereaza de fiecare data cand se reseteaza parola. Pentru obtinerea token-ului de acces se trimite o cerere prin metoda "POST" impreuna cu parametrii "client_id" si "client_secret" catre adresa https://www.oblio.eu/api/authorize/token
curl -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=nume@exemplu.com&client_secret=1edd9e4f6..." -X POST https://www.oblio.eu/api/authorize/token
{
"access_token": "67d6f8817c28d698bdae35728c7a30b02a75bd4d",
"expires_in": "3600",
"token_type": "Bearer",
"scope": "",
"request_time": "1540471129"
}
Toate celelalte cereri catre Oblio REST API se fac folosind header-ul "Authorization" cu valoarea "Bearer {access_token}" unde {access_token} se obtine din cererea de mai sus.
Daca sunt mai mult de 3 cereri pe secunda token-ul de acces va fi blocat timp de 10 minute.
Returneaza lista de companii asociate cu contul Oblio
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET https://www.oblio.eu/api/nomenclature/companies
{
"status": 200,
"statusMessage": "Success",
"data": [
{
"cif": "RO37311090",
"company": "OBLIO SOFTWARE SRL",
"userTypeAccess": "admin"
}
]
}
Returneaza lista de cote TVA pentru o anumita firma
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET "https://www.oblio.eu/api/nomenclature/vat_rates?cif=RO37311090"
{
"status": 200,
"statusMessage": "Success",
"data": [
{
"name": "Normala",
"percent": 19,
"default": true
},
{
"name": "Redusa",
"percent": 9,
"default": false
},
{
"name": "SFDD",
"percent": 0,
"default": false
}
]
}
Returneaza lista de clienti pentru o anumita firma
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
name | Numele clientului cautat |
clientCif | Ciful clientului cautat |
offset | Vor aparea initial maxim 250 de rezultate, este de preferat sa fie multiplu de 250 (0, 250, 500 etc.), valoarea implicita este 0 |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET "https://www.oblio.eu/api/nomenclature/clients?cif=RO37311090"
{
"status": 200,
"statusMessage": "Success",
"data": [
{
"cif": "RO37311090",
"name": "OBLIO SOFTWARE SRL",
"rc": "J13/887/2017",
"code": "",
"address": "",
"state": "Constanta",
"city": "Constanta",
"country": "",
"iban": "",
"bank": "",
"email": "",
"phone": "",
"contact": "",
"vatPayer": true
}
]
}
Returneaza lista de produse pentru o anumita firma. Pentru servicii nu se tine cont de gestiunea unde se afla si deci nu apare rubrica "stock".
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
name | Numele produsului cautat |
code | Codul produsului cautat |
management | Gestiunea in care se face cautarea (La folosirea acestui parametru produsele vor aparea listate ca serviciile) |
workStation | Punctul de lucru al gestiunii in care se face cautarea |
offset | Vor aparea initial maxim 250 de rezultate, este de preferat sa fie multiplu de 250 (0, 250, 500 etc.), valoarea implicita este 0 |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET "https://www.oblio.eu/api/nomenclature/products?cif=RO37311090"
{
"status": 200,
"statusMessage": "Success",
"data": [
{
"name": "Montare",
"code": "",
"description": "",
"measuringUnit": "buc",
"productType": "Serviciu",
"price": "119.00",
"currency": "RON",
"vatName": "Normala",
"vatPercentage": 19,
"vatIncluded": true
},
{
"name": "Birou",
"code": "",
"description": "",
"measuringUnit": "buc",
"productType": "Marfa",
"stock": [
{
"workStation": "Sediu",
"management": "Magazin",
"quantity": 2,
"price": "200.00",
"currency": "RON",
"vatName": "Normala",
"vatPercentage": 19,
"vatIncluded": false
}
]
}
]
}
Returneaza lista de serii documente pentru o anumita firma
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET "https://www.oblio.eu/api/nomenclature/series?cif=RO37311090"
{
"status": 200,
"statusMessage": "Success",
"data": [
{
"type": "Factura",
"name": "FCT",
"start": "0001",
"next": "0051",
"default": true
},
{
"type": "Proforma",
"name": "PR",
"start": "0001",
"next": "0008",
"default": true
}
]
}
Returneaza lista de limbi straine pentru o anumita firma
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET "https://www.oblio.eu/api/nomenclature/languages?cif=RO37311090"
{
"status": 200,
"statusMessage": "Success",
"data": [
{
"code": "EN",
"name": "Engleza"
},
{
"code": "FR",
"name": "Franceza"
}
]
}
Returneaza lista de gestiuni pentru o anumita firma, functioneaza doar daca sunt activate stocurile
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET "https://www.oblio.eu/api/nomenclature/management?cif=RO37311090"
{
"status": 200,
"statusMessage": "Success",
"data": [
{
"management": "Magazin",
"workStation": "Sediu",
"managementType": "Cantitativ Valorica"
},
{
"management": "Mobila",
"workStation": "Depozit",
"managementType": "Cantitativ Valorica"
}
]
}
Emiterea de documente folosind Oblio REST API se face prin metoda POST trimitand datele in forma RAW in format JSON.
Emiterea proformelor se face cu urmatorii parametrii:
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
client * | Necesita anumiti parametri. Acestia se gasesc in zona "Parametri client" |
issueDate | Data emiterii in format AAAA-LL-ZZ, valoare implicita este ziua curenta |
dueDate | Data scadentei in format AAAA-LL-ZZ |
seriesName * | Nume serie document (se gaseste in nomenclator serii documente) |
language | Codul de limba in care se emite factura (se gasesc limbile disponibile in nomenclator), valoarea implicita este "RO" |
precision | Precizia documentului. Trebuie sa fie un numar intreg cu valoarea intre 2 si 4, valoarea implicita este 2 |
currency | Moneda documentului, valoarea implicita este "RON" |
exchangeRate | Rata de schimb in cazul documentelor in valuta, valoare implicita este cursul setat in setarile companiei |
products | Este un tablou cu produse. Parametrii pentru produse se gasesc in zona "Parametri produs" |
issuerName | Intocmit de |
issuerId | CNP-ul celui care a intocmit documentul |
noticeNumber | Nr. aviz insotire |
internalNote | Nota interna (nu va fi vizibila pentru client) |
deputyName | Delegat |
deputyIdentityCard | Carte Identitate delegat |
deputyAuto | Auto delegat |
selesAgent | Agent vanzari |
mentions | Mentiuni |
workStation | Punct de lucru. Este valabil doar dupa activarea stocurilor, valoarea implicita este "Sediu" |
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei |
name * | Numele (pentru persoanelor fizice) sau a numele firmei (pentru persoane juridice) |
rc | Numar Registru Comert |
code | Cod client |
address | Adresa |
state | Judet |
city | Oras |
country | Tara |
iban | IBAN |
bank | Banca |
phone | Numar de telefon |
contact | Persoana de contact |
vatPayer | Platitor de TVA, ia valorile 0 sau 1 |
Parametru | Explicatie |
---|---|
name * | Numele produsului |
code | Codul produsului |
description | Descrierea |
price * | Pretul |
measuringUnit | Unitatea de masura a produsului, valoarea implicita este "buc" |
currency | Moneda |
exchangeRate | Rata de schimb a monezii in cazul in care aceasta este diferita de moneda documentului |
vatName | Numele cotei de TVA (se gaseste in nomenclator cote TVA) |
vatPercentage | Procentul cotei de TVA (se gaseste in nomenclator cote TVA) |
vatIncluded | TVA-ul este inclus in pretul produsului, ia valorile 0 sau 1, valoarea implicita este 1 |
quantity | Cantitatea, valoare implicita este 1 |
management | Numele gestiunii din care face parte produsul. Este valabil doar dupa activarea stocurilor pentru produse stocabile (nu este valabil pentru servicii) |
productType | Tip produs. Trebuie sa fie unul din "Marfa", "Materii prime", "Materiale consumabile", "Semifabricate", "Produs finit", "Produs rezidual", "Produse agricole", "Animale si pasari", "Ambalaje", "Obiecte de inventar", "Serviciu". Este valabil doar dupa activarea stocurilor |
nameTranslation | Numele produsului tradus (daca este cazul pentru facturile in alte limbi decat romana) |
measuringUnitTranslation | Unitatea de masura tradusa (daca este cazul pentru facturile in alte limbi decat romana) |
Sunt elemente in lista de produse si au urmatorii parametrii:
Parametru | Explicatie |
---|---|
name * | Numele care apare in dreptul discountului |
discountType | Discount procentual sau valoric, ia valorile "procentual" sau "valoric", valoarea implicita este "valoric" |
discount * | Valoare discount |
discountAllAbove | Ia valoarea 1 daca este valabil pentru toate produsele fara discount dinaintea sa sau 0 doar pentru primul produs de deasupra sa, valoarea implicita este 0 |
{
"cif": "RO37311090",
"client": {
"cif": "RO37311090",
"name": "OBLIO SOFTWARE SRL",
"rc": "J13/887/2017",
"code": "oblio",
"address": "",
"state": "Constanta",
"city": "Constanta",
"country": "",
"iban": "",
"bank": "",
"email": "",
"phone": "",
"contact": "",
"vatPayer": true
},
"issueDate": "2018-10-15",
"dueDate": "2018-10-30",
"seriesName": "PR",
"language": "RO",
"precision": 2,
"currency": "RON",
"products": [
{
"name": "Test",
"code": "test",
"description": "Descriere de test",
"price": 200,
"measuringUnit": "buc",
"vatName": "Normala",
"vatPercentage": 19,
"vatIncluded": 0,
"quantity": 2,
"productType": "Serviciu",
"management": "Magazin"
},
{
"name": "Discount 10% Test",
"discount": 10,
"discountType": "procentual"
}
],
"issuerName": "Ion Popescu",
"issuerId": 1234567890123,
"noticeNumber": "AVZ 0041",
"internalNote": "Proforma emisa din API",
"deputyName": "George Popescu",
"deputyIdentityCard": "ID 1234",
"deputyAuto": "CT 12345",
"selesAgent": "Marian Popescu",
"mentions": "Proforma de test emisa din API",
"workStation": "Sediu"
}
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -d @proforma.json -X POST https://www.oblio.eu/api/docs/proforma
{
"status": 200,
"statusMessage": "Success",
"data": {
"seriesName": "PR",
"number": "0008",
"link": "https://www.oblio.eu/utils/show_file/?ic=91467&id=261747&it=b8590b71a702ab3788f0dda5d5c77d23"
}
}
Emiterea avizelor se face identic cu emiterea proformelor cu diferenta ca avizele nu au parametrul "noticeNumber" si au optiunea (in cazul in care este activat stocul) de a folosi parametrul "useStock" care are valoarea implicita 1
Emiterea facturilor se face identic cu emiterea proformelor cu diferenta ca facturile mai au si urmatorii parametrii:
Parametru | Explicatie |
---|---|
deliveryDate | Data livrarii in format AAAA-LL-ZZ |
collectDate | Data incasarii in format AAAA-LL-ZZ |
referenceDocument | Document de referinta in cazul generarii de facturi pe baza de proforma sau de aviz. Vezi "Parametri document de referinta" |
collect | Incasare document. Vezi "Parametri incasare document" |
useStock | Descarcare pe gestiune (in cazul in care este activat stocul) |
Parametru | Explicatie |
---|---|
type * | Tipul documentului de referinta (Proforma sau Aviz) |
seriesName * | Numele seriei documentului de referinta |
number * | Numarul seriei documentului de referinta |
Parametru | Explicatie |
---|---|
type * | Tipul de document cu care se face incasarea. Poate fi "Chitanta", "Bon fiscal", "Alta incasare numerar", "Ordin de plata", "Mandat postal", "Card", "CEC", "Bilet ordin", "Alta incasare banca" |
seriesName | Numele seriei chitantei. Trebuie definita in cazul in care incasarea se face prin chitanta |
documentNumber | Numarul documentului de incasare. Trebuie definit in cazul in care incasarea nu se face prin chitanta |
value | Valoarea incasata, valoarea implicita este totalul facturii care urmeaza sa fie incasata |
issueDate | Data emiterii in format AAAA-LL-ZZ, valoare implicita este ziua curenta (valabil pentru incasare factura) |
mentions | Mentiuni |
{
"cif": "RO37311090",
"client": {
"cif": "RO37311090",
"name": "OBLIO SOFTWARE SRL",
"rc": "J13/887/2017",
"code": "oblio",
"address": "",
"state": "Constanta",
"city": "Constanta",
"country": "",
"iban": "",
"bank": "",
"email": "",
"phone": "",
"contact": "",
"vatPayer": true
},
"issueDate": "2018-10-15",
"dueDate": "2018-10-30",
"deliveryDate":"2018-10-16",
"collectDate":"2018-10-29",
"seriesName": "FCT",
"language": "RO",
"precision": 2,
"currency": "RON",
"products": [
{
"name": "Test",
"code": "test",
"description": "Descriere de test",
"price": 200,
"measuringUnit": "buc",
"vatName": "Normala",
"vatPercentage": 19,
"vatIncluded": 0,
"quantity": 2,
"productType": "Serviciu",
"management": "Magazin"
},
{
"name": "Discount 10% Test",
"discount": 10,
"discountType": "procentual"
}
],
"issuerName": "Ion Popescu",
"issuerId": 1234567890123,
"noticeNumber": "AVZ 0041",
"internalNote": "Factura emisa din API",
"deputyName": "George Popescu",
"deputyIdentityCard": "ID 1234",
"deputyAuto": "CT 12345",
"selesAgent": "Marian Popescu",
"mentions": "Factura de test emisa din API",
"workStation": "Sediu"
}
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -d @invoice.json -X POST https://www.oblio.eu/api/docs/invoice
{
"status": 200,
"statusMessage": "Success",
"data": {
"seriesName": "FCT",
"number": "0053",
"link": "https://www.oblio.eu/utils/show_file/?ic=91467&id=261751&it=bde87369631a5340057280037419f7e7"
}
}
{
"cif": "RO37311090",
"client": {
"cif": "RO37311090",
"name": "OBLIO SOFTWARE SRL",
"rc": "J13/887/2017",
"code": "oblio",
"address": "",
"state": "Constanta",
"city": "Constanta",
"country": "",
"iban": "",
"bank": "",
"email": "",
"phone": "",
"contact": "",
"vatPayer": true
},
"issueDate": "2018-10-15",
"dueDate": "2018-10-30",
"deliveryDate":"2018-10-16",
"collectDate":"2018-10-29",
"seriesName": "FCT",
"language": "RO",
"precision": 2,
"currency": "RON",
"referenceDocument": {
"type": "Proforma",
"seriesName": "PR",
"number": 8
},
"issuerName": "Ion Popescu",
"issuerId": 1234567890123,
"noticeNumber": "AVZ 0041",
"internalNote": "Factura emisa din API",
"deputyName": "George Popescu",
"deputyIdentityCard": "ID 1234",
"deputyAuto": "CT 12345",
"selesAgent": "Marian Popescu",
"mentions": "Factura de test emisa din API",
"workStation": "Sediu"
}
{
"cif": "RO37311090",
"client": {
"cif": "RO37311090",
"name": "OBLIO SOFTWARE SRL",
"rc": "J13/887/2017",
"code": "oblio",
"address": "",
"state": "Constanta",
"city": "Constanta",
"country": "",
"iban": "",
"bank": "",
"email": "",
"phone": "",
"contact": "",
"vatPayer": true
},
"issueDate": "2018-10-15",
"dueDate": "2018-10-30",
"seriesName": "FCT",
"language": "RO",
"precision": 2,
"currency": "RON",
"collect": {
"type": "Ordin de plata",
"documentNumber": "OP 7001"
},
"products": [
{
"name": "Test",
"code": "test",
"description": "Descriere de test",
"price": 200,
"measuringUnit": "buc",
"vatName": "Normala",
"vatPercentage": 19,
"vatIncluded": 0,
"quantity": 2,
"productType": "Serviciu",
"management": "Magazin"
},
{
"name": "Discount 10% Test",
"discount": 10,
"discountType": "procentual"
}
],
"workStation": "Sediu"
}
Incasare facturilor se face cu urmatorii parametrii:
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
seriesName * | Numele seriei documentului |
number * | Numarul seriei documentului |
collect * | Incasare document. Vezi "Parametri incasare document" |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -H "Content-Type: application/x-www-form-urlencoded" -d "cif=RO37311090&seriesName=FCT&number=55&collect[type]=Ordin+de+plata&collect[documentNumber]=OP+7001" -X PUT https://www.oblio.eu/api/docs/invoice/collect
{
"status": 200,
"statusMessage": "",
"data": {
"documentType": "Factura",
"seriesName": "FCT",
"number": "0055",
"link": "https://www.oblio.eu/utils/show_file/?ic=91467&id=261753&it=8e4beb8abe58552dd702874addd1d518",
"collects": [
{
"issueDate": "2018-10-15",
"type": "Ordin de plata",
"number": "OP 7001",
"value": 428.4
}
]
}
}
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
seriesName * | Numele seriei documentului |
number * | Numarul seriei documentului |
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -X GET "https://www.oblio.eu/api/docs/invoice?cif=RO37311090&seriesName=FCT&number=55"
{
"status": 200,
"statusMessage": "Success",
"data": {
"documentType": "Factura",
"seriesName": "FCT",
"number": "0055",
"link": "https://www.oblio.eu/utils/show_file/?ic=91467&id=261753&it=8e4beb8abe58552dd702874addd1d518",
"collects": [
{
"issueDate": "2018-10-15",
"type": "Ordin de plata",
"number": "OP 7001",
"value": 428.4
}
]
}
}
Parametrii sunt aceiasi ca la vizualizare factura
Parametrii sunt aceiasi ca la vizualizare factura
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -H "Content-Type: application/x-www-form-urlencoded" -d "cif=RO37311090&seriesName=FCT&number=55" -X PUT https://www.oblio.eu/api/docs/invoice/cancel
{
"status": 200,
"statusMessage": "Documentul a fost anulat.",
"data": {
"documentType": "Factura",
"seriesName": "FCT",
"number": "0055",
"link": "https://www.oblio.eu/utils/show_file/?ic=91467&id=261753&it=8e4beb8abe58552dd702874addd1d518"
}
}
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
seriesName * | Numele seriei documentului |
number * | Numarul seriei documentului |
Parametrii sunt aceiasi ca la anulare factura
Parametrii sunt aceiasi ca la anulare factura
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -H "Content-Type: application/x-www-form-urlencoded" -d "cif=RO37311090&seriesName=FCT&number=55" -X PUT https://www.oblio.eu/api/docs/invoice/restore
{
"status": 200,
"statusMessage": "Documentul a fost restaurat.",
"data": {
"documentType": "Factura",
"seriesName": "FCT",
"number": "0055",
"link": "https://www.oblio.eu/utils/show_file/?ic=91467&id=261753&it=8e4beb8abe58552dd702874addd1d518"
}
}
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
seriesName * | Numele seriei documentului |
number * | Numarul seriei documentului |
Parametrii sunt aceiasi ca la restaurare factura
Parametrii sunt aceiasi ca la restaurare factura
Functia de stergere se poate folosi doar pentru ultimul document din serie.
curl -H "Authorization: Bearer 67d6f8817c28d698bdae35728c7a30b02a75bd4d" -H "Content-Type: application/x-www-form-urlencoded" -d "cif=RO37311090&seriesName=FCT&number=55" -X DELETE https://www.oblio.eu/api/docs/invoice
{
"status": 200,
"statusMessage": "Documentul a fost sters.",
"data": {
"documentType": "Factura",
"seriesName": "FCT",
"number": "0055"
}
}
Parametru | Explicatie |
---|---|
cif * | CIF-ul firmei asa cum apare in nomenclator companii (cu "RO" in fata pentru companiile platitoare de TVA) |
seriesName * | Numele seriei documentului |
number * | Numarul seriei documentului |
Parametrii sunt aceiasi ca la stergere factura
Parametrii sunt aceiasi ca la stergere factura
Oblio este programul de facturare si gestiune iubit de utilizatorii sai.