Navigation
API CX-Engine · 5 min de lecture

Smart Routings — Enquêtes

Gérez les enquêtes de satisfaction, enregistrez les réponses des appelants depuis vos flux d'appel, et consultez ou exportez les résultats.

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