Vai al contenuto principale

App per sviluppatori, chiavi API e webhook

Crea app e chiavi API, esegui test in una sandbox, invia webhook, installa le app di altre aziende e consulta i log delle richieste e la spesa per chiave.

Scritto da Sarah Chen

Le impostazioni Sviluppatori sono il punto in cui colleghi Exayard al tuo codice e alle app sviluppate da altre aziende. Apri Impostazioni e poi Sviluppatori. Solo gli amministratori dell'azienda le vedono nel menu Impostazioni. Un membro che apre la pagina può consultarla ma non modificare nulla.

App, chiavi API, webhook e log sono inclusi in ogni piano, compreso Free. Vengono addebitate solo le attività di IA.

App

Un'app è una delle tue integrazioni, come "Stimatore Acme" o "Sincronizzazione notturna". Ogni chiave API appartiene a un'app. App è la prima sezione della pagina. Ogni membro può consultarla. Solo gli amministratori creano o modificano le app.

Fai clic su Nuova app e compila Nome, Descrizione, Home page, Email di assistenza e Ambiti. Gli ambiti sono suddivisi tra lettura e scrittura per ciascuna risorsa, ad esempio read:projects e write:estimates. Le app non possono richiedere l'ambito admin:org. Un'azienda può avere fino a 25 app.

Ogni app mostra quando è stata creata e il suo limite di frequenza, ad esempio "Fino a 60 richieste al minuto per azienda e 600 in totale". Il menu Altre azioni dell'app contiene:

  • Modifica cambia i dettagli e gli ambiti dell'app.

  • Webhook imposta l'unico indirizzo che riceve gli eventi da ogni azienda che ha installato l'app.

  • Elimina app rimuove l'app e revoca tutte le sue chiavi. Ogni azienda che l'ha installata perde l'accesso.

Chiavi API

Una chiave API permette al tuo codice di chiamare l'API di Exayard. Le chiavi si trovano all'interno di un'app, in Chiavi. Una chiave funziona nell'azienda della propria app, quindi non è necessario passare alcun ID azienda.

Per crearne una, fai clic su Nuova chiave nell'app. Assegna alla chiave un Nome, ad esempio "Produzione". In Ambiti, scegli Tutti per ogni ambito dell'app oppure Specifici per sceglierne meno. Imposta una data di Scadenza facoltativa se la chiave serve per un lavoro di breve durata. La chiave funziona fino alla fine di quel giorno. Fai clic su Crea.

Exayard mostra la chiave completa una sola volta. Copiala in quel momento, perché non verrà più mostrata. Exayard conserva solo una copia cifrata, quindi una chiave persa non può essere recuperata. Creane una nuova e revoca quella precedente.

Una chiave inizia con exa_live_. Una chiave creata in una sandbox inizia con exa_test_. Dopo la creazione, la chiave mostra il suo nome, un'anteprima come exa_live_...AbCd e Ultimo utilizzo oppure Mai utilizzata. Una chiave con scadenza mostra Scadenza e la relativa data, mentre una chiave scaduta mostra Scaduta.

Un'app può avere fino a 25 chiavi attive. Una chiave scaduta continua a essere conteggiata finché non la revochi. Per cambiare chiave senza interruzioni, crea una seconda chiave, sposta i tuoi server su di essa, quindi revoca la prima.

Apri il menu Azioni della chiave di una chiave per Rinominarla o Revocarla. La revoca non può essere annullata e la chiave smette di funzionare entro 30 secondi.

Se una chiave compare in un luogo pubblico, ad esempio in un repository di codice pubblico, Exayard la revoca, invia un'email ai tuoi amministratori e la mantiene nell'elenco contrassegnata come Esposta pubblicamente, revocata.

Quando un'altra azienda ha installato la tua app, la finestra di nuova chiave mostra anche Funziona in. Questa azienda è l'opzione predefinita. Tutte le aziende che l’hanno installata crea una chiave che il tuo server usa in ciascuna di quelle aziende. Ogni chiamata indica quindi la propria azienda nell'intestazione Exayard-Organization-Id.

Le stesse chiavi collegano anche gli strumenti no-code. Consulta Collegare Exayard a Zapier, Collegare Exayard a Make e Collegare Exayard a n8n. Per gli assistenti IA, consulta Collegare Exa al tuo assistente IA.

Chiavi precedenti

Le chiavi create prima che le chiavi si trovassero nelle app iniziano con ak_. Continuano a funzionare, ma non è possibile crearne di nuove. Compaiono in Chiavi precedenti in fondo alla pagina, solo finché ce ne sono.

