Collegare BI (Power BI/Tableau) e Zapier/Make
Genera la tua chiave API personale e collega strumenti di BI e automazione ai dati del tuo CRM, senza bisogno di un account esterno nostro.
Puoi collegare strumenti di BI (Power BI, Tableau, Looker) e strumenti di automazione (Zapier, Make, n8n) direttamente al database del tuo CRM. Non serve alcun account esterno nostro: generi una chiave API all'interno del CRM stesso e la colleghi allo strumento. Tutto è di sola lettura e limitato ai dati del tuo tenant.
Prerequisiti
- Un account in uno strumento di BI (Power BI, Tableau, Looker Studio) o di automazione (Zapier, Make, n8n) in grado di consumare un'API REST/JSON con un header di autenticazione.
- In Sellio, accesso come amministratore per generare la chiave API in Impostazioni → API.
1) Genera una chiave API
- Apri Impostazioni → API.
- Crea una nuova chiave API e copia il valore (inizia con sk_ e compare una sola volta, quindi trattala come una password).
- Negli strumenti, invia questa chiave nell'header: Authorization: Bearer sk_...
2) Endpoint dei dati (le "tabelle")
- GET /api/v1/objects: elenca gli oggetti disponibili (le tabelle che il BI può leggere).
- GET /api/v1/data/{object}: i record dell'oggetto appiattiti in righe, con colonne stabili: id, created_at, updated_at, owner_id e una colonna per ogni campo (l'api_name del campo).
Paginazione: usa ?page=1&pageSize=100 (oppure ?limit= e ?offset=). Il pageSize massimo è 200. La risposta include object, columns (nome e tipo di ciascuna colonna), page, pageSize, total e rows.
3) Power BI / Tableau / Looker
- In Power BI: Ottieni dati → Web; in Tableau: connettore Web/JSON; in Looker Studio: connettore JSON/URL.
- Punta all'URL dei dati, ad esempio https://IL-TUO-CRM/api/v1/data/opportunity
- Aggiungi l'header Authorization con il valore Bearer sk_... (la tua chiave API).
- Le colonne sono stabili e tipizzate, quindi le mappi una volta sola e il report continua a funzionare man mano che arrivano nuovi record.
4) Zapier / Make / n8n
- Trigger a polling ("Nuovo/Aggiornato record"): interroga GET /api/v1/data/{object}?updated_since=<ISO> (oppure created_since=<ISO>) per ricevere solo ciò che è cambiato o è stato creato dall'ultimo controllo. I record più recenti arrivano per primi.
- Trigger istantaneo: in Impostazioni → Webhook, crea un webhook in uscita e punta l'URL al "Catch Hook" di Zapier (o al "Custom Webhook" di Make/n8n). Ad ogni record creato/aggiornato, il CRM invia l'evento firmato (HMAC) istantaneamente.
In Impostazioni → Integrazioni, il riquadro "BI e automazione esterna" raccoglie i link degli endpoint e la scorciatoia per generare la chiave API.
Come testare
- Rapido: apri GET https://IL-TUO-CRM/api/v1/objects con l'header Authorization: Bearer sk_... (in un browser con un'estensione, in Postman o con curl) e verifica l'elenco degli oggetti.
- Lettura dati: chiama GET /api/v1/data/opportunity?pageSize=5 e conferma che le righe includano le colonne id, created_at, updated_at, owner_id e i campi.
- Nel BI: crea la connessione puntando all'URL dei dati e verifica che le colonne appaiano tipizzate; in Zapier/Make, avvia il test e osserva l'arrivo del record.
Risoluzione problemi
- 401 Unauthorized: la chiave API manca, è sbagliata o non è stata inviata come "Authorization: Bearer sk_...". Generane una nuova in Impostazioni → API (il valore compare una sola volta) e riconfigura lo strumento.
- 404 sull'endpoint: controlla l'URL. Gli oggetti sono su /api/v1/objects e i dati su /api/v1/data/{api_name}. Usa l'api_name esatto dell'oggetto (non l'etichetta localizzata).
- Tornano solo poche righe: i risultati sono paginati. Usa ?page=1&pageSize=200 (massimo 200) e itera sulle pagine; per letture incrementali, usa ?updated_since=<ISO>.
- Il webhook istantaneo non scatta: verifica che il webhook in uscita in Impostazioni → Webhook punti al "Catch Hook" (Zapier) / "Custom Webhook" (Make/n8n) e sia attivo. Il CRM firma l'invio (HMAC), quindi verifica il secret se lo strumento lo richiede.
- Vedo solo i miei dati: corretto. Ogni chiave API è isolata al tenant proprietario, quindi non vede mai i dati di un'altra azienda.