L'API BoundaryAI vous permet d'envoyer des données de retour d'information de manière programmatique, de créer des sources de données et de gérer le flux de collecte des retours de votre organisation.
Aperçu
L'API BoundaryAI vous permet d'importer programmatiquement des données de feedback depuis n'importe quelle source - tickets de support, exportations CRM, enquêtes, journaux de chat - et d'exploiter l'analyse alimentée par l'IA pour extraire des insights.
Concepts clés
Avant de plonger, comprenez ces concepts clés :
Concept
Description
groupe de feedback
Un conteneur qui organise des sources de données liées (par ex. « Retour clients T1 2024 »)
Source de données
Une collection de feedbacks au sein d'un groupe (par ex. « Tickets Zendesk », « Enquête NPS »)
Question
Un champ au sein d'une source de données qui contient le texte du feedback
APS
Points d'analyse - crédits consommés lors de l'envoi de contenu pour analyse par l'IA
Comment ça fonctionne
1. Créez un groupe de feedback (ou utilisez-en un existant)
↓
2. Créez une source de données avec des questions
↓
3. Publiez la source de données
↓
4. Poussez votre contenu de feedback
↓
5. BoundaryAI analyse et extrait des insights
Authentification
Clés API
Toutes les requêtes API nécessitent une clé API passée dans le Autorisation en-tête :
Format de la clé
Partie
Description
inpk
Préfixe fixe (Clé API d'entrée)
environnement
live (production) ou test (pas de déduction d'APS)
key_id
Identifiant unique de 10 caractères
secret
Secret encodé en Base64 (44 caractères)
Permissions de la clé
Lors de la création d'une clé API, vous choisissez son niveau d'autorisation :
Permission
Peut faire
Cas d'utilisation
push
Envoyer du contenu vers des sources de données existantes
Scripts d'import automatisés
create
Créer des groupes de feedback et des sources de données
Configurer l'automatisation
all
Tout
Contrôle programmatique complet
Obtenir votre clé API
Allez dans Intégrations → API dans votre tableau de bord BoundaryAI
Cliquez Créer une clé API
Choisissez un nom, un environnement et un niveau d'autorisation
Enregistrez la clé immédiatement — elle n'est affichée qu'une seule fois !
Notes de sécurité
Les clés sont hachées côté serveur ; nous ne stockons jamais le texte en clair
Utilisez test clés d'environnement pour les tests (pas de frais APS)
Faites pivoter les clés régulièrement via le tableau de bord (n'oubliez pas de les copier après rotation car elles n'apparaissent également qu'une seule fois)
Lorsqu'on atteint la limite, vous recevrez HTTP 429 avec un Retry-After en-tête.
Idempotence
Prévenez les doublons en incluant une clé d'idempotence :
Scénario
Résultat
Première requête
S'exécute normalement, met en cache la réponse pendant 24h
Même clé + même payload
Retourne la réponse en cache (pas d'insertion en double)
Même clé + payload différent
Retourne HTTP 409 erreur de conflit
Meilleure pratique : Utilisez un identifiant unique comme {source}-{date}-{batch} pour chaque lot d'import.
Référence des endpoints
Référence rapide
Méthode
Endpoint
Description
Permission
GET
/api/input/surveys/list
Lister tous les groupes de feedback et sources de données
n'importe
POST
/api/input/survey_series/create
Créer un groupe de feedback
create
POST
/api/input/survey/create
Créer une source de données
create
POST
/api/input/survey/publish
Publier une source de données
create
POST
/api/input/content/push
Envoyer du contenu vers une question
push
POST
/api/input/content/push/bulk
Envoyer du contenu vers plusieurs questions
push
Lister les sources de données
Récupère tous les groupes de feedback et sources de données auxquels votre clé API peut accéder. Exécutez ceci en premier pour obtenir les IDs dont vous avez besoin pour pousser du contenu.
Paramètres de requête
Paramètre
Type
Description
survey_series_id
entier
Filtrer vers un groupe de feedback spécifique
survey_id
entier
Filtrer vers une source de données spécifique
Réponse
Comprendre la réponse
Champ
Description
survey_series
Tableau de groupes de feedback
surveys
Tableau de sources de données au sein d'un groupe
questions
Champs disponibles pour le contenu
accepts_text
Important ! N'envoyez du texte que vers des questions où ceci est true
mode
ACCESSIBLE = publié, EDITING = brouillon
Exemple
Envoyer du contenu
Envoyez du texte de feedback vers une question spécifique. C'est le endpoint principal pour l'import de données.
Corps de la requête
Paramètres
Champ
Type
Requis
Description
survey_series_id
chaîne
Oui
ID du groupe de feedback
survey_id
chaîne
Oui
ID de la source de données
question.question_id
chaîne
Oui
ID de la question (doit avoir accepts_text: true)
question.content
tableau
Oui
Tableau de chaînes de feedback
source_reference
chaîne
Non
Votre référence pour ce lot d'import
Limites de contenu
Limite
Valeur
Max d'éléments par requête
1,000
Max de caractères par élément
10,000
Réponse
Champ
Description
inserted
Nombre de nouvelles entrées ajoutées
duplicates
Nombre d'entrées en double ignorées
aps_deducted
Points d'analyse consommés
Exemple : Python
Exemple : JavaScript
Exemple : Curl
Envoi en bloc de contenu
Envoyez du contenu vers plusieurs questions dans une seule requête. Utile lorsque vos données ont plusieurs champs.
Corps de la requête
Paramètres
Champ
Type
Requis
Description
survey_series_id
chaîne
Oui
ID du groupe de feedback
survey_id
chaîne
Oui
ID de la source de données
questions
tableau
Oui
Tableau d'objets question (max 100)
questions[].question_id
chaîne
Oui
ID de la question
questions[].content
tableau
Oui
Tableau de chaînes de feedback
source_reference
chaîne
Non
Votre référence pour ce lot
Réponse
Créer un groupe de feedback
Créez un nouveau groupe de feedback pour organiser des sources de données liées.
Permission requise :create ou all
Corps de la requête
Paramètres
Champ
Type
Requis
Description
nom
chaîne
Oui
Nom du groupe (2-255 caractères)
Réponse
Remarque : Si un groupe portant le même nom existe, il renvoie le groupe existant avec "created": false.
Créer une source de données
Créez une nouvelle source de données avec des questions au sein d'un groupe de feedback.
Permission requise :create ou all
Corps de la requête
Paramètres
Champ
Type
Requis
Description
survey_series_id
chaîne
Oui
ID du groupe parent de feedback
survey_title
chaîne
Oui
Nom de la source de données (1-100 caractères)
survey_description
chaîne
Non
Description (max 1000 caractères)
questions
tableau
Non
Tableau de questions à créer
Types de questions
Type
Alias
Description
Accepte le texte
DEPTH_TEXT
long_answer
Texte long (analysé par l'IA)
✅ Oui
TEXT
short_answer
Texte court
✅ Oui
MCQ
mcq
Choix multiples (sélection multiple)
❌ Non
SCQ
scq
Choix unique
❌ Non
RATING
rating
Échelle 1-5
❌ Non
NPS
nps
Net Promoter Score (0-10)
❌ Non
Astuce : Utilisez DEPTH_TEXT pour le texte de feedback que vous voulez que l'IA analyse.
Réponse
Publier une source de données
Publiez une source de données pour permettre la collecte et l'analyse des données.
Permission requise :create ou all
Corps de la requête
Réponse
Remarque : Vous devez publier une source de données avant de pouvoir y pousser du contenu.
curl -X GET "https://app.boundary-ai.com/api/input/surveys/list" \
-H "Authorization: Bearer $API_KEY"
POST /api/input/content/push
{
"survey_series_id": "123",
"survey_id": "456",
"question": {
"question_id": "789",
"content": [
"Le processus de paiement était confus",
"J'adore la nouvelle fonctionnalité de mode sombre !",
"L'application plante lors du téléchargement de fichiers volumineux"
]
},
"source_reference": "zendesk-export-2024-01-15"
}
#!/bin/bash
# Exemple complet de workflow API
API_KEY="inpk_live_xxx_yyy"
BASE_URL="https://app.boundary-ai.com"
# Étape 1 : Créer un groupe de feedback
echo "Création du groupe de feedback..."
SERIES_RESPONSE=$(curl -s -X POST "$BASE_URL/api/input/survey_series/create" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Tickets Support T1 2024"}')
SERIES_ID=$(echo $SERIES_RESPONSE | jq -r '.survey_series.id')
echo "ID du groupe de feedback créé : $SERIES_ID"
# Étape 2 : Créer une source de données avec une question texte
echo "Création de la source de données..."
SURVEY_RESPONSE=$(curl -s -X POST "$BASE_URL/api/input/survey/create" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"survey_series_id\": \"$SERIES_ID\",
\"survey_title\": \"Import Zendesk\",
\"questions\": [
{\"question_title\": \"Contenu du ticket\", \"question_type\": \"DEPTH_TEXT\"}
]
}")
SURVEY_ID=$(echo $SURVEY_RESPONSE | jq -r '.survey_id')
QUESTION_ID=$(echo $SURVEY_RESPONSE | jq -r '.questions[0].id')
echo "ID de la source de données créé : $SURVEY_ID, ID de la question : $QUESTION_ID"
# Étape 3 : Publier la source de données
echo "Publication de la source de données..."
curl -s -X POST "$BASE_URL/api/input/survey/publish" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"survey_series_id\": $SERIES_ID, \"survey_id\": $SURVEY_ID}"
# Étape 4 : Pousser le contenu de feedback
echo "Envoi du contenu..."
PUSH_RESPONSE=$(curl -s -X POST "$BASE_URL/api/input/content/push" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: zendesk-batch-$(date +%Y%m%d)-001" \
-d "{
\"survey_series_id\": \"$SERIES_ID\",
\"survey_id\": \"$SURVEY_ID\",
\"question\": {
\"question_id\": \"$QUESTION_ID\",
\"content\": [
\"Le processus de paiement était confus et j'ai abandonné\",
\"J'adore la nouvelle fonctionnalité de recherche - tellement plus rapide !\",
\"L'application plante à chaque fois que j'essaie de télécharger un PDF\","}
"Le support client a résolu mon problème en moins d'une heure",
"Ce serait génial d'avoir une option mode sombre"
]
},
"source_reference": "zendesk-export-2024-01-15"
}")
echo "Résultat du push : $PUSH_RESPONSE"
echo ""
echo "Fait ! Consultez vos retours sur le tableau de bord BoundaryAI."