Ogni amministratore vede lì tutte le chiavi dell'azienda, indipendentemente da chi le abbia create. Una chiave creata da un'altra persona mostra Creata da e il suo nome. Ogni persona vede anche le proprie chiavi personali. Fai clic sull'icona del cestino per Revocare una chiave. Smette di funzionare immediatamente.

Sandbox

Una sandbox è un'azienda di test collegata alla tua. Usala per sviluppare e testare un'integrazione senza toccare i tuoi progetti reali. Solo gli amministratori vedono Sandbox.

Fai clic su Nuova sandbox, assegnale un Nome e fai clic su Crea. Un'azienda può avere fino a 5 sandbox. Apri ti porta nella sandbox, dove il selettore di aziende la contrassegna come Sandbox. Crea lì un'app e una chiave come di consueto. Le sue chiavi iniziano con exa_test_. Per passare in produzione, crea la stessa app e la stessa chiave nella tua azienda reale e sostituisci la chiave nel tuo codice.

Una sandbox segue il piano della tua azienda e la tua azienda paga il suo utilizzo. Non ha una fatturazione propria e non riceve un utilizzo IA mensile proprio. Webhook e integrazioni funzionano come nella tua azienda reale.

Una sandbox non invia email di condivisione delle offerte né copie firmate a persone esterne e non invia SMS. Questi invii compaiono come "Non inviato perché questa azienda è una sandbox". Gli inviti a unirsi alla sandbox vengono inviati come di consueto.

I computi metrici e le letture dei file in una sandbox restituiscono risultati copiati dal nostro progetto di esempio, senza costi. Il computo metrico, le sue pagine e il webhook di completamento del computo metrico sono contrassegnati come esempi. Anche preventivi, offerte, ricerca di elementi e chat rispondono con esempi, senza costi.

Per rimuovere una sandbox, fai clic su Elimina nella sua riga, poi su Elimina sandbox. La sandbox viene chiusa, le sue chiavi smettono di funzionare e i suoi dati vengono cancellati in seguito.

Webhook

Un webhook indica a Exayard di inviare una notifica al tuo server quando si verifica un evento nella tua azienda. Ogni membro può consultare l'elenco. Solo gli amministratori aggiungono o modificano i webhook.

Fai clic su Crea webhook, inserisci l'URL che deve ricevere le consegne e aggiungi una Descrizione facoltativa. Scegli quali Eventi inviare. Seleziona Tutti per ricevere ogni evento, compresi quelli nuovi, oppure Specifici per sceglierli dall'elenco. Tutti gli eventi e i relativi contenuti sono elencati nel catalogo degli eventi webhook.

Quando crei un webhook, Exayard mostra una sola volta il suo Secret di firma. Copialo in quel momento, perché non verrà più mostrato.

Apri il menu Altre azioni di un webhook per tutto il resto:

  • Modifica cambia URL, descrizione ed eventi e ne imposta lo Stato su Attivo o In pausa. Un webhook in pausa non riceve consegne. Nella finestra è presente anche Ruota secret. Il secret precedente smette di funzionare immediatamente, quindi aggiorna prima il tuo server.

  • Invia evento di test invia un evento del Tipo di evento che scegli. La finestra attende la risposta del tuo server e mostra il risultato e il codice di risposta. Un evento di test contiene "test": true.

  • Consegne elenca le ultime 25 consegne con il relativo evento, stato, codice di risposta e numero di tentativi. Una consegna può essere In attesa, Nuovo tentativo in corso, Consegnato o Non riuscito. Gli amministratori possono fare clic su Invia di nuovo per inviare di nuovo una consegna.

  • Elimina webhook interrompe tutte le consegne verso quell'URL.

Un evento di test e un nuovo invio vengono inviati una sola volta e non vengono mai ritentati.

Proteggere le consegne dei webhook

Ogni consegna include un'intestazione Exayard-Signature nel formato t=<unix>,v1=<digest>. Exayard costruisce la firma unendo il timestamp e il corpo della richiesta, quindi firmandoli con HMAC-SHA256 tramite il secret del tuo webhook.

Ogni consegna include anche le intestazioni Exayard-Event-Id, Exayard-Event-Type e Exayard-Organization-Id. Il corpo JSON contiene un campo organizationId che indica l'azienda da cui proviene l'evento. L'intestazione riporta lo stesso ID, così puoi instradare una consegna prima di leggerne il corpo. La firma copre l'intero corpo, organizationId compreso.

Poiché ogni consegna indica la propria azienda, un unico indirizzo di ricezione può servire molte aziende. Registra lo stesso URL in ciascuna azienda e instrada ogni consegna in base a organizationId. Ogni webhook ha il proprio secret, quindi scegli il secret in base a Exayard-Organization-Id prima di effettuare la verifica.

