Piani Standard & Pro
Panoramica
Gli Strumenti Personalizzati consentono al tuo agente AI di chiamare i tuoi endpoint API durante una conversazione per recuperare dati live e specifici per la richiesta — stato dell'ordine, tracciamento della spedizione, disponibilità per uno specifico SKU, dettagli dell'account e altro ancora.
Asyntai ti offre tre modi per fornire all'AI dati live o specifici del cliente. Gli Strumenti Personalizzati sono la scelta giusta quando il valore di cui l'AI ha bisogno compare solo durante la conversazione:
- Feed di Dati in Tempo Reale — carica un set di dati fisso (ad es. l'intero catalogo prodotti) in ogni conversazione. Ideale per dati condivisi che sono identici per tutti i visitatori.
- Contesto Utente — il tuo sito invia i dati che già conosce sul visitatore corrente (ad es. il nome, il piano o gli ordini recenti di un cliente connesso) all'inizio della chat. Ideale quando il visitatore è identificato fin dall'inizio.
- Strumenti Personalizzati — l'AI chiama il tuo endpoint su richiesta, con i valori che estrae dalla chat. Ideale quando il valore non è noto finché il cliente non lo digita — come un numero d'ordine da un visitatore anonimo.
Ad esempio, quando un cliente chiede “Dov'è il mio ordine #10294?”, l'AI estrae il numero d'ordine, chiama il tuo endpoint con esso e risponde utilizzando la risposta verificata. Il Contesto Utente non può coprire questo caso da solo, perché il numero d'ordine non è noto fino a metà conversazione — ed è esattamente qui che entrano in gioco gli Strumenti Personalizzati. (Molti negozi usano il Contesto Utente per i visitatori connessi e uno Strumento Personalizzato per le ricerche occasionali.)
L'AI decide quando chiamare uno strumento in base alla descrizione che scrivi. Tu decidi cosa fa lo strumento indirizzandolo al tuo endpoint. Asyntai effettua la chiamata lato server — non scrivi alcun codice e non ospiti alcun middleware.
Come funziona
- Definisci uno strumento — un nome, una descrizione, l'URL del tuo endpoint e i parametri che l'AI deve inviare.
- L'AI lo chiama quando è pertinente — quando la conversazione corrisponde alla tua descrizione, l'AI chiama lo strumento con i valori che estrae dal messaggio del cliente.
- Asyntai chiama il tuo endpoint — il nostro server effettua la richiesta HTTP al tuo URL e fornisce la risposta all'AI.
- L'AI risponde — utilizzando i dati verificati restituiti dal tuo endpoint.
Nessun codice richiesto: Hai bisogno solo di un endpoint che già restituisce i tuoi dati. Configuri tutto il resto in un modulo della dashboard — non c'è alcun callback, webhook o script del browser da creare.
Casi d'uso
Stato dell'ordine
Cerca un ordine per numero e restituisci il suo stato attuale
Tracciamento della spedizione
Restituisci l'ultimo stato di tracciamento per un numero di tracciamento
Verifica disponibilità
Restituisci la disponibilità in tempo reale per un prodotto specifico o SKU
Ricerca account
Restituisci i dettagli dell'account o dell'abbonamento per un identificatore
Configurazione
1
Apri Strumenti Personalizzati
Vai su /custom-tools/ e fai clic su Aggiungi strumento
2
Descrivi lo strumento
Assegnagli un nome, una descrizione chiara e l'URL del tuo endpoint
3
Definisci i parametri
Aggiungi gli input che l'AI deve estrarre e inviare (ad es. order_number)
4
Salva & testa
Salva, quindi poni al tuo bot una domanda pertinente per vederlo in azione
Campi
- Nome — un identificatore per la funzione (lettere, numeri, trattini bassi), ad es.
get_order_status. L'AI vede questo nome.
- Descrizione — il campo più importante. Indica all'AI quando chiamare lo strumento. Sii esplicito: “Chiama questo ogni volta che il cliente menziona un numero d'ordine. Non chiedere alcuna verifica.”
- URL dell'endpoint — l'URL HTTPS pubblico che Asyntai chiamerà.
- Metodo HTTP —
GET (di sola lettura, consigliato) o POST (può modificare i dati — vedi Sicurezza di seguito).
- Parametri — gli input che l'AI estrae dalla conversazione e invia. Ciascuno ha un nome, un tipo, una descrizione e un flag di obbligatorietà. Per
GET vengono inviati come parametri della query string; per POST come corpo JSON.
- Header di autenticazione (opzionale) — un nome di header + valore inviato a ogni chiamata, ad es.
X-API-Key. Usalo se il tuo endpoint richiede una chiave.
I parametri sono necessari affinché l'AI possa passare qualsiasi valore. Se il tuo endpoint necessita di un input (come un numero d'ordine), devi aggiungere un parametro per esso — senza, l'AI non ha alcuno spazio in cui inserire il valore e chiamerà l'endpoint vuoto. Due cose sono importanti:
- Il nome del parametro deve corrispondere esattamente a ciò che il tuo endpoint si aspetta. Un parametro denominato
order_number viene inviato come ?order_number=... (GET) o {"order_number": "..."} (POST). Se il tuo endpoint legge id, denomina il parametro id.
- Non digiti mai il valore tu stesso — dichiari solo il parametro. L'AI lo compila al momento della chiamata in base a ciò che il cliente ha scritto.
Esempio pratico: ricerca dello stato dell'ordine
Supponiamo che il tuo negozio esponga questo endpoint:
GET https://yourstore.com/api/order-status?order_number=10294
…che restituisce JSON come:
{
"found": true,
"status": "Accepted, preparing for shipment",
"carrier": "DHL",
"customer_message": "Your order has been accepted and is being prepared for shipment."
}
Configureresti uno strumento in questo modo:
- Nome:
get_order_status
- Descrizione: “Cerca lo stato di un ordine di un cliente. Chiama questo immediatamente ogni volta che il cliente fornisce un numero d'ordine — non chiedere ulteriori verifiche. Usa il customer_message restituito nella tua risposta.”
- URL dell'endpoint:
https://yourstore.com/api/order-status
- Metodo:
GET
- Parametro:
order_number (string, obbligatorio) — “Il numero d'ordine del cliente, tipicamente di 8+ cifre.”
Quando un cliente scrive “Com'è il mio ordine #10294?”, l'AI chiama get_order_status(order_number=10294), Asyntai richiede il tuo URL con ?order_number=10294 e l'AI risponde utilizzando la risposta.
Suggerimento: L'AI invia i valori che decide — non li precompili mai. Mantieni chiari i nomi e le descrizioni dei parametri affinché il modello sappia esattamente cosa estrarre.
Cosa riceve e cosa dovrebbe restituire il tuo endpoint
- Richiesta: un
GET con i tuoi parametri nella query string, o un POST con un corpo JSON. Qualsiasi header di autenticazione configurato è incluso.
- Risposta: restituisci JSON (preferito) o testo semplice. Asyntai passa il corpo all'AI. Un campo che l'AI può citare direttamente — come
customer_message — funziona bene.
- Non trovato / errori: restituisci un payload chiaro (ad esempio un oggetto JSON con
found: false e un customer_message) affinché l'AI possa rispondere in modo veritiero invece di tirare a indovinare.
Testare il tuo strumento
Ogni strumento dispone di un pannello integrato Testa questo strumento nella pagina di configurazione, così puoi verificare che funzioni prima che qualsiasi cliente lo utilizzi — e senza inviare un messaggio tramite il bot.
- Inserisci valori di esempio per i parametri dello strumento (ad es. un numero d'ordine reale).
- Fai clic su Esegui test. Asyntai chiama il tuo endpoint esattamente come farebbe l'AI — stessa query string o corpo JSON, stesso header di autenticazione, stesso timeout di 5 secondi e stessi controlli di sicurezza.
- Vedrai il risultato all'istante: un badge di successo/fallimento, lo stato HTTP, il tempo di risposta, l'URL esatto che abbiamo chiamato e la risposta grezza del tuo endpoint (formattata in modo leggibile se è JSON).
Questo funziona anche con le modifiche non salvate, così puoi regolare l'URL, i parametri o l'header di autenticazione e ripetere il test finché non restituisce ciò che ti aspetti.
Nota: Testare uno strumento POST chiama realmente il tuo endpoint e potrebbe modificare i dati — il pannello di test ti avvisa prima di eseguirlo. Per gli strumenti GET di sola lettura non c'è nulla di cui preoccuparsi.
Sicurezza — leggi questo
Il tuo endpoint è il confine di sicurezza, non l'AI. Il widget di chat è pubblico e l'AI può essere manipolata da un visitatore per chiamare uno strumento con qualsiasi valore. Questo vale per ogni sistema di tool-calling dell'AI. Progetta il tuo endpoint di conseguenza:
- Preferisci GET / sola lettura. Le ricerche (stato dell'ordine, disponibilità, tracciamento) sono sicure da esporre. GET è l'impostazione predefinita per questo motivo.
- POST richiede una conferma. Poiché POST può modificare i dati, uno strumento POST può essere salvato solo dopo aver spuntato una casella che conferma che sei l'unico responsabile della protezione e dell'autorizzazione delle richieste sul tuo endpoint. Non collegare mai rimborsi, cancellazioni, modifiche di password o movimenti di denaro a meno che il tuo endpoint non verifichi la richiesta in modo indipendente.
- Proteggiti dall'enumerazione. Se una chiave di ricerca è indovinabile (come numeri d'ordine sequenziali), richiedi un secondo fattore — ad es. il numero d'ordine e l'email associata all'ordine, e verifica che corrispondano — così un visitatore non può leggere i dati di altri clienti provando numeri.
- Non fidarti mai degli argomenti dell'AI. Convalida e autorizza ogni richiesta lato server come se provenisse da un aggressore anonimo — perché di fatto può esserlo.
Verificare le chiamate live
Una volta che il tuo strumento è attivo, ogni invocazione reale da una conversazione viene registrata. Per ogni chiamata registriamo il nome dello strumento, gli argomenti inviati dall'AI, l'URL esatto che abbiamo richiesto, lo stato HTTP, la risposta e la durata. Questo ti consente di confermare che uno strumento è stato attivato in una chat reale e di vedere cosa ha restituito il tuo endpoint, senza dover frugare nei log del tuo server. (Il pannello Testa questo strumento sopra serve per verificare tu stesso la configurazione; questo registro cattura ciò che accade durante le effettive conversazioni con i clienti.)
Limiti & protezioni
- Fino a 10 strumenti per sito web.
- Timeout di 5 secondi per chiamata; le risposte sono limitate a 10 KB.
- Gli endpoint devono essere URL
http(s) pubblici. Gli indirizzi privati, di loopback e di rete interna sono bloccati.
- Disponibile nei piani Standard e Pro.
- Fatturazione: ogni chiamata di strumento conta come un messaggio aggiuntivo del tuo piano. Una risposta normale usa 1 messaggio; una risposta in cui l'IA chiama uno strumento ne usa 2 (la risposta più la chiamata di strumento), perché una chiamata di strumento richiede una richiesta IA aggiuntiva.
- Se una chiamata a uno strumento fallisce (timeout, errore, blocco), l'AI viene informata e risponde con garbo — non manderà in crash la conversazione.