Les enquêtes recueillent les notes de satisfaction des appelants après un appel. Consultez Smart Routings pour les notions communes à tous les endpoints Smart Routings.
Tous les endpoints de cette section sont propres à l'espace de travail et nécessitent le scope OAuth client. L'enregistrement d'une réponse (POST /api/smart-routings/survey-records) accepte également le scope cfd.
Headers : Authorization: Bearer {workspace-token}
Paramètre de requête obligatoire : customer_account — le compte client concerné. Voir Choix du compte client.
| Permission | Nécessaire pour |
|---|---|
survey.view |
Lister et consulter les enquêtes, lister et exporter les réponses |
survey.create |
Créer des enquêtes |
survey.edit |
Modifier les enquêtes, modifier et supprimer des réponses |
survey.delete |
Supprimer des enquêtes |
survey.lookup ou survey.edit |
Enregistrer une réponse |
#Enquêtes
#GET /api/smart-routings/surveys
Renvoie la liste paginée des enquêtes du client.
Paramètres de requête
| Paramètre | Description |
|---|---|
filter[name] |
Filtrer par nom |
sort |
Champ de tri : id, name, created_at, updated_at. Préfixez par - pour un tri décroissant. Par défaut : -updated_at |
per_page |
Nombre de résultats par page (par défaut : 20) |
page |
Numéro de page |
Réponse 200 — réponse paginée
{
"data": [
{
"id": 3,
"customer_id": 12,
"name": "After-sales satisfaction",
"created_at": "2024-05-10T08:00:00.000000Z",
"updated_at": "2024-05-10T08:00:00.000000Z"
}
],
"current_page": 1,
"last_page": 1,
"per_page": 20,
"total": 1
}
#GET /api/smart-routings/surveys/{id}
Renvoie une enquête, avec son objet customer.
Réponse 200
{
"id": 3,
"customer_id": 12,
"name": "After-sales satisfaction",
"created_at": "2024-05-10T08:00:00.000000Z",
"updated_at": "2024-05-10T08:00:00.000000Z",
"customer": { "id": 12, ... }
}
Réponse 403 — l'enquête appartient à un autre client, ou la permission est manquante
#POST /api/smart-routings/surveys
Crée une enquête pour le client.
Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name |
string | oui | Nom de l'enquête |
Réponse 201 — l'enquête créée
#PUT /api/smart-routings/surveys/{id}
Renomme une enquête. PATCH est également accepté.
Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name |
string | non | Nom de l'enquête |
Réponse 201 — l'enquête mise à jour
#DELETE /api/smart-routings/surveys/{id}
Supprime une enquête.
Réponse 200
{ "response": "element deleted" }
#Réponses aux enquêtes
Une réponse (record) correspond aux réponses d'un appelant à une enquête : le numéro de l'appelant, une à trois notes, l'agent qui a traité l'appel, ainsi que la date et l'heure.
#POST /api/smart-routings/survey-records
Enregistre les réponses d'un appelant. C'est l'endpoint qu'appelle un flux d'appel 3CX à la fin d'une enquête. Accepte le scope client ou cfd.
Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
survey_id |
integer | oui | Identifiant de l'enquête |
caller |
string | oui | Numéro de l'appelant |
score_1 |
string | oui | Réponse à la première question (valeur numérique) |
score_2 |
string | non | Réponse à la deuxième question (valeur numérique) |
score_3 |
string | non | Réponse à la troisième question (valeur numérique) |
datetime |
string | oui | Date et heure de la réponse, au format 3CX : MM/DD/YYYY hh:mm:ss AM ou PM (ex. 10/08/2026 2:35:12 PM) |
agent_extension |
string | non | Extension de l'agent qui a traité l'appel |
agent_name |
string | non | Nom de l'agent qui a traité l'appel |
{
"survey_id": 3,
"caller": "+33612345678",
"score_1": "4",
"score_2": "5",
"datetime": "10/08/2026 2:35:12 PM",
"agent_extension": "201",
"agent_name": "Alice Martin"
}
Réponse 201
{
"survey_id": 3,
"caller": "+33612345678",
"score_1": "4",
"score_2": "5",
"datetime": "2026-10-08T14:35:12.000000Z",
"agent_extension": "201",
"agent_name": "Alice Martin",
"updated_at": "2026-10-08T14:35:13.000000Z",
"created_at": "2026-10-08T14:35:13.000000Z",
"id": 981
}
Réponse 400 — erreur de validation
#GET /api/smart-routings/survey-records
Renvoie la liste paginée des réponses d'une enquête.
Paramètres de requête
| Paramètre | Description |
|---|---|
survey_id |
Obligatoire. Identifiant de l'enquête |
filter[caller] |
Filtrer par numéro d'appelant |
filter[agent_name] |
Filtrer par nom d'agent |
filter[search] |
Rechercher dans le numéro de l'appelant, le nom et l'extension de l'agent |
sort |
Champ de tri : id, caller, datetime. Préfixez par - pour un tri décroissant. Par défaut : -datetime |
per_page |
Nombre de résultats par page (par défaut : 20) |
page |
Numéro de page |
Réponse 200 — réponse paginée
{
"data": [
{
"id": 981,
"survey_id": 3,
"caller": "+33612345678",
"score_1": 4,
"score_2": 5,
"score_3": null,
"agent_extension": "201",
"agent_name": "Alice Martin",
"datetime": "2026-10-08T14:35:12.000000Z",
"created_at": "2026-10-08T14:35:13.000000Z",
"updated_at": "2026-10-08T14:35:13.000000Z"
}
],
"current_page": 1,
"last_page": 1,
"per_page": 20,
"total": 1
}
#GET /api/smart-routings/survey-records/export
Télécharge toutes les réponses d'une enquête sous forme de fichier.
Paramètres de requête
| Paramètre | Description |
|---|---|
survey_id |
Obligatoire. Identifiant de l'enquête |
format |
csv (par défaut), xlsx ou xls |
Réponse 200 — téléchargement d'un fichier nommé survey_records.{format}, avec les colonnes id, survey_id, caller, score_1, score_2, score_3, datetime, agent_extension, agent_name.
#PUT /api/smart-routings/survey-records/{id}
Met à jour une réponse. Tous les champs de l'endpoint de création sont acceptés et facultatifs. Lorsqu'il est envoyé, datetime utilise le même format 3CX. Nécessite la permission survey.edit.
Réponse 200 — la réponse mise à jour
Réponse 403 — l'enquête appartient à un autre client, ou la permission est manquante
#DELETE /api/smart-routings/survey-records/{id}
Supprime une réponse. Nécessite la permission survey.edit (survey.delete ne concerne que les enquêtes elles-mêmes).
Réponse 200
{ "response": "element deleted" }
Réponse 403 — l'enquête appartient à un autre client, ou la permission est manquante