Forum Keyyo

Version complète : Conflits entre API SERVER & API CTI JS ?
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Bonjour,

J'ai connecté votre API ServerSide (webhook) à mon serveur ainsi que votre API CTI JS.

Afin de pouvoir lancer des appels depuis le site ainsi qu'y répondre j'ai mit le popup suivant en place : screenshot

le bouton "Répondre" trigger la fonction call.answer de votre librairie JS, le bouton "Refuser" trigger la fonction call.reject.

Le problème étant que en cliquant sur l'un de ces bouton, votre webhook m'envoie des données bizarre/erroné, du type screenshot, nous pouvons voir que les 3 numéro sont les même ce qui est impossible, dans l'ordre les numéro sont :
1. Numéro de la ligne keyyo, 2. Numéro appelant, 3. Numéro qui reçois l'appel.

Le webhook m'envoie 3 appels différent juste pour 1 seul appel, avec 3 CALLREF différent, et ce n'est pas gérable.

Aussi, les CALLREF du webhook et de l'API CTI ne sont pas les même, ce qui est compliqué pour les mettre en correspondance dans la base, pour le moment j'utilise la date de début et de fin de l'appel mais ce n'est pas très efficace car il y aussi des écart de secondes entre les date du webhook et celles de l'api CTI.

Comment faire ?

Autre question, j'ai un bouton "Appeler le client" qui trigger la fonction cti.dial de votre CTI JS, ça marche, mais comment annuler l'appel en cour de route ?
J'ai un bouton "Annuler l'appel", j'ai essayé de le lier à la fonction call.hang_up ainsi que call.reject, mais ça ne marche pas, je reçois un message d'erreur dans ma console me disant que l'action n'est pas autorisé ou hors de contexte, alors comment comment annuler un appel lancer depuis le CTI JS : screenshot

Autre question, lorsqu'un appel est en cours, cette popup apparait: screenshot mais le bouton raccrocher qui trigger la fonction call.hang_up ne marche pas, je recois l'erreur suivante: screenshot

Autre question, est ce que le webhook pourrait également m'envoyer un paramètre MISSED ? j’espère que cela est possible mais dans votre doc ServerSide rien n'est mentionné à ce sujet, ce serait très pratique car il est difficile de différencier un appel manqué d'un appel à succès car dans les 2 cas ces appels passent par les status SETUP, CONNECT & RELEASE. Un status MISSED serait le bienvenue comme pour l'API CTI JS.

Merci de votre aide.
Bonjour,

Pour le premier point, le contrôle des appels par l'API nécessite des manipulations côté téléphonie plus complexes qu'il n'y paraît.
Par exemple, pour décrocher un appel à distance, le CTI annule l'appel initial (appel 1), appelle la ligne Keyyo à la manière d'un click-to-call (appel 2) et transfert automatiquement vers l'appelant initial (appel 3).

Concernant le fait que les callrefs des 2 APIs ne correspondent pas, cela fait partie d'une évolution l'étude.

Par ailleurs, il est possible d'annuler un appel sortant une fois que la ligne de l'appelé sonne : reportez-vous à la section "Handle call events" pour vous abonnez aux évènements sur un appel et quand le setup se déclenche, c'est à ce moment là que vous pouvez raccrocher l'appel pour l'annuler.

Pour le raccroché, êtes-vous sûr que l'objet call est bien celui de l'appel à terminer ?
Pour rappel, on récupère soit un appel/call donné à partir de son callref (cti.get_call) soit la liste des appels/calls (cti.get_calls).

Enfin, il n'y a pas de N_TYPE "MISSED" car un appel non répondu déclenche uniquement deux notifications : 1 SETUP et 1 RELEASE.
Si le problème persiste, pouvez-vous nous envoyer un horodatage (appelant, appelé, jour et hh :mm : ss) par le lien "Contact" en bas du forum ?

Cordialement.
Bonjour,

En effet si un client appel sur la ligne KEYYO alors oui il passe seulement par SETUP et RELEASE mais si la ligne KEYYO appel le client
lorsque l'appel arrive sur répondeur du client N_TYPE passe par le status CONNECT, je ne peux donc pas différencier un appel manqué d'un appel réussi du coté client.
Bonjour,

Dans ce cas, d'un point de vue téléphonie, il s'agit bien d'un appel répondu car décroché par la messagerie vocale.

Cordialement.
Bonjour,

Quand un appel arrive sur messagerie alors la personne appelé n'a pas répondu et donc à manqué un appel... mais d'accord.
Et ce qui est bizarre c'est que si le client appel et qu'il tombe sur une messagerie keyyo, alors l'appel est missed mais si la ligne keyyo appel et tombe sur la messagerie du client alors l'appel passe n'est pas missed..

Question concernant votre cti.send_message, la fonction me retourne toujours 'undefined' dans la console, voici un screenshot de mon code : screenshot sendmessage

Même si je lui passe un numéro et un message prédéfini cela ne marche pas.

Pourquoi ?

Merci.
Bonjour,

Et il possible de passer des arguments personnaliser lors d'une notification d'appel ?

Je m'explique, je voudrais envoyer en POST un paramètre perso, en l'occurence un id de membre ou callref custom que le webhook me renvoie et que je peux recuperer pour mieux pouvoir manipuler mes données en base.

Est ce possible ?

Merci.
Bonjour,


Auriez-vous des détails sur cette erreur ? Nous avons tenté de reproduire l'erreur, sans succès.

(17/06/2019 10:25)julien-gc a écrit : [ -> ]Question concernant votre cti.send_message, la fonction me retourne toujours 'undefined' dans la console, voici un screenshot de mon code : screenshot sendmessage

Même si je lui passe un numéro et un message prédéfini cela ne marche pas.

Pourquoi ?

Merci.
URLs de référence