Standard téléphonique 3CX
Brancher le standard 3CX en lecture seule pour voir où partent les appels d'un poste, surveiller les lignes et la sauvegarde, et pré-diagnostiquer les tickets de téléphonie.
FirstSI lit le standard 3CX par son API de configuration, en lecture seule. On voit ainsi, sans ouvrir la console 3CX, où arrivent les appels d'un poste selon son statut, ce que devient un numéro entrant hors des heures d'ouverture, si les lignes de l'opérateur sont en ligne et si la sauvegarde a tourné. Le pré-diagnostic s'en sert pour les tickets du type « Téléphonie ».
Ce que FirstSI peut lire
| Sujet | Contenu |
|---|---|
| Système | Version, postes enregistrés sur le total, services du standard (arrêtés ou non), dernière sauvegarde |
| Lignes opérateur | Chaque ligne (trunk), en ligne ou non, nombre d'appels simultanés |
| Postes | Téléphone enregistré ou non, statut actuel (Disponible, Absent, Hors bureau…), et pour chaque statut où partent les appels en cas de non-réponse, d'occupation ou de téléphone non enregistré |
| Numéros entrants | Destination aux heures d'ouverture, en dehors et les jours fériés |
| Files d'attente | Agents de chaque file, statistiques sur une période (appels reçus, décrochés) |
| Journal des appels | Appels reçus ou émis par un poste, avec le parcours de chaque appel : règle d'arrivée, renvoi, messagerie, transfert, qui a raccroché |
| Journal d'audit | Qui a modifié la configuration, quand, depuis quelle adresse et sur quel objet |
| Divers | Jours fériés déclarés, journal des événements, adresses bloquées par la protection anti-piratage |
Côté 3CX : créer le client API
Dans la console d'administration 3CX, Intégrations → API → Ajouter :
- Donnez un ID client (un numéro libre du plan de numérotation, à 4 chiffres en général). Notez-le tel quel.
- Cochez Accès à l'API de configuration.
- Choisissez le département et le rôle. Pour lire tous les postes, le client doit voir tous les départements. Les rapports (journal des appels, statistiques des files, journal d'audit) exigent le rôle Propriétaire du système ; avec un rôle inférieur, la configuration se lit mais les rapports répondent « accès refusé ».
- Enregistrez, puis copiez la clé API affichée. Elle ne se réaffiche pas.
Côté FirstSI : déclarer le connecteur
Connecteurs → Nouveau connecteur, type API REST :
| Champ | Valeur |
|---|---|
| Nom | un nom qui contient « 3CX » : c'est ainsi que le pré-diagnostic le reconnaît |
| Adresse de base | l'adresse de la console 3CX, par exemple https://standard.exemple.fr |
| Authentification | Identité d'application → jeton (OAuth client_credentials) |
| Adresse du jeton (https) | https://standard.exemple.fr/connect/token |
| Identifiant de l'application (client_id) | l'ID client créé ci-dessus |
| Secret | la clé API créée ci-dessus |
| Agent d'exécution | un agent qui joint le standard ; aucun si le standard est publié sur Internet |
Les requêtes interrogent /xapi/v1/…. Une liste renvoie au plus 100 lignes par appel, et le journal des appels se lit sur une période courte : 7 jours au plus.
Requêtes utiles
Écrivez-les comme toute requête REST (voir Connecteurs), puis testez-les et validez-les. Une bonne base :

| Requête | Paramètres | Sert à |
|---|---|---|
| État du système | aucun | Postes enregistrés, services, version |
| Lignes opérateur | aucun | Lignes hors ligne |
| Sauvegardes | aucun | Date de la dernière sauvegarde réussie |
| Fiche d'un poste | numéro du poste | Enregistrement, statut actuel |
| Renvois d'un poste | numéro du poste | Destination des appels pour chaque statut |
| Destination d'un numéro | les derniers chiffres du numéro | Ouvert, fermé, jours fériés |
| Files d'attente et agents | aucun ou numéro de file | Qui répond dans chaque file |
| Appels reçus d'un poste | poste, début, fin | Journal avec le parcours des appels |
| Statistiques d'un poste | poste, début, fin | Appels reçus décrochés ou non, appels émis, durées. Passe par le rapport du groupe 3CX du poste : le rapport « par poste » de 3CX peut répondre « erreur 500 » |
| Statistiques des files | début, fin | Appels reçus et décrochés par file |
| Modifications de la configuration | objet (facultatif) | Qui a changé un renvoi, des horaires |
Donnez à chaque requête une description précise : l'Assistant IA la lit pour choisir la bonne. Les journaux d'appels contiennent des numéros de téléphone : cochez Données sensibles pour les réserver aux administrateurs.
Sondes conseillées
| Sonde | Normal si | Gravité, fréquence |
|---|---|---|
| Lignes opérateur hors ligne | aucune ligne | critique, toutes les 15 min |
| Services du standard arrêtés | aucune ligne | critique, toutes les 15 min |
| Dernière sauvegarde de moins de 2 jours | au moins une ligne | avertissement, toutes les 6 h |
Dans le pré-diagnostic
Le type Téléphonie lance trois contrôles quand un connecteur 3CX existe :
| Contrôle | Ce qu'il dit |
|---|---|
| État du standard | Lignes opérateur hors ligne, services arrêtés, part des postes enregistrés, sauvegarde ancienne |
| Poste 3CX et renvois | Le poste cité dans le ticket, ou à défaut celui du demandeur retrouvé par son adresse e-mail dans l'annuaire : téléphone enregistré, statut actuel et où partent ses appels dans ce statut ; appels reçus sur 48 h, décrochés ou non, et parcours du dernier appel manqué |
| Numéro entrant | Le numéro cité : sa destination ouvert, fermé et jours fériés, puis l'état et les renvois du poste de destination ; les règles en double sont signalées |
Un ticket « mon téléphone ne sonne plus » arrive ainsi avec la réponse la plus fréquente : le poste est resté en statut Absent, et ses appels partent sur la messagerie.
Questions fréquentes
Le jeton est refusé (401). L'ID client ou la clé ne correspondent pas. Recopiez l'ID tel qu'il apparaît dans Intégrations → API, régénérez la clé côté 3CX si besoin et saisissez-la de nouveau dans le connecteur.
La configuration se lit, les rapports répondent 403. Le client API n'a pas le rôle Propriétaire du système.
Les requêtes échouent par intermittence avec 401. Un autre outil utilise le même client API et annule le jeton de FirstSI. Donnez-lui son propre client.
Le journal des appels répond « erreur 500 ». La période est trop longue ou le poste n'existe pas : réduisez à quelques jours et vérifiez le numéro.
Source : · Docs FirstSI · mis à jour le 10/10/2026