j’ai créé via webhooks, des remontées de tickets cdr (call_log_user_created) pour un certain nombre d’abonnés.
Le résultat vient incrémenter une base de donnée.
Le problème est que ces abonnés font parti d’un groupe (sonnerie tout poste) et que chaque appel sur le groupe me génère autant de fois le ticket qu’il y a d’abonné dans le groupe.
Je voudrais uniquement le ticket du poste ayant décroché, pas les autres.
L’évènement “call_log_user_created” est généré pour tout CDR impliquant un utilisateur. C’est un évènement de granularité utilisateur, dont l’intention est d’être utile à un consommateur spécifique à un utilisateur (par ex. un user agent qui veut se tenir au courant des CDRs impliquant l’utilisateur connecté). Tout utilisateur qui est impliqué dans l’appel mérite d’en être informé, que l’appel soit répondu par cet utilisateur ou pas.
Pour ton cas d’utilisation, tu pourrais être satisfait par l’évènement “call_log_created” : https://api.wazo.io/documentation/events/cdr/ .
Cet évènement ne devrait être généré qu’une fois par CDR créé.
Ensuite, pour t’intéressé au poste qui a décroché seulement, tu peux inspecter les détails du CDR, par exemple l’attribut “destination_user_uuid” qui devrait correspondre à l’utilisateur qui a décroché.
Je t’avertis par contre que les détails des CDRs pour les cas impliquant des groupes d’appels, ou d’autres mécanismes de routage d’appel plus complex qu’un appel direct, sont souvent inconsistant voir erronés. Les CDRs ne sont pas la partie la plus fiable de Wazo, le modèle de traitement ayant été conçu pour les cas simples (Alice appel Bob) d’abord et n’as jamais été réactualisé adéquatement aux cas plus complexes.