Hébergement web/VOICE/Documentation
ForHosting VOICE

Documentation

Une seule page, quatre couloirs. Commencez ici, confiez les deux du milieu à qui répond au téléphone et à qui dirige la maison, et envoyez le dernier à qui écrit le code.

Pour commencer

Votre standard en cinq minutes

Tout ce qui suit existe déjà dans votre compte. Rien ici ne demande un installateur, la visite d'un technicien ni un appareil à acheter.

  • Vous avez déjà des numéros et des postes. Ils sont créés avec votre compte, avec les identifiants SIP dont chaque appareil a besoin. Un poste, c'est une personne ou un bureau ; un numéro, c'est ce que compose le monde extérieur.
  • Faites pointer un numéro quelque part. Dans l'onglet Numéros, vous dites ce qu'un appel arrivant sur ce numéro doit faire : sonner un poste, sonner un groupe, ouvrir un menu, entrer dans une file ou suivre vos horaires.
  • Répondez depuis le navigateur. Ouvrez l'onglet Téléphone, autorisez le micro, et cet onglet devient un poste qui fonctionne. Appelez le test d'écho en composant *43 et vous vous entendrez revenir.
  • Ensuite, réglez vos horaires et votre messagerie. Ce sont ces deux-là qui empêchent un appel de se perdre à sept heures du soir, et ce sont les deux choses qui manquent le plus souvent à un standard tout neuf.

Pressé ? Il existe cinq modèles de démarrage — un cabinet médical, un cabinet d'avocats, un atelier, une boutique et une ligne de maison — qui créent vos horaires, votre route entrante et votre messagerie hors horaires en une seule requête. Ils n'écrasent jamais ce que vous avez déjà configuré.

Comment entrer dans votre panneaupar l'API

Le panneau vit sur votre page VOICE et n'apparaît qu'avec une session. Cette session est émise par votre espace client ; ici, on ne saisit rien.

ÉtapeCe que ça fait
1Vous vous connectez à votre espace client sur elportaldelcliente.com.
2Vous choisissez « Administrer mon standard » dans le menu de votre compte. Cela demande à VOICE une session en votre nom et vous envoie sur votre page VOICE, la clé dans le fragment de l'adresse.
3Le panneau remplace la page commerciale. La clé est effacée de la barre d'adresse avant tout affichage, et elle expire d'elle-même.

Pour qui construira ce bouton, voici tout le contrat :

POST /inquilinos/:inquilino/sesiones     # portée système : seul le portail peut en émettre
{ "minutos": 15 }
→ { "clave": "pbx_ses_…", "caduca": "…", "ambito": "sesion", "minutos_max": 60 }

/telephonie#t=<clave>&exp=<ISO>&v=<inquilino>

La clé voyage dans le fragment et non dans la query, volontairement : un fragment n'est jamais envoyé à un serveur, il ne finit donc ni dans un en-tête Referer, ni dans les journaux d'accès, ni chez un intermédiaire du chemin. Elle expire en quelques minutes, elle est plafonnée, et elle ne peut jamais fabriquer de clé permanente.

Pour qui répond au téléphone

Le panneau, onglet par ongletpar l'API

16 sections, les mêmes 16 dans les huit langues. Tout ce qui est ici existe aussi dans l'API.

OngletCe que ça fait
AperçuOù en est votre standard à l'instant : appels du jour, décrochés, en cours, votre pointe et à quel point vos postes ont été joignables.
Mes numérosVos numéros, et ce que fait chacun quand il sonne.
MenusMenus vocaux : tapez 1 pour les ventes, et dans les ventes un autre menu.
PostesPersonnes et appareils, avec des règles par personne : suivez-moi, renvois, ne pas déranger, ce que chacun a le droit de composer, et le portier.
TéléphoneLe téléphone lui-même : composer, décrocher, transférer, mettre en garde, et voir qui est en ligne.
Files d'attenteFiles avec position, attente mesurée, rappel, qui est en poste et qui traite quoi.
SallesSalles de conférence avec clé, et qui est dedans en ce moment.
MessagerieMessages avec leur transcription, annonces, code, corbeille et taille maximale.
AnnuaireL'annuaire par le nom auquel arrive celui qui épelle sur le clavier.
AccueilLa standardiste, les appels en garde en temps réel, les fenêtres de maintenance et la table des codes.
FiltresListe noire, filtre d'appels anonymes, alertes sur qui insiste trop et tout ce qui touche à qui peut vous joindre.
HorairesHeures ouvrées, jours fériés et la bascule jour / nuit.
MusiqueMusique d'attente et les morceaux que joue chaque flux.
AppelsChaque appel avec son numéro, sa durée, sa route et son enregistrement.
LignesLignes simultanées : ce que vous avez garanti, ce que vous empruntez et votre pointe.
ConsommationCe que vous avez consommé ce mois-ci, jour par jour.

Le téléphone dans votre navigateurappel réel

Un onglet est un poste. Rien à installer, aucun téléphone de bureau à acheter, aucun numéro à porter : c'est un poste de votre propre standard, enregistré depuis le navigateur.

  • C'est un vrai poste. Le navigateur s'enregistre sur votre standard comme le ferait un téléphone de bureau, et l'audio passe par une liaison chiffrée. Qui appelle votre numéro peut atteindre l'onglet, et l'onglet peut appeler dehors.
  • L'onglet doit rester ouvert. Un onglet fermé est un téléphone débranché. C'est la limite honnête d'un téléphone dans le navigateur, et la raison pour laquelle il accompagne un poste de bureau au lieu de le remplacer partout.
  • Vous voyez qui est en ligne.appel réel Les voyants de vos collègues se mettent à jour en direct — libre, sonne, en conversation —, vous savez donc s'il y a quelqu'un à qui passer l'appel avant d'essayer.
  • Vous pouvez déplacer un appel en cours vers un autre appareil.pas encore exercé « Je dois partir et je suis en pleine conversation » : l'appel passe sur votre mobile sans raccrocher. C'est un bouton et non un code de clavier, volontairement — qui déplace un appel a un écran devant lui.
  • Transférer, mettre en garde et enregistrer sont les mêmes codes que sur n'importe quel poste. Ils se composent, ils ne se cliquent pas : ce que vous apprenez sur le téléphone du navigateur vous sert sur le poste de bureau et sur votre mobile.

Le téléphone du navigateur n'enregistre jamais sur votre ordinateur. L'enregistrement se fait dans le standard, là où s'appliquent les règles sur qui peut être enregistré et qui doit en être averti — voyez « Enregistrer, et la loi ».

Codes composés depuis un poste

