e-bon
e-bon.ro
SDK TypeScript

client.apiKeys

Referință pentru ApiKeysResource — listează, creează, actualizează și revocă cheile API programatice, oglindind /api/v1/org/api-keys.

client.apiKeys

client.apiKeys împachetează /api/v1/org/api-keys/* — gestionarea programatică a cheilor API pentru organizația apelantă. Doar Owners și Admins pot apela aceste endpoint-uri. Vezi documentația REST corespondentă la Chei API și catalogul de scope-uri la Autentificare.

Eșecurile la nivel HTTP apar ca EBonApiError — vezi erorile SDK și referința erorilor REST.

client.apiKeys.list()

Listează toate cheile API.

async list(): Promise<ApiKey[]>

Fără parametri. Returnează un tablou de ApiKey. Secretele brute nu sunt returnate niciodată de acest endpoint — doar de create.

const keys = await client.apiKeys.list();

client.apiKeys.create(body)

Creează o cheie API nouă. Returnează cheia brută (afișată o singură dată).

async create(body: CreateApiKeyBody): Promise<CreateApiKeyResult>
NumeTipObligatoriuNote
labelstringdaEtichetă lizibilă pentru cheie.
scopesApiKeyScope[]daSetul minim de scope-uri necesare cheii — vezi @e-bon/types.

Returnează { key: ApiKey, rawKey: string }. rawKey urmează formatul ebon_live_<orgId>_<32-hex> și este afișat o singură dată.

const { key, rawKey } = await client.apiKeys.create({
  label: 'POS prod',
  scopes: ['receipts:write', 'devices:read'],
});
console.log(rawKey); // salvează-l!

client.apiKeys.update(id, body)

Actualizează o cheie API (etichetă, activă).

async update(id: string, body: UpdateApiKeyBody): Promise<ApiKey>
NumeTipObligatoriuNote
labelstringnuRedenumește cheia.
activebooleannuDezactivează o cheie fără a o șterge.

Returnează ApiKey-ul actualizat.

await client.apiKeys.update('key_01HZ...', { active: false });

client.apiKeys.delete(id)

Șterge o cheie API.

async delete(id: string): Promise<undefined>
NumeTipObligatoriuNote
idstringdaIdentificatorul cheii API.

Returnează undefined la succes. Cererile ulterioare cu cheia ștearsă eșuează cu 401 UNAUTHORIZED.

await client.apiKeys.delete('key_01HZ...');