Afișare articole

Descriere - Afișare lista articole

  • Această secțiune este dedicată afișării articolelor

  • Toate aceste articole sunt disponibile pentru utilizarea într-un detaliu de factură

  • Fiecare articol din această lista conține o proprietate de identificare a acestuia externalId

Model de utilizare API - Listă articole

Notă

  • Verb: GET

  • Endpoint: /{clientEid}/items

  • Request parameter: {clientEid}

  • Optional parameters: offset, count, order, filter

  • Returns: List of Vezi Model Articol

  • Type of return: Listă de Vezi Model Articol

Atenționare

A se observa parametrul {clientEid} și tipul acestuia (path variable)

Notă

Lista de articole 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 de 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

La momentul executării acestui apel NU se vor verifica și valida informații

Mod de folosire - Wrapper - Afișare articole

  • Dacă se folosește wrapper-ul scris în Python se utilizează astfel:
    1. Se preia token-ul Vezi Autorizarea

    2. 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 = {'name[like]': 'Servicii', 'code[like]': '004', 'currencyCode': 'RON', 'isActive': 'true', 'categoryExternalId[like]': 'GOODS', 'categoryVatPercent': '5',
              'categoryName[like]': 'Manuale'}
    order = {'name': 'ASC', 'code': 'DESC', 'currencyCode': 'ASC', 'isActive': 'ASC', 'categoryExternalId': 'ASC',
             'categoryVatPercent': 'ASC', 'categoryName': 'ASC'}
    count = 20
    offset = 0
    
    result = api.items(client_eid, filter, order, count, offset)
    

Mod de folosire - Fără Wrapper - Afișare articole

class ItemService:
    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 getItems(self):
        items_url = f'{self.api_endpoint}/{self.client_eid}/items'

        _req = requests.get(url=items_url, headers={'Content-Type': 'application/json', 'Authorization': self.token})
        return _req.json()


if __name__ == '__main__':
    service = ItemService()
    items = service.getItems()
    print(items)

Notă

Clasa TokenService() se găsește la secțiunea Autorizarea: Vezi Autorizarea