On garde les classiques là où une convention existe (*72 renvoi, *78 ne pas déranger, *97 messagerie, *8 interception, *69 qui vient d'appeler). C'est tout le sens d'un code de clavier : la fonction est déjà dans le panneau, et le code est ce qui fait qu'une personne qui compose *72 depuis vingt ans croit le panneau.

Composés poste au repos

CodeCe que ça faitVérifié
*43Test d'écho. Il enregistre ce que vous dites et vous le renvoie, et il sait dire « rien ne m'est parvenu ».pas encore exercé
*44La même chose, avec un retard : il révèle les mots qui se perdent.pas encore exercé
*45Test du clavier. Il annonce chaque touche à mesure que vous appuyez.pas encore exercé
*46L'état de votre ligne : enregistrement, codec, adresse et latence.pas encore exercé
*60L'heure et la date, dites correctement.banc d'essai
*62Votre consommation du mois (appels et minutes ; le montant, une fois la facturation active).par l'API
*69Qui vous a appelé en dernier, dit à voix haute, appels manqués compris — puis tapez 1 pour rappeler.pas encore exercé
*72Renvoi inconditionnel. Il vous relit le numéro.par l'API
*73Annule tous les renvois.par l'API
*74Renvoi parallèle : votre poste et le numéro sonnent en même temps.par l'API
*75Renvoi quand vous êtes occupé.par l'API
*76Renvoi quand vous ne répondez pas.par l'API
*78Ne pas déranger activé, confirmé à voix haute.par l'API
*79Ne pas déranger désactivé.par l'API
*80Vous prenez votre poste dans toutes vos files.par l'API
*81Vous quittez votre poste dans toutes vos files.par l'API
*90Bloque un numéro (# seul bloque celui du dernier appel reçu).pas encore exercé
*91Débloque.pas encore exercé
*97Votre messagerie, avec votre code.banc d'essai
*98Enregistre votre annonce.banc d'essai
*99Enregistre votre nom — l'annuaire et la salle de conférence s'en servent.banc d'essai
*8Interceptez l'appel qui sonne au bureau d'à côté.par l'API
*66Mode : normal · déjeuner · fermé · férié · automatique.par l'API
*411L'annuaire par le nom.banc d'essai
*57Ouvre un dossier d'appel malveillant sur celui que vous venez de recevoir. L'enregistrement cesse d'expirer et l'heure, la route et l'audio sont conservés pour une plainte. Cela ne bloque pas l'appelant : ce choix vous appartient.pas encore exercé
*85Prévenez-moi quand ce poste sera libre.pas encore exercé
*86Annule cette demande.pas encore exercé
*82Écoutez un appel de votre propre maison. Aucune des deux parties ne vous entend.pas encore exercé
*83Soufflez : seul votre collègue vous entend, pas le client.pas encore exercé
*84Entrez dans l'appel : les deux parties vous entendent.pas encore exercé
*88Les appels que personne n'a rappelés, dits à voix haute — puis tapez 1 pour rappeler le plus ancien.pas encore exercé
*47Le standard s'explique tout seul : il récite ses propres codes, 9 pour le suivant, 0 pour sortir.pas encore exercé
70NReprend l'appel mis en garde sur l'emplacement N.par l'API

Composés pendant une conversation

CodeCe que ça faitVérifié
*1Enregistre cet appel, maintenant. Les deux parties en sont averties.par l'API
*7Le met en garde : l'appelant a de la musique et le numéro d'emplacement est annoncé à voix haute.par l'API
##<ext>#Transfert aveugle : vous passez l'appel et vous raccrochez.appel réel
#<ext>#Transférer sans choisir le type. Le standard regarde s'il y a quelqu'un en face et bascule en transfert aveugle s'il n'y a personne.pas encore exercé
*2<ext>#Transfert supervisé : vous parlez d'abord à votre collègue.pas encore exercé

Pendant la consultation, dans un transfert supervisé

CodeCe que ça faitVérifié
*1Termine le transfert.pas encore exercé
*0Annule et revient à l'appelant.pas encore exercé
*3Vous met tous les trois sur le même appel.pas encore exercé

Dans une salle de conférence

CodeCe que ça faitVérifié
*6Tout le monde : coupe et rouvre son micro.par l'API
*7Tout le monde : combien de personnes sont dans la salle.par l'API
*9Tout le monde : sortir.par l'API
*1Organisateur : ferme la salle sans changer la clé.par l'API
*2Organisateur : la rouvre.par l'API
*3Organisateur : lance ou arrête l'enregistrement.par l'API

Certains codes veulent dire deux choses et elles ne se percutent pas : *1 dans une conversation normale, c'est « enregistrer maintenant » ; pendant la consultation, c'est « terminer le transfert » ; et dans une salle, c'est « verrouiller la salle ». Ce sont des états différents du même poste, traités par du code différent.

Avant de faire confiance à un poste neuf : Les téléphones de bureau et les adaptateurs traitent leurs propres codes étoile et ne les transmettent jamais. Si vous composez un code et que vous entendez le silence puis la tonalité, c'est l'appareil qui l'a avalé et le standard n'a rien vu. Demandez-nous de vérifier un nouveau modèle contre la liste du jour avant de le déployer.

La messagerie depuis n'importe quel postebanc d'essai

Composez *97, saisissez votre code, et toute la messagerie est là — sans application et sans navigateur. C'est écrit pour le patron qui appelle depuis un téléphone emprunté.

Menu principal

ToucheCe que ça fait
1Nouveaux messages.
2Messages gardés.
4Annonces et votre nom enregistré.
5Changer votre code.
0Sortir vers la standardiste.
9Raccrocher.

Pendant l'écoute d'un message

ToucheCe que ça fait
1Le répéter.
2Le garder.
3Le supprimer. Puis tapez 8 dans les cinq secondes pour annuler.
4Rappeler cette personne.
6Le suivant, en laissant celui-ci comme nouveau.
7Le transmettre à un collègue avec une note de vous enregistrée devant.

Menu des annonces

ToucheCe que ça fait
1Enregistrer l'annonce principale.
2Enregistrer votre nom.
3Mettre une annonce de congés.
4L'enlever.

Traiter l'appel lui-même

Un groupe d'appel dit « que ça sonne à plusieurs endroits ». Tout ce qui suit fait quelque chose qu'un groupe d'appel ne sait pas faire.

  • Files d'attente.par l'API Une file sait combien de personnes attendent devant et combien de temps cela prend d'habitude, elle peut donc le dire. L'attente est mesurée sur vos propres appels récents, jamais inventée — avec moins de trois échantillons, elle ne dit rien. Sans personne en poste, personne n'est mis en attente.
  • Rappel depuis la file.par l'API Proposé après un moment d'attente, et pas proposé si l'appel va de toute façon être pris tout de suite. La demande survit à un redémarrage, puisque celui qui la fait raccroche, et le rappel entre en tête de file — c'est ce qui a été promis.
  • Salles de conférence.par l'API Une salle avec son numéro et deux clés : une pour entrer, une pour l'animer. Personne n'a besoin de compte nulle part. Les entrées et les sorties sont annoncées avec le nom que chacun a enregistré lui-même.
  • L'annuaire par le nom.banc d'essai L'appelant épelle un nom sur le clavier et il est mis en relation. Chaque mot du nom est indexé séparément, parce qu'ici deux noms de famille sont la norme et ne chercher que le premier trouve la moitié de la maison. Les accents et le ñ sont normalisés : « Muñoz » se trouve en composant 686.
  • Le zéro pour la standardiste.par l'API Sans doute l'attente la plus universelle qui existe à propos d'un téléphone : pouvoir joindre une personne. Le zéro descend en cascade de votre standardiste vers la messagerie générale, puis vers une phrase dite à voix haute — jamais un raccroché muet.
  • Mettre en garde et reprendre.par l'API Mettez un appel en garde et il attend avec de la musique sur un emplacement numéroté pendant que vous marchez jusqu'à un autre bureau. N'importe qui le reprend en composant cet emplacement. Intercepter le téléphone qui sonne à côté de vous, c'est *8.

Pour qui dirige la maison

Canaux : garantie, prêt et restitutionpar l'API

C'est la partie du produit qu'un plafond dur ne sait pas faire, et il vaut mieux la comprendre avant de choisir un forfait.

  • Garantis. Les appels simultanés que vend votre forfait. Ils passent toujours, quoi que fasse le standard, et personne ne peut vous les retirer.
  • En prêt. Au-dessus de votre garantie, vous utilisez ce que le standard a de libre. La plupart des jours, vous serez là, et cela ne coûte rien de plus.
  • La réserve. Un matelas de canaux qui n'est prêté à personne, pour que chacun puisse atteindre sa propre garantie à tout moment.
  • La restitution. Quand le standard est sous tension, les appels empruntés peuvent être rendus pour protéger la garantie d'un autre. Cela ne concerne que les comptes qui l'ont activé, jamais un appel à l'intérieur d'une garantie, jamais un appel d'urgence et jamais en silence : le standard parle avant de libérer.
  • Impossible de survendre. La somme de toutes les garanties plus la réserve doit tenir. La mise en service le vérifie et refuse un forfait qui ne tient pas, et c'est ce qui donne un sens au mot « garanti ».
  • Et vous voyez quand ça a mordu. La congestion est signalée par épisodes avec leur heure, pas comme un total mensuel. « Douze refus en trente jours » se lit comme du bruit ; « mardi dernier, entre dix et onze heures, cinq personnes ont eu l'occupation » est quelque chose sur quoi on peut décider.

Ce qui se passe quand quelque chose casse

Un standard se juge le jour où le courant saute, pas le jour où tout marche.

  • Plus d'une sortie. Le standard atteint le monde extérieur par plusieurs liaisons indépendantes et choisit entre elles tout seul. Vous ne configurez pas cela et vous ne le voyez pas se produire.
  • « Ça marche » se mesure contre la bonne chose. Une liaison n'entre dans la rotation que si elle atteint à la fois l'internet et le réseau téléphonique. Ne vérifier que le premier, c'est ainsi qu'un standard se retrouve sans ligne avec tous les voyants au vert.
  • Il se relève seul après une coupure de courant. Quand le courant revient, le standard et les équipements réseau démarrent en même temps et pas toujours dans le bon ordre. Plutôt que de se fier à cet ordre, le standard compare sans cesse ce qu'il a vraiment avec ce qu'il devrait avoir, et se répare — avec un plafond sur le nombre de tentatives, pour qu'une vraie panne soit remontée au lieu de tourner en boucle.
  • Il ne coupe pas un appel pour se réparer. Toute réparation qui interromprait des conversations attend qu'il n'y en ait plus.

Les enregistrements et les messages vocaux sont stockés hors du standard : ils survivent donc à la machine elle-même.

Forfaits et minutes

5 forfaits, de $100 à $300 par an, et un numéro par licence. La minute entrante sur un numéro du Costa Rica est à $0.00.

ForfaitSimultanés, jusqu'àDont garantisPostesConservation (jours)Par an
VOICE I3133$100
VOICE II4244$150
VOICE III6366$200
VOICE IV8488$250
VOICE V105Sans limite28$300

Minutes

DestinationLa minute
Appels entrants$0.00
Costa Rica · fixe$0.03
Costa Rica · mobile$0.08
Amérique centrale$0.45
Caraïbes$0.55
Reste du monde$2.30

Prix en dollars, taxes comprises. L'opérateur mesure les appels vers mobile à la seconde. Chaque licence inclut 1 numéro ; les numéros supplémentaires partagent le même standard, les mêmes flux et le même panneau.

Enregistrer, et la loipar l'API

Un enregistrement, c'est la voix d'autres personnes. La loi costaricienne 8968 la protège, et la conception découle de là plutôt que de ce qui serait commode.

  • Vous décidez ce qui est enregistré.par l'API Tout, ou seulement certains postes, ou seulement les appels arrivant sur un certain numéro. Ou rien, ce qui est une réponse légitime.
  • La conservation vient avec votre forfait. Les enregistrements sont purgés d'eux-mêmes à l'échéance. La seule exception est un enregistrement rattaché à un dossier d'appel malveillant, qui cesse d'expirer jusqu'à ce que vous fermiez le dossier — et le fermer redonne un délai normal, jamais un « supprimez-le tout de suite ».
  • En partager un ne revient pas à donner un accès. Un lien signé joue un seul enregistrement, expire de lui-même et peut être révoqué. La personne à qui vous l'envoyez ne voit jamais votre compte.
  • Chaque écoute est journalisée. Qui a joué quel enregistrement, et quand. C'est la voix de quelqu'un d'autre : savoir qui l'a entendue fait partie du fait de la détenir.
  • Vous pouvez les classer. Client, prospect ou interne. Il n'y a volontairement pas de valeur par défaut : non classé est honnête, et une étiquette devinée par la machine ne se distingue plus, après coup, d'une étiquette choisie par une personne.

Les deux parties sont toujours averties. Demander au standard d'enregistrer rend aussi l'obligation de l'annoncer : les deux ne se séparent pas, parce que les séparer est précisément la façon dont quelqu'un finit enregistré sans le savoir. Dans une salle de conférence, l'annonce est faite à chaque personne au moment où elle entre.

Limites, protection et retour arrière

Ce qui décide jusqu'où va une mauvaise journée : une clé volée, une erreur d'acheminement, un numéro qui n'arrête pas d'appeler.

  • Un plafond de dépense, journalier et mensuel.banc d'essai C'est ce qui empêche une clé volée de coûter de l'argent. Le plafond atteint, les appels s'arrêtent.
  • Ce que chaque poste a le droit de composer.par l'API Interne seulement, national, mobile, ou tout. Le téléphone de l'entrepôt n'a aucune raison de pouvoir appeler un numéro surtaxé. Les appels d'urgence ne passent jamais par là.
  • Le prix avant de composer.par l'API Demandez ce que coûterait un numéro donné : la réponse est calculée par la même mécanique que celle qui acheminera vraiment l'appel, et non par une grille tarifaire qui pourrait ne pas être celle appliquée.
  • Une alarme de fraude qui regarde le comportement.pas encore exercé Une cadence inhabituelle, un pays que vous n'avez jamais appelé, une heure où personne ne travaille. Elle prévient et ne coupe pas : un faux positif ici n'est pas une alerte agaçante, c'est un appel qui n'a pas eu lieu. Il lui faut deux signaux avant de dire quoi que ce soit, parce qu'une alarme qui se déclenche tous les jours finit ignorée.
  • Celui qui insiste trop est signalé.pas encore exercé Le même numéro cinq fois en deux minutes, ce n'est pas un client insistant : c'est un automate d'appel. En sortie d'usine, cela ne fait qu'avertir ; bloquer automatiquement est une case que vous cochez, parce qu'un faux positif coûte un client qui ne pourra plus jamais appeler.
  • Un dossier pour un appel malveillant.pas encore exercé L'heure, la route et l'audio, gardés ensemble pour une plainte. En ouvrir un ne bloque pas l'appelant : chaque nouvel appel est une preuve de plus, et cette décision est la vôtre, pas la nôtre.
  • À quel point vos postes ont été joignables.par l'API Pas notre disponibilité : la vôtre. Et on montre toujours quelle part de la période a réellement été mesurée, parce qu'un pourcentage qui avale en silence les heures que personne n'a regardées se trompe toujours du côté confortable.
  • Ce qui a changé, qui l'a changé, et le retour arrière.par l'API « Hier ça marchait » est une question qui a une réponse. Chaque changement de configuration est consigné et peut être annulé, et l'annulation vérifie que personne d'autre n'a touché à ces champs entre-temps au lieu de les écraser en silence.

Ce qui est éteint, et pourquoi

Un manuel qui ne décrit que ce qui marche vous oblige à découvrir le reste tout seul, et on le découvre toujours au pire moment. Cette liste est engendrée par l'interrupteur lui-même : elle ne peut pas décrire comme éteint ce qui vient d'être allumé.

Ce que ça faitPourquoi
La messagerie vers l'e-mailL'audio en pièce jointe, sans avoir à appeler la messagerie. Il faut un identifiant de courrier pour la boîte, et cet identifiant n'existe pas encore.
La facturation automatique à la minuteLa mesure fonctionne et chaque appel est mesuré ; ce qui n'est pas activé, c'est le débit sur un solde prépayé. En attendant, les minutes sont facturées.
Adresse de secours pour les postesPour que les téléphones basculent seuls entre les deux entrées du standard. Il faut un identifiant du domaine avec droit d'écriture ; celui que nous avons ne fait que lire.
Le fax entrantDétecter la tonalité et vous le signaler est construit, et c'est éteint volontairement : la détection de fax écoute tous les appels entrants, et un faux positif ferait tomber un vrai appel vocal. Cela reste éteint tant qu'il n'y a pas un vrai fax pour le mesurer.

Pour qui l'intègre

L'APIpar l'API

Le panneau n'est qu'un client de cette API. Tout ce que vous changez à la main peut se changer par programme, avec une clé qui appartient à votre compte.

curl -H "authorization: Bearer <clave>" \
  https://api.voice.forhosting.com/inquilinos/<cuenta>/numeros

Portées

PortéeCe que ça fait
sistemaMise en service, au-dessus des comptes. On ne vous en délivrera pas.
inquilinoVotre compte, lecture et écriture. C'est la clé avec laquelle on intègre.
lecturaVotre compte, GET uniquement. Pour des tableaux de bord qui ne doivent rien pouvoir changer.
sesionLa même portée que votre clé de compte, mais elle expire en quelques minutes. C'est celle du panneau, pour qu'un navigateur ne détienne jamais de clé permanente.
dispositivoUn seul appareil d'un seul poste, et elle expire en quelques minutes. C'est celle que porte l'application du téléphone : elle n'atteint que ce dont un téléphone a besoin, et seulement pour son propre poste.

Quand quelque chose se passe mal

CodeCe que ça fait
400La requête est mal formée, ou une valeur ne fait pas partie de celles que nous acceptons. Le message dit laquelle.
401Pas de clé, une clé inconnue, ou une session déjà expirée.
403La clé est bonne mais n'a pas le droit : des données d'un autre compte, une route de mise en service, ou une écriture avec une clé en lecture seule.
404Cela n'existe pas dans votre compte.
405Ce chemin existe, cette méthode non. On le distingue du 404 volontairement : cela fait gagner une heure.
503 · 504Le standard n'a pas pu être joint, ou il n'a pas répondu à temps. On ne répond jamais « vous n'avez rien » : ne pas pouvoir regarder n'est pas la même chose que ne rien avoir.

Tout ce que l'API peut répondre lorsqu'elle refuse

Ce sont les chaînes exactes que l'API renvoie dans le champ error, lues dans le code source du standard. Elles sortent en espagnol et sont affichées ici telles quelles, à dessein : ce que vous devez reconnaître, c'est ce qui arrive, pas une traduction. Un … marque l'endroit où une valeur est insérée.

Chaque erreur porte un code stable. Appuyez-vous sur codigo, pas sur le message. Il est toujours présent : ce qui ne déclare pas de code propre reçoit celui de sa classe, dérivé du statut HTTP. Le texte de error est destiné à être lu par une personne et peut être reformulé ; le code, non.

{ "error": "…", "codigo": "de_otra_cuenta" }
CodeHTTPQuand vous le recevez
mala_peticion400La requête est mal formée, ou une valeur ne fait pas partie de celles que nous acceptons. Le message précise laquelle.
no_autorizado401Sans clé, avec une clé inconnue, ou avec une session expirée.
prohibido403La clé est valide mais n'a pas le droit de faire cela.
no_existe404Il n'y a rien sur quoi agir.
metodo_no_permitido405La route existe, ce verbe non. On la distingue d'une route inexistante à dessein : cela fait gagner une heure.
conflicto409L'état du compte ne le permet pas pour l'instant.
ambito_insuficienteVotre clé n'atteint pas cette route. Le provisionnement appartient au portail, pas à vous.
canales_por_troncalLa répartition des canaux envoyée lors du provisionnement ne peut pas être acceptée, et rien n'en est enregistré. Le détail indique ce qui ne va pas. Cela relève du provisionnement, pas de votre compte.
central_no_disponibleLe standard est injoignable pour l'instant. Réessayez avec une attente croissante : votre requête n'a rien d'incorrect.
central_sin_respuestaLe standard n'a pas répondu à temps. Même traitement que le précédent, et même prudence : l'écriture a pu aboutir ou non.
clase_de_servicioCette valeur ne fait pas partie des permissions d'appel qu'un poste peut avoir.
clave_sin_cuentaLa clé n'est rattachée à aucun compte.
de_otra_cuentaCela appartient à un autre compte — ou n'existe pas dans le vôtre. Les deux cas partagent un code à dessein : les distinguer révélerait l'existence.
falta_credencialVous n'avez envoyé aucune clé.
garantia_no_cabeIl ne reste plus de capacité garantie pour ce qui est demandé. Ce n'est pas une panne : c'est ce qui empêche de vendre deux fois le même canal. Le message indique ce qui reste.
no_editableCette donnée est modifiée par votre fournisseur, pas ici.
no_existeIl n'y a rien sur quoi agir.
protocolo_incorrectoCette route ne parle que WebSocket et vous l'avez demandée en HTTP simple.
solo_lecturaVotre clé est en lecture seule et ceci écrirait.
ya_existeIl existe déjà quelque chose avec ce nom ou ce numéro. Réessayez avec un autre, pas avec la même charge.
CodeCombienMessage
400163
  • 'extension_id' y 'numero' son excluyentes
  • 'hasta' tiene que ser posterior a 'desde' (o al momento de abrirlo)
  • 'numero' no parece un número
  • 'segmentos' lleva caracteres que no acepto
  • alert_info: máximo 200 caracteres
  • alert_info: no puede llevar saltos de línea
  • ambito: …
  • antelacion_horas: número de horas
  • avisar_el es posterior a la cita: no se puede recordar algo que ya pasó
  • bloque de más de 10.000: cárgalo en trozos
  • cada miembro necesita extension_id o externo
  • canales_garantizados y canales_max van los dos como mapa por troncal, o los dos como número: no se mezclan
  • canales_troncal no se escribe directo: mande canales_garantizados y canales_max como mapa por troncal
  • capacidad: falta 'tipo_cap' (p. ej. 'text.summarize')
  • categoria: …
  • categoría: …
  • clase_servicio: …
  • condicion: el caso … no dice qué variable mira
  • condicion: el caso … va a '…', que no es un destino
  • condicion: hace falta al menos un caso en 'casos'
  • consulta: 'url' debe empezar por http:// o https://
  • consulta: espera.aviso_cada_s no baja de 5 segundos
  • contesta: hace falta decir quién atiende ({tipo, id})
  • cuando: fecha ISO de la cita
  • demasiadas piezas (máx. 24)
  • desde/hasta con formato 'HH:MM'
  • destino externo: número inválido
  • destino: …
  • dia: 0 (domingo) a 6 (sábado)
  • el alias debe tener al menos 3 dígitos
  • el aviso de buzón admite hasta 5 teléfonos
  • el bloque debe tener números de la misma longitud
  • el destino '…' necesita el id de un paso
  • el destino '…' necesita un id
  • el destino es de otro inquilino
  • el destino es el mismo número que se está retirando: quien oiga esto acaba de marcarlo
  • el disco no tiene ninguna pista activa con audio
  • el final del bloque es menor que el inicio
  • el guion necesita un nombre
  • el mapa de canales está vacío
  • el modo de aviso es 'tras' (uno detrás de otro) o 'a_la_vez'
  • el motor de llamadas no está listo
  • el número interno debe tener 3 o 4 dígitos
  • el número … está '…', no asignado
  • el precio (…) está por debajo del coste (…)
  • el ámbito 'dispositivo' necesita extensión y dispositivo
  • el ámbito '…' necesita inquilino
  • el … no es de esta cuenta
  • el … no está asignado a este inquilino
  • entrada.verificar: 'url' debe empezar por http:// o https://
  • entrada: exito.dest_tipo debe ser uno de …
  • entrada: falta 'exito.dest_tipo' (a dónde va cuando la entrada es válida)
  • entrada: falta 'texto' (lo que se le pide a quien llama)
  • entrada: max no pasa de 32 dígitos
  • es un feriado nacional: crea una excepción con cerrado:false
  • es un mantenimiento global: lo cierra quien opera la central
  • esa extensión es de otro inquilino
  • esa llamada no es de este inquilino
  • ese apunte no cambió ninguna columna: no hay nada que deshacer
  • ese dispositivo no es de esa extensión, o esa extensión no es de esta cuenta
  • ese guion lo usan …: …
  • ese turno lo usan: …
  • estado: 'activo' o 'suspendido'
  • estado: …
  • estos campos los cambia su proveedor: …
  • estrategia: rotativo|todos|menos_usada|orden
  • estrategia: …
  • evento desconocido: …. Válidos: …
  • extensión inexistente o de otro inquilino
  • falta 'extension_id' o 'miembro_id'
  • falta 'extension_id' o 'numero'
  • falta 'inquilino'
  • falta 'motivo'
  • falta 'nombre'
  • falta 'numero'
  • falta 'q'
  • falta 'segmentos' o 'decir'
  • falta 'teclas' (los dígitos marcados)
  • falta 'texto'
  • falta 'titulo'
  • falta 'valor'
  • falta dispositivo_id: a qué aparato se mueve
  • falta el nombre
  • falta el número nuevo (destino)
  • falta extension_id
  • falta inquilino, extensión o quién lo pide
  • fecha: 'AAAA-MM-DD' (una vez) o '--MM-DD' (todos los años)
  • hace falta audio_clave o texto
  • hace falta extension_id o externo
  • hace falta la llamada o el número
  • hace falta miembro_id o extension_id
  • hay varias troncales nacionales con la misma prioridad y ninguna es la de por defecto:
  • hay … ruta(s) apuntando a este disco (…): cámbialas primero
  • horario inexistente o de otro inquilino
  • instalacion: el identificador de la instalación de la app, de 8 a 128 caracteres (letras, dígitos, . _ : -)
  • la búsqueda necesita al menos 2 caracteres
  • la clave de la sala y la del organizador no pueden ser la misma
  • la extensión que contesta no es de este inquilino
  • la extensión «…» es de otro inquilino
  • la extensión «…» no existe
  • la extensión … no existe
  • la garantía (…) no puede pasar del techo (…)
  • la garantía de este inquilino está repartida en … troncales:
  • la pausa «…» debe ir de 1 a 30 segundos
  • la tecla … no estaba definida
  • la troncal '…' no existe o no está activa
  • los días van de 0 (domingo) a 6 (sábado)
  • mapa de canales por troncal inválido
  • minutos: un número mayor que cero
  • modo: …
  • modo: … o null para volver al automático
  • modo_presion: firme|elastica|cede
  • nada que cambiar: campos aceptados = categoria, notas, troncal_id
  • no caben … canales garantizados en …: quedan …
  • no caben … canales garantizados: quedan … libres
  • no está archivada: no hay audio que analizar
  • no hay motor de audio
  • no pude originar la prueba: …
  • no se puede esperar a uno mismo
  • no sé marcar '…'
  • numero: 1..99
  • numero: hace falta el número que se quiere marcar
  • numero: hace falta un número marcable
  • número de sígueme inválido: …
  • número externo inválido
  • número externo inválido: …
  • número inválido: …
  • número no válido para devolver la llamada
  • número vacío
  • orden: …
  • paises debe ser una lista de prefijos
  • para '…' el rango es …-… (o usa 4 dígitos)
  • para ambito '…' hace falta ambito_id
  • patrón inválido
  • patrón inválido: …
  • plan desconocido: …
  • plantilla: …
  • rol: visitante|agente|sistema
  • se espera 'filas': el CDR del operador
  • se esperaba una lista de contactos
  • sólo el ámbito 'dispositivo' se ata a una extensión y a un dispositivo
  • sólo las consultas tienen secreto
  • sólo los ámbitos 'sesion' y 'dispositivo' admiten 'minutos'
  • tecla inválida: …
  • tipo: …
  • transporte: …
  • un IVR sin saludo deja al llamante en silencio: pon saludo_texto o saludo_audio
  • una troncal sin host no puede activarse
  • url debe empezar por http:// o https://
  • url inválida
  • «…» no es una frase que un guion pueda sustituir
  • «…» no es una hora válida
  • «…» no es una hora: se escribe HH:MM
  • «…» no parece un teléfono
  • «…» no vale como habilidad: letras, números, guion o guion bajo
  • «…» no vale: sólo dígitos, asterisco, almohadilla o una pausa tipo P2
  • … es un paso de tipo '…', no '…'
  • …: '…' no es posterior a '…'
  • …: de 4 a 8 dígitos
  • …: demasiado fácil de adivinar
  • …: falta 'respaldo.dest_tipo'. Un paso sin respaldo cuelga al que llama
  • …: número inválido
  • …: respaldo.dest_tipo debe ser uno de …
4011
  • falta la clave de API
40311
  • clave de chat inválida
  • enlace agotado
  • esa cuenta no es tuya
  • esa extensión está suspendida
  • esa extensión no es la de este aparato
  • ese aparato está suspendido: se reactiva desde el panel
  • ese cambio no es de esta cuenta
  • esta clave es de solo lectura
  • esta clave no está atada a ninguna cuenta
  • esta operación necesita una clave de sistema
  • esta operación no está abierta a la credencial de un aparato
40443
  • agente: no está en esta cola
  • agente: no existe en esta cuenta
  • buzón: no existe en esta cuenta
  • dispositivo
  • el audio no está disponible
  • el destino …:… no existe
  • el número … no es de esta central
  • el … no tiene ruta de entrada
  • el … no tiene ruta en esta cuenta
  • enlace
  • enlace caducado
  • enlace no válido o caducado
  • enlace revocado
  • esa cita no existe en esta cuenta
  • esa extensión no existe en esta cuenta
  • esa frase no existe en este disco
  • esa grabación aún no está archivada
  • esa pista no existe en este disco
  • ese disco no existe en esta cuenta
  • ese dispositivo no existe en esta cuenta
  • ese guion no existe
  • ese mensaje aún no está archivado
  • extensión
  • feriado
  • la central no está lista
  • la grabación ya no existe
  • llamada
  • mantenimiento
  • mensaje
  • mensaje: no es de este buzón
  • miembro: no está en este grupo
  • no está en la lista
  • no existe en esta cuenta
  • no existe … …
  • no pude traer el audio del archivo
  • provisión no válida
  • recurso desconocido
  • regla
  • saludo: no es de este buzón
  • sesión
  • …: '…' no existe
  • …: no existe
  • …: no existe en esta cuenta
40925
  • demasiados dispositivos en la extensión …
  • el menú se muerde la cola: …
  • el plan '…' permite … extensiones
  • el usuario SIP '…' ya existe
  • el … está asignado a …: libéralo primero
  • el … está enfriando hasta …: reasignarlo antes hace que el cliente nuevo reciba las llamadas del anterior. Usa forzar:true si asumes eso.
  • el … está retirado del servicio
  • el … tiene … llamada(s) en el CDR: retíralo, no lo borres
  • el … ya es marcable en este inquilino
  • el … ya está asignado a …
  • el … ya está en uso en este inquilino
  • el … ya tiene ruta: edítala en vez de crear otra
  • esa provisión ya se usó
  • ese mensaje no está en la papelera
  • ese número ya está en el inventario
  • esto ya no es lo que dejó ese cambio: … se tocó después.
  • la fila …:… ya no existe. Deshacer un cambio no resucita lo borrado:
  • la troncal tiene garantías vendidas en … inquilino(s):
  • no quedan números libres en el rango …-…
  • no se pudo descifrar la provisión
  • no se puede borrar: le apuntan ….
  • provisión caducada
  • referencia inexistente
  • ya existe
  • ya existe otro con ese valor

243 messages distincts sur 289 points du code source du standard. Dérivé à chaque compilation : un message qui change là-bas change ici.

Il n'y a presque pas de limitation de débit aujourd'hui. La seule est une attente de quelques secondes entre deux tentatives d'ouvrir le téléphone du navigateur. Il n'y a pas de quota général, et nous préférons le dire plutôt que vous le laisser découvrir après avoir bâti sur une hypothèse. Restez raisonnable, et si vous préparez quelque chose de lourd, prévenez-nous avant : nous le mesurerons avec vous plutôt qu'après vous.

Jusqu'où on va

DomaineEndpointsExemples
Messageries13GET /buzones POST /buzones DELETE /buzones/:buz
Postes13GET /extensiones POST /extensiones DELETE /extensiones/:ext
Files d'attente12GET /colas POST /colas DELETE /colas/:cola
Musique d'attente12GET /discos POST /discos DELETE /discos/:disco
Enregistrements9GET /grabaciones PUT /grabaciones/:grabacion/categoria DELETE /grabaciones/:grb
Groupes d'appel8GET /grupos POST /grupos DELETE /grupos/:grp
Menus vocaux8GET /ivrs POST /ivrs DELETE /ivrs/:ivr
Tours de garde8GET /turnos POST /turnos DELETE /turnos/:turno
Salles de conférence7GET /conferencias POST /conferencias DELETE /conferencias/:sala
Horaires7GET /horarios POST /horarios DELETE /horarios/:hor
Notifications vers votre système7GET /webhooks POST /webhooks DELETE /webhooks/:whk
Étapes de flux programmable6GET /pasos POST /pasos DELETE /pasos/:pso
Ce que dit chaque ligne5GET /guiones POST /guiones DELETE /guiones/:gui
Messages5GET /mensajes DELETE /mensajes/:msg GET /mensajes/:msg
Routes entrantes5GET /rutas POST /rutas DELETE /rutas/:ruta
Alias composables4GET /alias POST /alias DELETE /alias/:als
Rappels de rendez-vous4GET /citas POST /citas DELETE /citas/:cita
Vos contacts4GET /contactos POST /contactos DELETE /contactos/:con
Chat rattaché à la voix4GET /conversaciones GET /conversaciones/:cnv POST /conversaciones/:cnv/cerrar
Appareils4DELETE /dispositivos/:disp POST /dispositivos/:disp/estado POST /dispositivos/:disp/provision
Dossiers d'appel malveillant4GET /expedientes POST /expedientes GET /expedientes/:exp
Règles d'enregistrement4GET /grabacion/decidir GET /grabacion/reglas PUT /grabacion/reglas
Journal d'appels4GET /llamadas GET /llamadas/:llamada GET /llamadas/csv
Numéros4GET /numeros DELETE /numeros/:numero/aviso-cambio GET /numeros/:numero/aviso-cambio
Lignes simultanées3GET /canales GET /canales/episodios PUT /canales/modo
Jours fériés3GET /feriados POST /feriados DELETE /feriados/:fer
Historique des changements et retour arrière3GET /historial GET /historial/:cambio POST /historial/:cambio/revertir
Liste noire3GET /lista-negra POST /lista-negra DELETE /lista-negra/:neg
Fenêtres de maintenance3GET /mantenimientos POST /mantenimientos POST /mantenimientos/:mnt/cerrar
Votre compte et son état2GET / PATCH /
Annuaire2GET /directorio GET /directorio/buscar
Liens de partage2GET /enlaces DELETE /enlaces/:token
Autres1GET /guiones/claves
Appels en garde1GET /aparcadas
Qui appelle, et à quel sujet1GET /contexto
Ce que coûterait un appel1GET /cotizar-llamada
Où un appel peut être envoyé1GET /destinos
À quel point vos postes sont joignables1GET /disponibilidad
Relevé de compte1GET /estado-cuenta
Le canal en direct1POST /eventos/ticket
Appels en cours1GET /llamadas-en-curso
Appeler en un clic1POST /llamar
Standardiste1PUT /operadora
Où cette maison appelle1GET /paises
Modèles de démarrage1POST /plantilla
Ce qui peut être composé1GET /politica-salida
Que le standard vous appelle et vous joue quelque chose1POST /probar-audio
Tester où atterrirait un appel1GET /probar-entrada
Tester un appel sortant sans le passer1GET /probar-salida
Solde1GET /saldo
Appels que personne n'a rappelés1GET /sin-devolver
Relier deux numéros extérieurs1POST /unir
Qui passe devant1GET /vips
Le téléphone dans le navigateur1POST /webphone/sesion

269 endpoints au total, lus sur le standard lui-même le 2026-09-04.

Ce tableau est un résumé. La liste qui ne peut pas vieillir est celle que le standard génère sur lui-même : GET /api.

Chaque point d'accès, un par un

Lu directement dans le routeur du standard : il ne peut donc ni décrire une route qui n'existe pas, ni en oublier une qui existe. Seule la portée de votre compte figure ici ; les routes de provisionnement appartiennent au portail et aucune clé qui y accède ne vous sera remise.

Ce que ça faitCe qu'il faitExemple
GET /guiones/clavesQué frases admite un guion
GET /par l'API
PATCH /Editar la ficha (el cliente, sus datos; plan y límites, el portal)par l'API
GET /aliaspar l'API
POST /aliaspar l'API
DELETE /alias/:alspar l'API
PATCH /alias/:alspar l'API
GET /aparcadasLas llamadas aparcadas ahora mismo (#60)par l'APIvoir
GET /buzonesappel réel
POST /buzonesappel réel
DELETE /buzones/:buzappel réel
GET /buzones/:buzappel réel
PATCH /buzones/:buzSaludo, correo, transcripción, duración máximapar l'API
GET /buzones/:buz/mensajespar l'API
PUT /buzones/:buzon/clavePoner o quitar la clave del buzón (#10)banc d'essai
GET /buzones/:buzon/ocupacionCuántos mensajes hay y cuántos caben (#14)banc d'essai
GET /buzones/:buzon/papeleraLo borrado que todavía se puede recuperar (#15)banc d'essai
POST /buzones/:buzon/papelera/:mensaje/recuperarDeshacer un borrado (#15)banc d'essai
GET /buzones/:buzon/saludosLos saludos del buzón, por motivobanc d'essai
POST /buzones/:buzon/saludosPoner el saludo de un motivo (normal, ocupado, vacaciones…)banc d'essai
DELETE /buzones/:buzon/saludos/:saludobanc d'essai
GET /canalespar l'API
GET /canales/episodiospar l'API
PUT /canales/modopar l'API
GET /citaspar l'API
POST /citasProgramar un recordatorio de cita por teléfonopar l'APIvoir
DELETE /citas/:citapar l'APIvoir
GET /citas/:citapar l'APIvoir
GET /colaspar l'APIvoir
POST /colasCrear una cola de espera con agentespar l'APIvoir
DELETE /colas/:colapar l'API
GET /colas/:colapar l'APIvoir
PUT /colas/:colapar l'APIvoir
GET /colas/:cola/callbacksLas devoluciones de llamada pedidaspar l'APIvoir
GET /colas/:cola/estadoCuánta gente espera, quién está de turno y cuánto se tardapar l'API
GET /colas/:cola/habilidadesQué habilidades existen hoy en esta cola
POST /colas/:cola/miembrosAñadir un agente (extensión o número de fuera)par l'API
DELETE /colas/:cola/miembros/:miembropar l'API
PUT /colas/:cola/miembros/:miembro/habilidadesLas etiquetas de un agente (#70)
POST /colas/turnoEntrar o salir de turno (lo mismo que *80 / *81)par l'API
GET /conferenciaspar l'API
POST /conferenciasCrear una sala con número y clavepar l'APIvoir
DELETE /conferencias/:salapar l'API
GET /conferencias/:salapar l'APIvoir
PUT /conferencias/:salaCambiar la sala (las claves se cambian, no se leen)par l'API
GET /conferencias/:sala/historialQuién estuvo y cuántopar l'API
POST /conferencias/:sala/invitarLlamar a alguien y meterlo en la salapar l'API
GET /contactospar l'API
POST /contactosAlta o importación masivapar l'API
DELETE /contactos/:conpar l'API
PUT /contactos/:contacto/vipMarcar o quitar el VIP de un contacto
GET /contextoQuién llama y de qué habló la última vezpar l'API
GET /conversacionesbanc d'essai
GET /conversaciones/:cnvbanc d'essai
POST /conversaciones/:cnv/cerrarbanc d'essai
POST /conversaciones/:cnv/turnosbanc d'essai
GET /cotizar-llamadaCuánto costaría llamar a ese número, antes de marcarlopar l'API
GET /destinosQué destinos se pueden elegir en esta cuentaappel réel
GET /directorioQuién sale en el directorio por nombrebanc d'essai
GET /directorio/buscarA quién encontraría el directorio con esas teclasbanc d'essai
GET /discospar l'API
POST /discospar l'API
DELETE /discos/:discopar l'API
GET /discos/:discopar l'API
PATCH /discos/:discopar l'API
GET /discos/:disco/estadisticaspar l'API
GET /discos/:disco/frasespar l'API
PUT /discos/:disco/frasespar l'API
DELETE /discos/:disco/frases/:frasepar l'API
PUT /discos/:disco/pistaspar l'API
DELETE /discos/:disco/pistas/:pistapar l'API
GET /discos/:disco/probarpar l'API
GET /disponibilidadCuánto tiempo estuvo arriba cada extensiónpar l'API
DELETE /dispositivos/:dispRevocar una credencialposte réel
POST /dispositivos/:disp/estadoSuspender o reactivar un dispositivoposte réel
POST /dispositivos/:disp/provisionEmitir un token para configurar la app sin teclear la clavepar l'API
POST /dispositivos/:disp/rotarCambiar la clave de un dispositivoposte réel
GET /enlacesbanc d'essai
DELETE /enlaces/:tokenRevocar un enlace compartido por errorbanc d'essai
GET /estado-cuentapar l'API
POST /eventos/ticketTicket para mirar el canal de eventos en vivo (sin teléfono)par l'APIvoir
GET /expedientesLos expedientes abiertos (#64)
POST /expedientesAbrir expediente sobre una llamada
GET /expedientes/:expUn expediente, con su llamada y su grabación
POST /expedientes/:exp/cerrarCerrar un expediente (la fila NUNCA se borra)
GET /extensionespar l'API
POST /extensionesAlta de extensión (crea buzón y credencial)par l'API
DELETE /extensiones/:extpar l'API
GET /extensiones/:extpar l'API
PATCH /extensiones/:extpar l'API
POST /extensiones/:ext/dispositivosAñadir un dispositivo (celular, computadora…)par l'API
POST /extensiones/:ext/no-molestarpar l'API
GET /extensiones/:ext/reglasappel réel
PUT /extensiones/:ext/reglasSígueme, desvío, no molestar y destino de fallopar l'API
GET /extensiones/:extension/campLos avisos de desocupado que pidió esta extensión (#58)
DELETE /extensiones/:extension/camp/:objetivoCancelar un aviso de desocupado
POST /extensiones/:extension/moverMover la llamada en curso a otro aparato de la misma extensión (#57)
GET /extensiones/siguiente-librepar l'API
GET /feriadospar l'API
POST /feriadosFeriado propio o excepción a uno nacionalpar l'API
DELETE /feriados/:ferpar l'API
GET /grabacion/decidir¿Se grabaría esta llamada? Y con qué avisopar l'API
GET /grabacion/reglaspar l'API
PUT /grabacion/reglasQué se graba y cuánto se guardapar l'API
DELETE /grabacion/reglas/:reglapar l'API
GET /grabacionesbanc d'essai
PUT /grabaciones/:grabacion/categoriacliente | prospecto | interno, o nada (#68)
DELETE /grabaciones/:grbbanc d'essai
GET /grabaciones/:grbFicha: transcripción, resumen, acuerdos y hablantespas encore exercé
GET /grabaciones/:grb/accesosQuién ha escuchado esta grabaciónbanc d'essai
POST /grabaciones/:grb/analizarVolver a transcribir y resumirpas encore exercé
GET /grabaciones/:grb/audioEl audio (queda auditado)banc d'essai
POST /grabaciones/:grb/enlaceEnlace firmado para compartir sin dar acceso a la cuentabanc d'essai
GET /grabaciones/buscarBuscar por lo que se dijo dentro de las llamadasbanc d'essai
GET /grupospar l'API
POST /grupospar l'API
DELETE /grupos/:grppar l'API
GET /grupos/:grppar l'API
PUT /grupos/:grppar l'API
POST /grupos/:grp/miembrospar l'API
DELETE /grupos/:grp/miembros/:miembropar l'API
GET /grupos/:grp/ordenEn qué orden sonaría ahora mismopar l'API
GET /guionesappel réel
POST /guionesLos textos que dice una líneaappel réel
DELETE /guiones/:guiappel réel
GET /guiones/:guiappel réel
PATCH /guiones/:guiCambiar textos, nombre o voz declaradaappel réel
GET /historialQué cambió en esta cuenta, quién y cuándopar l'APIvoir
GET /historial/:cambiopar l'APIvoir
POST /historial/:cambio/revertirDeshacer un cambio de configuraciónpar l'APIvoir
GET /horariospar l'API
POST /horariospar l'API
DELETE /horarios/:horpar l'API
GET /horarios/:horpar l'API
PUT /horarios/:horpar l'API
GET /horarios/:hor/estado¿Abierto ahora? Y por quépar l'API
POST /horarios/:hor/manualForzar abierto o cerrado, con vuelta automáticapar l'API
GET /ivrsappel réel
POST /ivrsCrear un menú (detecta bucles al guardar)appel réel
DELETE /ivrs/:ivrappel réel
GET /ivrs/:ivrappel réel
PUT /ivrs/:ivrappel réel
GET /ivrs/:ivr/guionEl texto exacto que se va a decirpar l'API
DELETE /ivrs/:ivr/opciones/:teclaappel réel
PUT /ivrs/:ivr/opciones/:teclaappel réel
GET /lista-negrapar l'API
POST /lista-negraBloquear un número entrantepar l'API
DELETE /lista-negra/:negpar l'API
GET /llamadasappel réel
GET /llamadas-en-cursoLas llamadas del inquilino ahora mismo (vista de operadora)par l'APIvoir
GET /llamadas/:llamadaappel réel
GET /llamadas/csvExportar el CDRappel réel
GET /llamadas/resumenTotales, atención y repartoappel réel
POST /llamarTimbrar a la extensión y conectarla con un destinoappel réel
GET /mantenimientospar l'APIvoir
POST /mantenimientosAvisar a quien llame de que hay un mantenimiento en cursopar l'APIvoir
POST /mantenimientos/:mnt/cerrarpar l'APIvoir
GET /mensajesBandeja de toda la cuentapar l'API
DELETE /mensajes/:msgpar l'API
GET /mensajes/:msgpar l'API
GET /mensajes/:msg/audiopar l'API
POST /mensajes/:msg/leidopar l'API
GET /numerospar l'API
DELETE /numeros/:numero/aviso-cambioApagar el aviso de cambio y devolver la línea a su destinopas encore exercé
GET /numeros/:numero/aviso-cambioEstado del aviso de cambio de númeropas encore exercé
POST /numeros/:numero/aviso-cambioAnunciar que este número cambió y decir el nuevopas encore exercé
PUT /operadoraA dónde va el cero (#109)par l'APIvoir
GET /paisesLa memoria del cortafuegos de fraude: a dónde llama esta casa (#65)
GET /pasosPasos de flujo del cliente
POST /pasosAlta de un paso de flujo
DELETE /pasos/:pso
GET /pasos/:pso
PUT /pasos/:pso
POST /pasos/:pso/rotar-secretoRotar el secreto con el que se firma la consulta
POST /plantillaAplicar una plantilla de arranque (horario + ruta + buzón)par l'API
GET /politica-salidapar l'API
POST /probar-audioLlamarte y reproducirte una cadena de audio — la prueba de verdadappel réel
GET /probar-entradaA dónde iría una llamada ahora mismoappel réel
GET /probar-salidaSimular una salida sin cursarlaappel réel
GET /rutasappel réel
POST /rutasQué hace una llamada que entra por un númeroappel réel
DELETE /rutas/:rutaappel réel
GET /rutas/:rutaappel réel
PATCH /rutas/:rutaappel réel
GET /saldobanc d'essai
GET /sin-devolverLas perdidas que nadie ha devuelto, agrupadas por número (#67)
GET /turnosLas rotas de guardia (#66)
POST /turnosCrear una rota de guardia
DELETE /turnos/:turnoBorrar una rota (falla si una ruta apunta a ella)
GET /turnos/:turnoUna rota, con quién está de guardia AHORA
PUT /turnos/:turnoCambiar una rota
POST /turnos/:turno/miembrosMeter a alguien en la rota, con su franja
DELETE /turnos/:turno/miembros/:miembroSacar a alguien de la rota
PUT /turnos/:turno/miembros/:miembroCambiar la franja de alguien
POST /unirLlamar a dos números externos y unirlosappel réel
GET /vipsQuién se salta la fila de la cola (#61)
GET /webhookspar l'API
POST /webhookspar l'API
DELETE /webhooks/:whkpar l'API
PATCH /webhooks/:whkpar l'API
GET /webhooks/:whk/entregaspar l'API
POST /webhooks/:whk/probarMandar un evento de pruebapar l'API
POST /webhooks/:whk/rotarpar l'API
POST /webphone/sesionRegistrar el navegador como teléfono de una extensiónpar l'API

Exemples enregistrés

Ils n'ont pas été rédigés. Ils ont été enregistrés lors d'une exécution réelle contre cette API, dans un compte jetable supprimé ensuite — requête, statut et réponse, tels qu'ils ont circulé. Les identifiants de compte et d'objet sont remplacés par des marqueurs ; rien d'autre n'est modifié. Un exemple rédigé prouve ce que croyait son auteur ; un exemple enregistré prouve ce que le standard a fait.

20 routes sur 204 disposent d'un exemple enregistré, issu de l'exécution du 2026-09-04. Les autres figurent ci-dessus mais n'ont pas encore été éprouvées ainsi — nous préférons vous montrer le chiffre plutôt que vous laisser supposer qu'elles y sont toutes.

GET /inquilinos/:inquilino/aparcadas 200

Réponse

{
  "plazas": []
}

DELETE /inquilinos/:inquilino/citas/:id 200

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "numero": "50688889999",
  "nombre": null,
  "cuando": "2026-09-04T21:11:53.507Z",
  "avisar_el": "2026-09-03T21:11:53.507Z",
  "guion": null,
  "estado": "cancelada",
  "intentos": 0,
  "ultimo_intento": null,
  "respondido_el": null,
  "nota": null,
  "creado": "2026-09-04T20:11:54.131Z",
  "actualizado": "2026-09-04T20:11:54.445Z"
}

GET /inquilinos/:inquilino/citas/:id 200

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "numero": "50688889999",
  "nombre": null,
  "cuando": "2026-09-04T21:11:53.507Z",
  "avisar_el": "2026-09-03T21:11:53.507Z",
  "guion": null,
  "estado": "pendiente",
  "intentos": 0,
  "ultimo_intento": null,
  "respondido_el": null,
  "nota": null,
  "creado": "2026-09-04T20:11:54.131Z",
  "actualizado": "2026-09-04T20:11:54.131Z"
}

POST /inquilinos/:inquilino/citas 201

Requête

{
  "numero": "50688889999",
  "cuando": "2026-09-04T21:11:53.507Z",
  "texto": "ensayo"
}

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "numero": "50688889999",
  "nombre": null,
  "cuando": "2026-09-04T21:11:53.507Z",
  "avisar_el": "2026-09-03T21:11:53.507Z",
  "guion": null,
  "estado": "pendiente",
  "intentos": 0,
  "ultimo_intento": null,
  "respondido_el": null,
  "nota": null,
  "creado": "2026-09-04T20:11:54.131Z",
  "actualizado": "2026-09-04T20:11:54.131Z"
}

GET /inquilinos/:inquilino/colas/:id/callbacks 200

Réponse

[]

GET /inquilinos/:inquilino/colas/:id 200

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "nombre": "Soporte",
  "numero": null,
  "estrategia": "todos",
  "timbrado_s": 20,
  "espera_max_s": 600,
  "decir_posicion": 1,
  "decir_espera": 1,
  "anuncio_cada_s": 30,
  "musica": "default",
  "callback": 1,
  "callback_min_espera_s": 45,
  "agotada_tipo": "buzon",
  "agotada_id": null,
  "vacia_tipo": null,
  "vacia_id": null,
  "creado": "2026-09-04T20:11:52.214Z",
  "actualizado": "2026-09-04T20:11:52.214Z",
  "miembros": [],
  "estado": {
    "de_turno": 0,
    "miembros": 0,
    "espera_estimada_s": null,
    "callbacks_pendientes": 0,
    "atendidas_hoy": 0,
    "abandonos_hoy": 0
  }
}

PUT /inquilinos/:inquilino/colas/:id 200

Requête

{
  "nombre": "Ya editada"
}

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "nombre": "Ya editada",
  "numero": null,
  "estrategia": "todos",
  "timbrado_s": 20,
  "espera_max_s": 600,
  "decir_posicion": 1,
  "decir_espera": 1,
  "anuncio_cada_s": 30,
  "musica": "default",
  "callback": 1,
  "callback_min_espera_s": 45,
  "agotada_tipo": "buzon",
  "agotada_id": null,
  "vacia_tipo": null,
  "vacia_id": null,
  "creado": "2026-09-04T20:11:54.606Z",
  "actualizado": "2026-09-04T20:11:54.771Z",
  "miembros": [],
  "estado": {
    "de_turno": 0,
    "miembros": 0,
    "espera_estimada_s": null,
    "callbacks_pendientes": 0,
    "atendidas_hoy": 0,
    "abandonos_hoy": 0
  }
}

GET /inquilinos/:inquilino/colas 200

Réponse

[
  {
    "id": "<id>",
    "inquilino": "<cuenta>",
    "nombre": "Soporte",
    "numero": null,
    "estrategia": "todos",
    "timbrado_s": 20,
    "espera_max_s": 600,
    "decir_posicion": 1,
    "decir_espera": 1,
    "anuncio_cada_s": 30,
    "musica": "default",
    "callback": 1,
    "callback_min_espera_s": 45,
    "agotada_tipo": "buzon",
    "agotada_id": null,
    "vacia_tipo": null,
    "vacia_id": null,
    "creado": "2026-09-04T20:11:52.214Z",
    "actualizado": "2026-09-04T20:11:52.214Z"
  }
]

POST /inquilinos/:inquilino/colas 201

Requête

{
  "nombre": "Soporte",
  "estrategia": "todos"
}

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "nombre": "Soporte",
  "numero": null,
  "estrategia": "todos",
  "timbrado_s": 20,
  "espera_max_s": 600,
  "decir_posicion": 1,
  "decir_espera": 1,
  "anuncio_cada_s": 30,
  "musica": "default",
  "callback": 1,
  "callback_min_espera_s": 45,
  "agotada_tipo": "buzon",
  "agotada_id": null,
  "vacia_tipo": null,
  "vacia_id": null,
  "creado": "2026-09-04T20:11:52.214Z",
  "actualizado": "2026-09-04T20:11:52.214Z",
  "miembros": [],
  "estado": {
    "de_turno": 0,
    "miembros": 0,
    "espera_estimada_s": null,
    "callbacks_pendientes": 0,
    "atendidas_hoy": 0,
    "abandonos_hoy": 0
  }
}

GET /inquilinos/:inquilino/conferencias/:id 200

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "nombre": "Sala 1",
  "numero": null,
  "max_personas": 10,
  "esperar_organizador": 0,
  "anunciar_entradas": 1,
  "pedir_nombre": 1,
  "bloqueada": 0,
  "grabar": 0,
  "musica": "default",
  "activa": 1,
  "creado": "2026-09-04T20:11:52.847Z",
  "actualizado": "2026-09-04T20:11:52.847Z",
  "tiene_pin": false,
  "tiene_pin_organizador": false,
  "dentro": 0,
  "grabando": false
}

POST /inquilinos/:inquilino/conferencias 201

Requête

{
  "nombre": "Sala 1",
  "clave": "4321"
}

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "nombre": "Sala 1",
  "numero": null,
  "max_personas": 10,
  "esperar_organizador": 0,
  "anunciar_entradas": 1,
  "pedir_nombre": 1,
  "bloqueada": 0,
  "grabar": 0,
  "musica": "default",
  "activa": 1,
  "creado": "2026-09-04T20:11:52.847Z",
  "actualizado": "2026-09-04T20:11:52.847Z",
  "tiene_pin": false,
  "tiene_pin_organizador": false
}

POST /inquilinos/:inquilino/eventos/ticket 201

Requête

{}

Réponse

{
  "ticket": "eyJ1IjoicGFuZWwiLCJpIjoiaW5xX3JhN3J0YnYycXA0YyIsInAiOiJldmVudG9zIiwiZXhwIjoxNzg4NTgxNTE1NTcxfQ.bLihoh7EfWP7ZcVGQcPEhfGcHYAn1Y8DmwK4f552uIQ",
  "eventos": [
    "wss://<puerta>:<puerto>/eventos"
  ],
  "inquilino": "<cuenta>"
}

POST /inquilinos/:inquilino/historial/:id/revertir 201

Requête

{}

Réponse

{
  "revertido": "<id>",
  "tabla": "colas",
  "fila_id": "<id>",
  "columnas": [
    "nombre"
  ],
  "fila": {
    "id": "<id>",
    "inquilino": "<cuenta>",
    "nombre": "Para editar",
    "numero": null,
    "estrategia": "todos",
    "timbrado_s": 20,
    "espera_max_s": 600,
    "decir_posicion": 1,
    "decir_espera": 1,
    "anuncio_cada_s": 30,
    "musica": "default",
    "callback": 1,
    "callback_min_espera_s": 45,
    "agotada_tipo": "buzon",
    "agotada_id": null,
    "vacia_tipo": null,
    "vacia_id": null,
    "creado": "2026-09-04T20:11:54.606Z",
    "actualizado": "2026-09-04T20:11:55.256Z"
  }
}

GET /inquilinos/:inquilino/historial/:id 200

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "tabla": "colas",
  "fila_id": "<id>",
  "columna_clave": "id",
  "antes": {
    "id": "<id>",
    "inquilino": "<cuenta>",
    "nombre": "Para editar",
    "numero": null,
    "estrategia": "todos",
    "timbrado_s": 20,
    "espera_max_s": 600,
    "decir_posicion": 1,
    "decir_espera": 1,
    "anuncio_cada_s": 30,
    "musica": "default",
    "callback": 1,
    "callback_min_espera_s": 45,
    "agotada_tipo": "buzon",
    "agotada_id": null,
    "vacia_tipo": null,
    "vacia_id": null,
    "creado": "2026-09-04T20:11:54.606Z",
    "actualizado": "2026-09-04T20:11:54.606Z"
  },
  "despues": {
    "id": "<id>",
    "inquilino": "<cuenta>",
    "nombre": "Ya editada",
    "numero": null,
    "estrategia": "todos",
    "timbrado_s": 20,
    "espera_max_s": 600,
    "decir_posicion": 1,
    "decir_espera": 1,
    "anuncio_cada_s": 30,
    "musica": "default",
    "callback": 1,
    "callback_min_espera_s": 45,
    "agotada_tipo": "buzon",
    "agotada_id": null,
    "vacia_tipo": null,
    "vacia_id": null,
    "creado": "2026-09-04T20:11:54.606Z",
    "actualizado": "2026-09-04T20:11:54.771Z"
  },
  "actor": "apikey:<id> primera clave de sistema (sistema)",
  "origen": "api",
  "revertido_de": null,
  "creado": "2026-09-04T20:11:54.777Z",
  "cambios": {
    "nombre": {
      "antes": "Para editar",
      "despues": "Ya editada"
    }
  }
}

GET /inquilinos/:inquilino/historial 200

Réponse

{
  "inquilino": "<cuenta>",
  "cambios": [
    {
      "id": "<id>",
      "tabla": "colas",
      "fila_id": "<id>",
      "actor": "apikey:<id> primera clave de sistema (sistema)",
      "origen": "api",
      "revertido_de": null,
      "creado": "2026-09-04T20:11:54.777Z",
      "cambios": {
        "nombre": {
          "antes": "Para editar",
          "despues": "Ya editada"
        }
      }
    }
  ]
}

GET /inquilinos/:inquilino/llamadas-en-curso 200

Réponse

{
  "activas": []
}

POST /inquilinos/:inquilino/mantenimientos/:id/cerrar 201

Requête

{}

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "motivo": "ensayo",
  "desde": "2026-09-04T20:11:53.637Z",
  "hasta": "2026-09-04T20:11:53.969Z",
  "avisar": 1,
  "activo": 0,
  "creado": "2026-09-04T20:11:53.637Z"
}

GET /inquilinos/:inquilino/mantenimientos 200

Réponse

[
  {
    "id": "<id>",
    "inquilino": "<cuenta>",
    "motivo": "ensayo",
    "desde": "2026-09-04T20:11:53.637Z",
    "hasta": null,
    "avisar": 1,
    "activo": 1,
    "creado": "2026-09-04T20:11:53.637Z"
  }
]

POST /inquilinos/:inquilino/mantenimientos 201

Requête

{
  "motivo": "ensayo",
  "minutos": 5
}

Réponse

{
  "id": "<id>",
  "inquilino": "<cuenta>",
  "motivo": "ensayo",
  "desde": "2026-09-04T20:11:53.637Z",
  "hasta": null,
  "avisar": 1,
  "activo": 1,
  "creado": "2026-09-04T20:11:53.637Z"
}

PUT /inquilinos/:inquilino/operadora 200

Requête

{
  "destino": "buzon"
}

Réponse

{
  "operadora": null
}

DELETE /inquilinos/:inquilino 200

Réponse

{
  "borrado": "<cuenta>"
}

POST /inquilinos 201

Requête

{
  "nombre": "Ejercicio API 2026-09-04T20:11:51"
}

Réponse

{
  "id": "<cuenta>",
  "nombre": "Ejercicio API 2026-09-04T20:11:51",
  "cuenta_portal": null,
  "cedula": null,
  "correo": null,
  "telefono": null,
  "plan": "zero",
  "zona": "America/Costa_Rica",
  "idioma": "es",
  "estado": "activo",
  "canales_max": 4,
  "notas": null,
  "creado": "2026-09-04T20:11:51.932Z",
  "actualizado": "2026-09-04T20:11:51.932Z",
  "canales_garantizados": 2,
  "modo_presion": "firme",
  "presion_canales": 1,
  "duracion_max_s": null,
  "operadora_tipo": null,
  "operadora_id": null,
  "filtro_anonimas": 0,
  "cdr_retencion_dias": null,
  "codigo_asunto_digitos": 0,
  "supervision_activa": 0,
  "limites": {
    "canales": 2,
    "canales_max": 4,
    "extensiones": 3,
    "retencion": 30,
    "tope_diario": 3,
    "tope_mensual": 25
  },
  "canales": {
    "existe": true,
    "garantizados": 2,
    "max": 4,
    "modo": "firme",
    "presion_canales": 1
  }
}

Sessions : le navigateur ne détient jamais de clé permanente

Une clé courte, plafonnée à 60 minutes, qui ne peut pas en fabriquer une permanente. Voici le contrat si c'est vous qui construisez le bouton.

  • Seul le portail peut en émettre une. Émettre une session exige une clé de mise en service, parce que seul le portail peut affirmer qu'il y a un client connecté derrière la requête. VOICE ne connaît pas les mots de passe des clients et n'a aucune raison de les connaître.
  • Elle ne naît jamais sans échéance. Si personne ne demande de durée, on lui en applique une. Une portée qui existe pour expirer et qui pourrait naître éternelle est pire que rien, parce qu'on lui fait confiance.
  • Demander plus longtemps ne sert à rien. Il y a un plafond dur. Qu'un appelant demande huit heures ne rend pas la clé sûre.
  • Elle ne peut pas se promouvoir. La gestion des clés vit entièrement derrière la portée de mise en service : une session ne peut donc pas fabriquer de clé permanente. C'est imposé dans le routeur, avant tout traitement.
  • Vous pouvez la fermer avant l'heure. L'identifiant revient au moment de l'émission, justement pour que vous puissiez la révoquer avant son échéance.

Notifications vers votre système (webhooks)par l'API

Vos systèmes apprennent ce qui s'est passé au lieu de le demander toutes les quelques secondes. 28 événements, signés, réessayés, et aucun ne tombe en silence.

x-pbx-evento: llamada.entrante
x-pbx-marca:  1755300000
x-pbx-firma:  <hex>

{ "evento": "llamada.entrante", "inquilino": "…", "cuando": "…", "datos": { … } }

Chaque livraison est signée : la signature couvre l'horodatage et le corps exact que vous avez reçu, vérifiez-la donc contre les octets bruts et non contre une copie re-sérialisée. Le secret n'est montré qu'une fois, à la création de l'abonnement, et il peut tourner sans interrompre les livraisons.

Une livraison qui échoue est réessayée au bout de 10 · 30 · 60 · 300 · 900 · 3600 secondes, et chaque tentative dispose de 10 secondes. Un abonnement qui continue d'échouer est mis en pause après 20 échecs consécutifs, au lieu d'être abandonné en silence — et vous pouvez voir chaque tentative.

Les événements

ÉvénementQuand il part
llamada.entranteUn appel arrive, avec le numéro, la route et sa destination.
llamada.contestadaQuelqu'un a décroché.
llamada.terminadaIl s'est terminé, avec la durée et la façon dont il a fini.
llamada.perdidaIl a sonné et personne n'a répondu.
buzon.mensajeQuelqu'un a laissé un message, avec sa transcription.
grabacion.listaUn enregistrement a fini d'être traité et peut être téléchargé.
grabacion.analizadaSa transcription, ses locuteurs et son résumé sont prêts.
saldo.bajoLe solde s'épuise.
tope.alcanzadoUn plafond de dépense a été atteint et les appels se sont arrêtés.
registro.anomaloUn enregistrement de poste a mauvaise allure — plusieurs identifiants depuis le même endroit, par exemple.
canales.al_limiteVous approchez du haut de vos lignes simultanées.
cita.confirmadaQuelqu'un a confirmé son rendez-vous au clavier.
cita.reagendarQuelqu'un a demandé une autre date. C'est une demande pour une personne, pas quelque chose que le standard va résoudre tout seul.
cita.canceladaQuelqu'un a annulé son rendez-vous.
desvio.activadoUn renvoi a été activé.
desvio.recordatorioUn renvoi est toujours activé. Le renvoi oublié est la panne fantôme la plus courante d'un standard.
buzon.llenoUne messagerie est pleine — à partir d'ici, des messages seraient perdus.
buzon.casi_llenoUne messagerie est presque pleine, alors qu'il est encore temps d'agir.
cola.vaciaPersonne n'est en poste dans une file.
cola.callbackQuelqu'un a demandé à être rappelé plutôt que d'attendre.
conferencia.entraQuelqu'un est entré dans une salle.
conferencia.saleQuelqu'un est sorti d'une salle.
canales.desalojoUne ligne empruntée a été rendue pour protéger la garantie de quelqu'un.
emergencia.marcadaQuelqu'un a composé le numéro d'urgence depuis un poste. L'appel n'est jamais retardé pour autant.
fax.entranteUne tonalité de fax a été détectée sur un appel entrant.
supervision.iniciadaQuelqu'un a écouté, soufflé ou est entré dans un appel. C'est ce qui sépare un outil de supervision d'une écoute clandestine : pouvoir répondre « qui a écouté cet appel, et quand ».
fraude.sospechaUn motif de comportement qui ressemble à de la fraude. Il prévient ; il ne coupe pas.
filtro.insistenciaUn numéro appelle beaucoup trop souvent.

Le canal en directappel réel

Les notifications voyagent par lots et arrivent en quelques secondes. Certaines choses doivent être à l'écran tout de suite : un voyant qui indique qu'un collègue est en ligne ne peut pas avoir quinze secondes de retard.

  • Ce qu'il transporte. Les appels à mesure qu'ils se produisent, les nouveaux messages, et l'état du voyant de chaque poste — c'est ce qui rend un tableau de voyants vraiment vivant à l'écran.
  • Il est en lecture seule.par l'API On peut ouvrir un laissez-passer pour le canal sans confier un téléphone : regarder ce qui se passe ne devrait pas exiger une clé capable, en plus, de changer les choses.
  • Il ne remplace pas les notifications. Le canal en direct est fait pour un écran que quelqu'un regarde. S'il importe que votre système l'apprenne, prenez une notification : elle réessaie, et elle ne dépend pas d'une socket ouverte.

Référence

Comment lire les mentions

Chaque fonction de cette page porte une mention qui dit comment elle a été vérifiée. Nous publions aussi celles qui n'ont pas encore été exercées, en le disant, parce que vous le découvrir seul serait pire.

MentionCe que ça faitCombien
appel réelQuelqu'un a passé un vrai appel et il a fait ce qui est écrit ici.13
appel de testUn vrai appel contre le standard en production, avec de vraies touches composées — mais sans voix et sans personne à l'écoute. Tout ce qui dépend de la parole de l'appelant reste non testé.3
poste réelProuvé avec un vrai poste qui s'enregistre.1
par l'APIExercé par l'API publique.46
banc d'essaiExercé sur le banc d'essai, contre une copie jetable de la base.13
pas encore exercéLe code est là et il se charge, mais personne ne l'a encore fait tourner.36

112 fonctions, comptées sur le standard le 2026-08-19.

La mention appartient à une fonction, pas à une ligne isolée : là où une fonction couvre plusieurs codes, tous affichent le niveau du groupe. Cela veut dire qu'une mention peut rester EN DEÇÀ de ce qui a réellement été testé — jamais au-delà, qui est la seule direction dans laquelle nous acceptons de nous tromper sur une page que vous lisez comme une promesse.

Glossaire

Les mots qu'emploie un standard téléphonique et que rien d'autre n'emploie.

TermeCe que ça fait
PosteUne personne ou un bureau dans votre maison, avec un numéro court que les autres composent. Ce n'est pas un téléphone : un poste peut avoir plusieurs appareils.
Numéro (SDA)Ce que compose le monde extérieur pour vous joindre. Un numéro pointe vers quelque chose — un poste, un groupe, un menu — et c'est vous qui décidez quoi.
Groupe d'appelPlusieurs postes qui sonnent pour le même appel. C'est simple, et cela n'a aucune idée de qui attend ni depuis combien de temps.
File d'attenteUn groupe qui tient en plus la file. Il connaît la position, l'attente mesurée et qui est en poste, et il peut proposer un rappel.
Menu vocal (SVI)« Tapez 1 pour les ventes ». Un menu peut contenir des menus, et l'appelant peut toujours revenir en arrière ou joindre une personne.
Ligne simultanée (canal)Une conversation en cours. Dix canaux, ce sont dix appels à la fois, quel que soit le nombre de téléphones que vous possédez.
Journal d'appel (CDR)Une ligne par appel : qui, quand, combien de temps, par quelle route et comment il a fini. C'est de là qu'une facture est construite.
Voyant d'occupationL'indicateur qui dit si un collègue est libre, en train de sonner ou en conversation, sans avoir à l'appeler pour le savoir.
Tonalités du clavier (DTMF)Les bips que fait un téléphone quand on appuie sur une touche. C'est ainsi qu'un menu, une messagerie et tous les codes de cette page vous entendent.
Suivez-moiVotre poste fait sonner aussi votre mobile, ou à sa place. C'est la fonction la plus utilisée de tout petit standard.
Mise en gardeLaisser un appel en attente sur un emplacement numéroté pour que n'importe qui, depuis n'importe quel téléphone, le reprenne en composant cet emplacement.
Transfert superviséParler à votre collègue avant de lui passer l'appel, avec la possibilité de le reprendre.

Retour à VOICE