v0.3.0

Autenticazione

Chiavi tenant, scope, emissione e rotazione via API.


Ambienti

Concorda URL dell’ambiente e tenant di test. In locale l’API è su http://localhost:3002 e la guida su http://localhost:3004. Non esiste un header sandbox: la separazione dipende da ambiente e tenant.

Scope

ScopeOperazioni
suppliers:read / suppliers:writeFornitori
catalog:read / catalog:writeProdotti, opzioni, unità e foto; catalog:write modifica anche la valuta tenant
resources:read / resources:writeRisorse, inventario, collegamenti; resources:write scrive periodi, prezzi e blocchi
availability:readDisponibilità, periodi di disponibilità/prezzo e blocchi
bookings:read / bookings:writePrenotazioni, transizioni di stato e sottoscrizioni webhook
api-keys:read / api-keys:writeChiavi tenant
sync:read / sync:writeJob e retry; sync:write rielabora anche eventi Viator
audit:readAudit log

* concede tutti gli scope tenant; catalog:* concede quelli dell’area. GET /me richiede solo autenticazione.

Emissione e rotazione via API

Usa una credenziale esistente con api-keys:write e tutti gli scope che vuoi assegnare. Senza scopes il default è ["*"]: dichiarali esplicitamente.

curl -X POST "$TAKO_API_URL/api/v1/api-keys" \
  -H "Authorization: Bearer $TAKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Gestionale lettura",
  "scopes": [
    "catalog:read",
    "availability:read",
    "bookings:read"
  ]
}'

Salva il campo key, aggiorna il gestionale e verifica una richiesta. Poi elimina la vecchia chiave con DELETE /api-keys/{id}. La revoca è immediata; una API key non può eliminare sé stessa. La scadenza non è configurabile.