SmartCQ
Changelog / 0.25.0
Accedi
Torna al changelog
0.25.08 cambiamenti

API REST pubblica per integrazioni CRM

L'API REST v1 espone contatti, eventi email e campagne con chiavi per tenant, permessi granulari, specifica OpenAPI, revoca e audit.

PiattaformaContattiLead
Aggiunto

Aggiunto

6 voci in questa release
  1. Piattaforma

    API key per-tenant in `Impostazioni → API Keys`: genera chiavi dedicate per ogni integrazione esterna (CRM, gestionale, script). Scope granulari, secret HMAC mostrato solo alla creazione, prefisso pubblico (`scq_a1b2c3…`) per identificare la chiave in lista senza esporre il plaintext.

  2. Contatti

    Endpoint contatti v1: `GET /api/v1/contacts` (lista paginata con cursor, filtri per stato email, stage, archiviati), `GET /:id` (dettaglio), `POST` (creazione idempotente per email), `PATCH /:id` (modifica). Schema completo nei docs.

  3. Lead

    Endpoint eventi email v1: `GET /api/v1/sends` con cursor `since` per polling incrementale — il consumer salva l'ultimo `next` e riceve solo gli eventi nuovi. Filtri per `campaignId` e `status`. Pensato per backfill iniziale di un CRM esterno o riconciliazione periodica.

  4. Lead

    Endpoint campagna v1: `GET /api/v1/campaigns/:id` con statistiche cumulate (sent, delivered, opened, clicked, bounced).

  5. Piattaforma

    Spec OpenAPI 3.1 servita su `/api/v1/openapi.json` (no auth — è documentazione pubblica). Importabile in Postman, Insomnia, oppure usabile per generare client TypeScript / Python / Go automatici.

  6. Piattaforma

    Documentazione developer dedicata su `smartcq.it/docs/api`: introduzione, autenticazione, endpoint contacts/sends/campaigns con esempi cURL + Node.js + Python, tabella errori e codici HTTP.

Migliorato

Migliorato

2 voci in questa release
  1. Piattaforma

    Rate limit per chiave: 60 richieste/minuto con header standard `x-ratelimit-limit`/`-remaining`/`-reset` su ogni risposta. Sopra il limite → `429 Too Many Requests` con `Retry-After`.

  2. Piattaforma

    Audit trail API keys: ogni operazione (creazione, revoca, eliminazione) finisce nel registro attività del tenant. La chiave revocata è rifiutata immediatamente dagli endpoint con `401 invalid_key`.