Per verificare una consegna, ricalcola la firma con il tuo secret, controlla che il timestamp non si discosti di oltre cinque minuti dall'ora attuale e confronta i digest.

Una consegna non riuscita viene tentata fino a 10 volte in totale, nell'arco di circa 80 ore, con attese sempre più lunghe tra un tentativo e l'altro. Ogni tentativo invia lo stesso corpo e lo stesso ID evento. Un reindirizzamento viene considerato un errore.

Consentire ad altre aziende di installare la tua app

La tua app funziona nella tua azienda non appena la crei. Ogni app ha anche una parte Consenti ad altre aziende di installare questa app. Mostra se l'app è Revisionata, con Revisione richiesta o Non revisionata, i suoi Indirizzi di accesso, il suo ID client e quante aziende possono installarla.

Gli amministratori aprono il menu Azioni di installazione per queste opzioni:

  • Modifica indirizzi di accesso imposta gli indirizzi a cui Exayard riporta le persone quando la tua app le fa accedere con il loro account Exayard. Inserisci un indirizzo per riga, fino a 10. Ognuno deve iniziare con https://, oppure con http://localhost durante i test. La prima volta che salvi gli indirizzi di accesso, Exayard mostra una sola volta il Secret client dell'app.

  • Copia link di installazione copia un link che puoi inviare a qualsiasi azienda. Apre la finestra di installazione per l'amministratore di quell'azienda.

  • Richiedi revisione invia l'app all'assistenza Exayard per la revisione.

Una nuova app può essere installata in un massimo di 25 aziende oltre alla tua e non compare in Trova app. Le aziende in Account per i tuoi clienti non vengono conteggiate in questo limite. Una volta approvata, l'app risulta Revisionata e il limite di installazioni viene rimosso. Usa Mostra in Trova app per inserirla nell'elenco di ogni azienda oppure Nascondi da Trova app per toglierla. Un'app Sospesa non può chiamare Exayard finché l'assistenza non revoca la sospensione, e le sue installazioni vengono mantenute.

Quando rimuovi degli ambiti da un'app, ogni installazione li perde immediatamente. Quando aggiungi degli ambiti, ogni azienda mantiene l'accesso attuale finché uno dei suoi amministratori non approva i nuovi ambiti.

Webhook dell'app

Apri il menu Altre azioni dell'app e fai clic su Webhook. Inserisci l'URL e fai clic su Crea, quindi copia il Secret di firma, che Exayard mostra una sola volta. Ogni azienda che ha installato l'app invia gli eventi coperti dagli ambiti concessi. La tua app riceve anche app.installed, app.scopes_approved e app.uninstalled quando un'azienda la installa, approva un accesso più ampio o la rimuove. Le consegne indicano la propria azienda e sono firmate nello stesso modo degli altri webhook.

Nella stessa finestra puoi Metti in pausa e Riprendi le consegne, Ruota secret ed Elimina webhook.

App collegate

App collegate elenca le app installate nella tua azienda. Ogni membro può vederla. Solo gli amministratori installano, rimuovono o approvano.

Ogni riga mostra il nome dell'app, se è Revisionata, l'azienda che l'ha sviluppata, chi l'ha installata e quando, e gli ambiti che le sono stati concessi.

Installare un'app

Apri il link di installazione dell'app oppure fai clic su Installa accanto all'app in Trova app. La finestra mostra chi ha sviluppato l'app, se è revisionata e gli ambiti che richiede. Poi scegli:

  • Azienda: qualsiasi azienda in cui sei amministratore. Un'azienda che ha già l'app è contrassegnata come (installata). Installandola di nuovo, salvi le nuove scelte.

  • Progetti: Tutti i progetti, oppure Solo questi progetti e seleziona quelli a cui l'app può accedere, fino a 500. L'app non può accedere a nessun altro progetto dell'azienda.

  • Limite mensile IA: l'importo massimo che le attività di IA dell'app possono costare alla tua azienda in ogni mese di fatturazione, nella tua valuta di fatturazione. Lascia il campo vuoto per Nessun limite.

Fai clic su Installa. Se l'app ti fa accedere, Exayard ti porta poi a completare l'accesso all'app. Se sei un membro ma non un amministratore, la finestra ti indica l'amministratore di quale azienda può installarla. Fai clic su Copia link per inviarglielo.

Per cambiare i progetti in seguito, apri di nuovo il link di installazione e installa con la nuova scelta.

Approvare un accesso più ampio

Quando un'app richiede altri ambiti, la sua riga mostra Richiede un accesso più ampio con i nuovi ambiti. Un amministratore fa clic su Approva per concederli. Fino ad allora, l'app mantiene l'accesso che aveva.

Rimuovere un'app

