API de Chatbot IA
Créez vos propres intégrations de chatbot IA avec notre API REST. Envoyez des messages et recevez des réponses IA intelligentes pour n'importe quelle plateforme, application ou solution sur mesure.
Créez tout ce que vous voulez avec l'IA
Notre API REST vous permet d'intégrer les fonctions de chatbot IA dans n'importe quelle application
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Quels sont vos horaires ?"}'
API REST simple
Un seul point de terminaison pour envoyer des messages et recevoir des réponses IA. Utilisez cURL, Python, JavaScript ou tout langage capable d'envoyer des requêtes HTTP. Aucun SDK complexe requis.
{
"success": true,
"response": "Nous sommes ouverts du lundi au vendredi,
de 9h à 18h. Comment puis-je vous aider ?",
"session_id": "abc123"
}
Réponses intelligentes
L'IA connaît votre entreprise en détail. Elle s'appuie sur votre site web, vos documents et vos instructions pour donner des réponses exactes et adaptées à chaque question.
{
"message": "Quelle était ma dernière question ?",
"session_id": "user_12345"
}
# L'IA se souvient de la conversation
Mémoire de conversation
Utilisez des identifiants de session pour conserver le contexte. L'IA se souvient des messages précédents et répond de façon cohérente sur plusieurs échanges.
Conçu pour les développeurs
Tout ce qu'il vous faut pour intégrer les fonctions de chatbot IA dans vos applications
Conception RESTful
Une API REST claire et intuitive qui suit les bonnes pratiques. Facile à comprendre, à intégrer et à maintenir.
Authentification simple
Authentification sécurisée par clé API. Placez votre clé dans l'en-tête et vous pouvez envoyer vos requêtes.
Temps de réponse courts
Optimisée pour la vitesse. Des réponses IA en millisecondes, pas en secondes.
Gestion des sessions
Suivi des conversations intégré avec des identifiants de session. Conservez le contexte sur plusieurs messages sans effort.
Multilingue
L'IA détecte la langue de l'utilisateur et répond dans cette langue. Servez un public mondial sans travail supplémentaire.
Sûre et fiable
Chiffrement HTTPS, limitation de débit et 99,9 % de disponibilité. Votre intégration est sûre et toujours accessible.
Comment ça marche
Démarrez avec l'API de Chatbot IA en trois étapes simples
Créez un compte et obtenez la clé API
Créez votre compte et générez votre clé API depuis le tableau de bord. Votre IA utilisera automatiquement le contenu de votre site.
Envoyez votre première requête
Envoyez une requête POST avec votre message à notre point de terminaison chat. L'IA la traite et renvoie une réponse intelligente.
Intégrez partout
Utilisez l'API dans votre application mobile, votre site web, vos outils internes ou toute plateforme sur mesure. Les possibilités sont ouvertes.
Cas d'usage
L'API de Chatbot IA est polyvalente et peut alimenter un support IA sur toute plateforme ou application que vous imaginez.
- ✓ Applications mobiles (iOS, Android, React Native)
- ✓ Applications web sur mesure
- ✓ Outils de support internes
- ✓ Assistants vocaux et systèmes SVI
- ✓ Bots Slack, bots Discord et plus encore
import requests
response = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={"Authorization": "Bearer API_KEY"},
json={"message": "Bonjour !"}
)
print(response.json()["response"])
Pourquoi choisir notre API
Créez des intégrations de chatbot IA puissantes avec un effort minimal
Livrez plus vite
Économisez des mois de développement IA. Intégrez notre API et disposez dès aujourd'hui de fonctions de chatbot intelligentes dans votre application.
Toujours à jour
Mettez à jour les connaissances de votre IA à tout moment depuis le tableau de bord. Aucune modification de l'API n'est nécessaire quand votre activité évolue.
Économique
Payez seulement ce que vous utilisez. Aucun coût d'infrastructure, aucun coût d'entraînement IA, aucune charge de maintenance.
Questions fréquentes
Tout ce qu'il faut savoir sur l'API de Chatbot IA
Votre première requête
Un seul POST renvoie une réponse IA fondée sur votre base de connaissances. Aucun SDK à installer.
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Livrez-vous en France ?"}'
# 200 OK
{
"success": true,
"response": "Oui, nous livrons en France en 3 à 5 jours.",
"session_id": "api_1042_87"
}
Avant votre premier appel, alimentez votre base de connaissances. L'API répond à partir de votre documentation, de vos prix et de vos conditions. Si la base est vide, les réponses restent générales.
Authentification
Chaque requête porte votre clé API dans un en-tête. Deux formes d'en-tête sont acceptées et se comportent de façon identique. Choisissez-en une. Générez la clé dans Paramètres → API.
En-têtes uniquement. La clé n'est jamais lue depuis la chaîne de requête. Une clé placée dans une URL se retrouve dans les journaux du serveur, les journaux de proxy, l'historique du navigateur et les en-têtes Referer. Cette méthode n'est donc pas prise en charge.
# Option A - jeton bearer
Authorization: Bearer YOUR_API_KEY
# Option B - en-tête dédié
X-API-Key: YOUR_API_KEY
Le point de terminaison chat
POST https://asyntai.com/api/v1/chat/
Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
message | string | obligatoire | Le message de l'utilisateur. Une valeur vide renvoie une erreur 400. |
session_id | string | facultatif | Votre propre identifiant pour une conversation. Renvoyez la même valeur pour conserver le contexte. Sans ce champ, le compte utilise une seule session partagée. |
website_id | integer | facultatif | Lequel de vos agents doit répondre. Sans ce champ, votre site principal est utilisé, sinon le premier du compte. |
Corps de la réponse
| Champ | Type | Description |
|---|---|---|
success | boolean | true lorsque l'IA a produit une réponse. |
response | string | Le texte de la réponse. |
session_id | string | La session sous laquelle ce message a été enregistré. Renvoyez-la lors de l'appel suivant. |
Mémoire de conversation
Transmettez un session_id stable et les 10 derniers messages de la conversation sont fournis comme contexte. Une relance telle que "et combien cela coûte-t-il ?" est alors comprise. Utilisez un session_id différent par utilisateur final. Sans ce champ, tous les appels du compte partagent un seul fil, ce qui est presque toujours indésirable en production.
// premier appel
{ "message": "Livrez-vous en France ?", "session_id": "user-8842" }
// deuxième appel - même session_id, donc "cela" est compris
{ "message": "Combien cela coûte-t-il ?", "session_id": "user-8842" }
Exemples d'intégration
Copiez, collez, remplacez la clé.
const res = await fetch('https://asyntai.com/api/v1/chat/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
message: 'Livrez-vous en France ?',
session_id: 'user-8842'
})
});
const data = await res.json();
if (!data.success) throw new Error(data.error);
console.log(data.response);
// N'exposez jamais votre clé API dans le code du navigateur. Appelez ceci depuis
// votre propre serveur ou une fonction edge, puis relayez le résultat.
import requests
resp = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"message": "Livrez-vous en France ?",
"session_id": "user-8842",
},
timeout=30,
)
data = resp.json()
if not data["success"]:
raise RuntimeError(data["error"])
print(data["response"])
$ch = curl_init('https://asyntai.com/api/v1/chat/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'message' => 'Livrez-vous en France ?',
'session_id' => 'user-8842',
]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
if (empty($data['success'])) {
throw new Exception($data['error']);
}
echo $data['response'];
const ASYNTAI_KEY = process.env.ASYNTAI_API_KEY;
export async function ask(message, sessionId) {
const res = await fetch('https://asyntai.com/api/v1/chat/', {
method: 'POST',
headers: {
'X-API-Key': ASYNTAI_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({ message, session_id: sessionId })
});
if (res.status === 429) throw new Error('Limite mensuelle de messages atteinte');
const data = await res.json();
if (!data.success) throw new Error(data.error);
return data.response;
}
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Livrez-vous en France ?",
"session_id": "user-8842"
}'
Réponses d'erreur
Chaque échec renvoie {"success": false, "error": "..."} avec l'un de ces codes de statut.
| Status | Signification | Que faire |
|---|---|---|
400 | Corps JSON invalide, champ message absent, ou website_id qui n'appartient pas à votre compte. | Corrigez les données envoyées. Le texte de error nomme le problème. |
401 | Aucune clé API, ou la clé ne correspond à aucun compte. | Vérifiez le nom de l'en-tête et que la clé n'a pas été régénérée. |
403 | Le compte utilise le forfait Free. L'accès API exige Starter, Standard ou Pro. | Changer de forfait. |
429 | Limite mensuelle de messages atteinte. Le corps contient aussi "limit_reached": true. | Ralentissez et changez de forfait, ou attendez la période de facturation suivante. |
503 | Le service IA n'a pas pu répondre à cette requête. | Réessayez après un délai. L'erreur est passagère. |
Vérifiez success, pas seulement le code de statut. Traitez le 429 explicitement si vous envoyez beaucoup de requêtes, sinon une limite atteinte ressemble à une panne quelconque pour vos utilisateurs.
Référence complète des points de terminaison
URL de base https://asyntai.com/api/v1/. Tous les points de terminaison utilisent la même authentification.
Chat
| Méthode | Chemin | Rôle |
|---|---|---|
| POST | /chat/ | Envoyer un message, recevoir une réponse IA. |
Sites et agents
| Méthode | Chemin | Rôle |
|---|---|---|
| GETPOST | /websites/ | Lister vos agents, ou en créer un et lancer l'exploration. |
| GET | /websites/{id}/ | Détails d'un agent. |
| GETPATCH | /websites/{id}/settings/ | Lire ou modifier les réglages du widget. |
| GETPUT | /websites/{id}/instructions/ | Lire ou remplacer les instructions de l'IA. |
Base de connaissances
| Méthode | Chemin | Rôle |
|---|---|---|
| GET | /knowledge/ | Lister tout ce que l'IA peut utiliser. |
| POST | /knowledge/text/ | Ajouter du texte brut. |
| POST | /knowledge/url/ | Ajouter une page par URL. |
| POST | /knowledge/spreadsheet/ | Ajouter un tableur. |
| GETDELETE | /knowledge/{context_id}/ | Lire ou supprimer un élément. |
| POSTPUT | /knowledge/{context_id}/tags/ | Gérer les étiquettes d'un élément. |
Conversations et données
| Méthode | Chemin | Rôle |
|---|---|---|
| GET | /conversations/ | Conversations passées. |
| GET | /sessions/ | Sessions avec le nombre de messages. |
| GET | /leads/ | Coordonnées recueillies par le chatbot. |
| GET | /account/ | Forfait, usage et limites. |
Webhooks
| Méthode | Chemin | Rôle |
|---|---|---|
| GETPOST | /webhooks/ | Lister ou enregistrer un webhook. |
| DELETE | /webhooks/{webhook_id}/ | Supprimer un webhook. |
Conditions et limites
| Élément | Détail |
|---|---|
| Forfait | L'accès API exige un forfait payant : Starter, Standard ou Pro. Les comptes Free reçoivent une erreur 403. |
| Quota de messages | Les messages API sont décomptés du même quota mensuel que les conversations du widget. Consultez le chiffre actuel avec GET /api/v1/account/. |
| Profondeur d'historique | Jusqu'à 10 messages précédents par session_id sont fournis comme contexte. |
| Transport | HTTPS uniquement. Corps de requête et de réponse en JSON. |
| Renouvellement de la clé | Régénérez la clé dans Paramètres → API. L'ancienne clé cesse aussitôt de fonctionner. |
Prêt à développer avec l'IA ?
Créez un compte gratuit et testez le chatbot dans le tableau de bord. Choisissez ensuite un forfait payant pour obtenir votre clé API.