Starting with version 4.0 you can send trough API the user (nominal people) who operates the document using a generic user to authenticate.
The following setup is required:
1.Users windows:
API Generic User checkbox: set to Yes
Nominal API Identifier: you can use different identifiers like: email, value, ID, CNP = Tax ID of BPartner associated to the user
2. The access token will be used the same, see User Authentication using email/password of the generic user. Use the token associated with the generic role.
3. When using API methods beside access token, in request header send ExecuteAs parameter:
ExecuteAs parameter: use CNP, or email, value, ID of the user who operates the document.
Romanian Version:
Sunt necesare urmatoarele setari:
1. Pe definire utilizator (fereastra Utilizatori), doar daca exista componenta API se pot seta urmatoarele:
Utilizator generic API: bifa Da/Nu
Identificator nominal API: Lista. Se poate seta doar daca bifa "Utilizator generic API" = Da
Sunt disponibile urmatoarele variante: email, cod cautare, ID, CNP (CNP = CUI tert angajat asociat utilizatorului)
2. La apelurile API se obtine token-ul de acces ca si pana acum cu Email/Password pentu utilizatorul generic.
Este important ca apelurile sa se faca doar cu token-ul aferent rolului acestui utilizator generic, nu cu token-ul returnat pentru eventualele roluri ale utilizatorului logat.
3. La apelurile de metode API, pe langa token-ul de acces se poate transmite in request header (adica parametru in URL query string) parametrul ExecuteAs.
Valoarea acestui parametru se va folosi doar daca utilizatorul folosit la obtinerea token-ului de acces are bifa "Utilizator generic API" = Da. In caz contrar parametrul este ignorat.
Valoarea parametrului ExecuteAs trebuie sa corespunda cu setarea "Identificator nominal API" de la utilizatorul generic API care a obtinut token-ul de acces. Daca se transmite parametrul ExecuteAs fara valoare sau nu se transmite deloc, apelul API se va face chiar in numele utilizatorului care a obtinut token-ul de acces (utilizatorul generic)
Daca parametrul ExecuteAs are valoare dar care nu identifica niciun utilizator sau identifica mai mult de un singur utilizator, atunci apelul se va termina cu eroare (ErrorCode=103).