Apri il menu Altre azioni dell'app, fai clic su Rimuovi e conferma. L'app perde immediatamente l'accesso alla tua azienda e i suoi webhook si interrompono. Le attività di IA che aveva già avviato vengono comunque completate.

Trova app

Trova app compare all'interno di App collegate. Elenca le app revisionate che i loro sviluppatori hanno scelto di pubblicare. Un'app che la tua azienda ha già mostra Installata. Fai clic su Installa su qualsiasi altra app per aprire la finestra di installazione.

Le tue connessioni personali

Le tue connessioni personali elenca gli strumenti di IA e le altre app che hai collegato al tuo account Exayard, come ChatGPT o Claude. Compare in cima ad App collegate e ognuno vede solo le proprie. Una connessione personale agisce come te, quindi può accedere a tutto ciò a cui puoi accedere tu.

Ogni connessione mostra quando è stata usata per la prima e per l'ultima volta e le aziende in cui è stata usata. Per interromperne una, apri il suo menu Altre azioni, fai clic su Rimuovi e conferma. La sua chiamata successiva viene rifiutata. La connessione resta nell'elenco contrassegnata come Rimossa e Consenti di nuovo le permette di tornare ad accedere. Per collegare un nuovo strumento, consulta Collegare Exa al tuo assistente IA.

Account per i tuoi clienti

La tua app può creare aziende Exayard tramite l'API per i clienti che usano Exayard solo attraverso il tuo prodotto. La tua azienda possiede queste aziende e paga le attività di IA eseguite al loro interno. Non hanno membri propri e le tue app vengono installate automaticamente al loro interno.

Account per i tuoi clienti le elenca per gli amministratori, con il Nome di ogni azienda e la data in cui è stata Creata. Fai clic su Rinuncia e conferma per chiuderne una. Ogni app al suo interno perde l'accesso.

Per iniziare

La scheda Avvio rapido contiene un prompt già pronto per un editor con IA come Claude o Cursor. Fai clic su Copia prompt e incollalo nel tuo editor. Il prompt include l'URL di base dell'API, il formato di autenticazione, gli ambiti e lo schema di firma dei webhook, così l'IA può predisporre un'integrazione funzionante e chiederti i dettagli di cui ha bisogno. Solo gli amministratori vedono questa scheda, perché richiede una chiave API.

La scheda Documentazione rimanda alla documentazione completa per sviluppatori con Apri documentazione e alla Specifica OpenAPI, che descrive ogni route e ogni schema. Gli amministratori vedono anche Connetti a Claude o Cursor, che apre la configurazione per collegare gli assistenti IA a Exayard.

Log

Log mostra le richieste effettuate all'API, a partire dalla più recente. Ogni riga mostra Metodo, Percorso, Stato, Ora e Latenza. Fai clic su Carica altro in fondo per visualizzare le richieste meno recenti.

Gli amministratori vedono tutte le richieste. I membri vedono solo le richieste che non sono passate da un'app.

Gli amministratori possono filtrare per App e poi per una delle chiavi di quell'app. Chiunque può digitare un Utente finale per vedere solo le richieste di quel cliente. Un utente finale è il tuo ID per uno dei tuoi clienti. Il tuo codice lo invia con ogni richiesta nell'intestazione Exayard-End-User. Non usare mai un indirizzo email come ID.

Seleziona una riga per visualizzarne tutti i dettagli, inclusi l'ID richiesta, l'app e l'utente finale, il Corpo della richiesta e il Corpo della risposta. Usa i log per confermare che una chiamata sia andata a buon fine o per capire perché un'integrazione non funziona.

Spesa per chiave e per utente finale

Gli amministratori vedono quanto ha speso ogni app questo mese in Spesa per app, in Impostazioni e poi Utilizzo. Anche le tue app sono elencate lì. Sotto ogni app, Per chiave mostra quanto ha speso ogni chiave e Principali utenti finali mostra i cinque utenti finali che hanno speso di più. La spesa non legata a una delle chiavi dell'app compare come Altro.

Limite mensile IA

Il limite mensile IA di un'app è l'importo massimo che le sue attività di IA possono costare alla tua azienda in ogni mese di fatturazione. Per impostarlo, apri il menu Altre azioni dell'app in Spesa per app e fai clic su Imposta limite mensile IA. Inserisci un importo nella tua valuta di fatturazione e fai clic su Salva. Salva il campo vuoto per rimuovere il limite.

Quando l'app raggiunge il limite, le sue attività di IA vengono rifiutate per il resto del mese di fatturazione, anche se la tua azienda ha ancora utilizzo IA disponibile. Restano validi anche i limiti della tua azienda. Le attività di IA avviate direttamente dalle persone non vengono mai conteggiate nel limite di un'app.

Hai ricevuto la risposta alla tua domanda?