Afișare facturi¶
Descriere - Afișare facturi¶
Această secțiune este dedicată afișării facturilor
Facturile returnate din acest apel se pot valida, anula, trimite pe email sau descărca
Fiecare factură conține o proprietate de identificare a acesteia externalId
Model de utilizare API - Afișare facturi¶
Așa cum este explicat în zona de Informații generale utilizare API orice apel către API se face prin URL-ul de bază + endpoint-ul respectivei operații
Notă
Verb: GET
Endpoint: /{clientEid}/invoices
Request parameter: {clientEid}
Optional parameters: offset, count, order, filter
Returns: Vezi Model factură
Type of return: Listă de Vezi Model factură
Atenționare
A se observa parametrul {clientEid} și tipul acestuia (path variable)
Notă
- Lista de facturi suportă filtrare, ordonare și paginare prin furnizarea parametrilor standard:
offset: poziția de la care se aduc înregistrările, începând cu 0 (implicit).
count: numărul dorit de înregistrări returnat. Implicit se aduc toate înregistrările.
- order: {property} [ASC|DESC], unde
{property} este o proprietate a reprezentării pe baza căreia se dorește sortarea. Sortarea implicită este crescătoare ASC.
isActive ASC isActive DESC AND lastPrice ASC
- filter: {property}[{operator}]:{value}, unde
{property} este o proprietate a reprezentării pe baza căreia se dorește filtrarea
{operator} este operația respectivei filtrari (tabelul de mai jos) și trebuie specificat imediat după {property} între paranteze pătrate []. Dacă nu se pune operator, atunci acesta este implicit [eq] (egalitate)
{value} este valoare cu care se filtreaza
isActive:true isActive[eq]:true lastPrice[gt]:100 isActive[eq]:true AND lastPrice[gt]:100
Filtrarea și ordonarea se poate realiza cu 1 sau mai multe proprietăți, unite prin cuvântul cheie AND
[eq] = Egal (implicit)
[neq] = Nu este egal
[lt] = Mai mic
[gt] = Mai mare
[gte] = Mai mare sau egal
[lte] = Mai mic sau egal
[like] = Conține
[sw] = Incepe cu
Validări - Afișare facturi¶
La momentul executării acestui apel NU se vor verifica și valida informații
Mod de folosire - Wrapper - Afișare facturi¶
- Dacă se folosește wrapper-ul scris în Python se utilizează astfel:
Se preia token-ul Vezi Autorizarea
Se apelează metoda specifică acestui request GET
token_url = 'https://staging.keez.ro/idp/connect/token' api_url = f'https://{ENVIRONMENT}.keez.ro/api/v1.0/public-api' client_eid = '{RECEIVED_CLIENT_EID}' application_id = '{RECEIVED_APPLICATION_ID}' secret = '{RECEIVED_SECRET}' api = KeezPublicApi(app=application_id, secret=secret, token_url=token_url, api_url=api_url) filter = {'series': 'SERIE', 'number': 29, 'documentDate': 20240125, 'status': 'Draft', 'isStorno': False, 'clientName[like]': 'DIGITAL', 'currencyCode': 'RON', 'partnerName[like]': 'Ion'} order = {'series': 'ASC', 'number': 'DESC', 'documentDate': None, 'status': None} count = 20 offset = 0 result = api.invoices(client_eid, filter, order, count, offset)
Mod de folosire - Fără Wrapper - Afișare facturi¶
class InvoiceService: def __init__(self): token = TokenService() self.auth_token = token.generate_token() self.token = f'{self.auth_token.get("token_type")} {self.auth_token.get("access_token")}' self.client_eid = token.client_eid self.api_endpoint = token.api_endpoint def getInvoices(self): invoice_url = f'{self.api_endpoint}/{self.client_eid}/invoices' _req = requests.get(url=invoice_url, headers={'Content-Type': 'application/json', 'Authorization': self.token}) return _req.json() if __name__ == '__main__': service = InvoiceService() invoices = service.getInvoices() print(invoices)Notă
Clasa TokenService() se găsește la secțiunea Autorizarea: Vezi Autorizarea