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
| Scope | Operazioni |
|---|---|
| suppliers:read / suppliers:write | Fornitori |
| catalog:read / catalog:write | Prodotti, opzioni, unità e foto; catalog:write modifica anche la valuta tenant |
| resources:read / resources:write | Risorse, inventario, collegamenti; resources:write scrive periodi, prezzi e blocchi |
| availability:read | Disponibilità, periodi di disponibilità/prezzo e blocchi |
| bookings:read / bookings:write | Prenotazioni, transizioni di stato e sottoscrizioni webhook |
| api-keys:read / api-keys:write | Chiavi tenant |
| sync:read / sync:write | Job e retry; sync:write rielabora anche eventi Viator |
| audit:read | Audit 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.