Dans cet article
Aperçu
Configurer l’URL de rappel d’un webhook
dropdown icon
Points de terminaison de l'API partenaire
    Point de terminaison de l'API de réconciliation
    point de terminaison de l'API Records
Comprendre les codes de réponse des points de terminaison de l'API
Partenaire reports/templates API
Historique des révisions

Webhook détaillant les appels pour Webex Calling dans le Partner Hub

list-menuDans cet article
list-menuUn commentaire ?

Les partenaires multi-locataires (MT) de Webex Calling peuvent configurer un webhook pour collecter les enregistrements Webex Calling de tous vos clients. Cela permet un rapprochement efficace des factures, des analyses et des rapports sans avoir besoin d'interroger chaque client individuellement.

Aperçu

Le webhook d'enregistrement détaillé des appels offre une solution sécurisée, évolutive et robuste, pilotée par des événements plutôt que par des requêtes. Ce webhook offre une meilleure visibilité sur les activités d'appels Webex de vos clients, prenant en charge des cas d'utilisation allant de la facturation aux rapports personnalisés.

Vous pouvez utiliser ce webhook pour collecter facilement les enregistrements de tous les clients gérés via Partner Hub sans avoir à interroger chaque client individuellement. Ce webhook vous permet de développer des applications personnalisées de reporting, de facturation et d'analyse, tant pour les besoins internes de l'entreprise que pour les services à valeur ajoutée.

Pour une introduction au webhook et à ses API associées, regardez ce Vidcast : API d'historique d'appel détaillé du partenaire d'appel Webex.

Ce que le webhook partenaire fournit

Le webhook fournit des enregistrements détaillés de l'historique des appels toutes les 5 minutes. Chaque charge utile de webhook contient :

  • Enregistrements des appels terminés entre 10 et 5 minutes avant l'heure actuelle.
  • Tous les enregistrements en retard traités par le cloud Webex Calling.
  • Remplit automatiquement les enregistrements d'appels tardifs dans les charges utiles webhook suivantes afin de garantir une livraison fiable.

Pour illustrer comment les enregistrements d'appels sont inclus dans chaque charge utile, prenons l'exemple suivant :

  • Une charge utile reçue à 14:05 contient des appels qui se sont terminés entre 13:55 et 14:00.
  • Appels se terminant entre 14:00 et 14:05 sont inclus dans le 14:10 charge utile.
  • Enregistrements terminés précédemment (par exemple, un appel qui s'est terminé à 14:04) mais traités tardivement par le cloud Webex Calling (par exemple, à 14:11) sont inclus dans la prochaine charge utile prévue (par exemple, 14:15).

Les webhooks transmettent les enregistrements de manière fiable. Toutefois, vous pouvez recevoir des enregistrements en double dans les charges utiles de webhook suivantes lorsque le système rejoue des enregistrements dans certaines conditions. Vous êtes responsable de la déduplication des enregistrements. Pour identifier les enregistrements en double, utilisez le champ reportId comme clé primaire et le champ reportTime pour déterminer quand un appel a été terminé ou traité. Utilisez ces champs pour mettre à jour ou insérer les enregistrements dans vos bases de données internes.

Webhook dans Partner Hub

En fournissant un webhook, vous permettez à la plateforme d'analyse d'envoyer les enregistrements d'appels à votre URL de rappel dès leur génération.

Les enregistrements d'appels Webex sont fournis au même format que les API d'enregistrements d'appels détaillés existantes . Vous pouvez configurer un webhook et choisir entre deux types de flux :

  • Analyses — Inclut tous les enregistrements d'appels pour toutes les organisations clientes avec lesquelles le partenaire entretient une relation Webex Calling. Cela inclut les organisations où :
    • Le partenaire gère l'organisation du client avec un rôle d'administrateur partenaire complet.
    • L'organisation cliente dispose d'un abonnement Webex Calling actif au sein de l'organisation partenaire.
  • Facturation — Comprend les enregistrements d’appels pour les appels passés par les utilisateurs disposant d’une licence Webex Calling vendue et fournie par le partenaire. Les enregistrements d'appels pour les espaces de travail sont inclus dans ce flux.

Accès et confidentialité des données

Seul le partenaire propriétaire peut accéder aux enregistrements détaillés des appels (CDR) à des fins de facturation.

  • Un partenaire (ou sous-partenaire) qui gère la licence associée à l'enregistrement d'appel devient le partenaire propriétaire.
  • La propriété est déterminée par : ID de l'utilisateur > Numéro de licence > Identifiant d'abonnement > Identifiant du partenaire.
  • Chaque CDR est accessible à un seul partenaire.
  • Certains enregistrements d'appels ne sont pas associés à un partenaire de facturation, et tous les partenaires associés à une organisation ne bénéficient pas d'un accès égal à tous les enregistrements, car ces enregistrements peuvent contenir des informations personnelles identifiables (IPI).

Configurer l’URL de rappel d’un webhook

Configurez le webhook dans le Partner Hub. Vous ne pouvez configurer qu'un seul webhook par organisation partenaire.

Assurez-vous de disposer du rôle d'administrateur complet Partenaire avec l'accès « niveau d'administrateur complet de l'organisation » et que l'accès à l'API Webex Calling CDR est coché dans Control Hub (sous Gestion). > Utilisateurs, sélectionnez un administrateur complet ou un administrateur complet partenaire, puis sélectionnez Rôles d'administrateur > Partenaire).

Capture d'écran montrant les paramètres des rôles d'administrateur avec les rôles d'administrateur partenaire et d'administrateur partenaire complet sélectionnés, ainsi que l'accès à l'API Webex Calling CDR coché dans les paramètres fonctionnels.

1

Connectez-vous au Hub partenaire.

2

Accédez à Paramètres de l'organisation > Enregistrements détaillés des appels.

Capture d'écran des paramètres d'organisation pour les enregistrements détaillés des appels, affichant les champs URL du webhook, jeton secret et type de ressource avec l'option Analytics sélectionnée.
3

Saisissez une URL à utiliser sous Webhook.

L'URL doit se terminer par /webhook (Par exemple, https://yourdomain.com/webhook).
4

Si vous souhaitez authentifier vos charges utiles de webhook avec un jeton secret, vous pouvez en ajouter un. Pour en savoir plus sur les webhooks et les jetons secrets Webex, consultez Webex pour les développeurs : Webhooks.

5

Sélectionnez l'un des types de ressources suivants à utiliser pour le webhook :

  • Analyses— Comprend tous les enregistrements d'appels pour toutes les organisations clientes avec lesquelles le partenaire entretient une relation Webex Calling.
  • Facturation— Comprend les enregistrements d'appels des utilisateurs auxquels le partenaire a vendu des licences Webex Calling. Les enregistrements d'appels pour les espaces de travail sont inclus dans ce flux.

Points de terminaison de l'API partenaire

En plus du webhook, Webex Calling fournit des points de terminaison API pour faciliter la réconciliation des données. Ces points de terminaison vous permettent de rattraper ou de réconcilier vos bases de données avec les enregistrements manquants que votre écouteur de webhook n'aurait pas pu recevoir. Les deux points de terminaison de l'API sont l'API de réconciliationet l'API d'enregistrements.

Les données issues de ces API sont disponibles pendant 30 jours. Pour vous assurer de recevoir tous les enregistrements attendus, nous vous recommandons de vérifier régulièrement vos stocks, par exemple toutes les 12 ou 24 heures.

Vous devez utiliser un jeton d'accès partenaire pour accéder à ces API. Obtenez et gérez votre jeton d'accès partenaire conformément aux pratiques standard de gestion des jetons d'accès pour développeursWebex .

Les plages de fenêtres d'API s'appliquent aux deux points de terminaison afin de mieux gérer la charge du service.

  • Pour les plages horaires supérieures à 48 heures, la durée maximale autorisée est de 12 heures (recommandée et appliquée).
  • Pour les plages horaires de 48 heures ou moins, la durée maximale autorisée est de 48 heures (non recommandée ; cette option sera obsolète à compter du 30 janvier 2026).
  • Pour un identifiant d'organisation partenaire, les API sont limitées à une requête API initiale par minute et par étendue de jeton. Si la pagination est utilisée, jusqu'à 10 requêtes API paginées supplémentaires par minute et par jeton sont autorisées, et celles-ci peuvent être effectuées immédiatement après la requête initiale.

Point de terminaison de l'API de réconciliation

Le point de terminaison de l'API de réconciliation renvoie le nombre total d'enregistrements d'appels générés pour chaque client géré par le partenaire au cours de la période spécifiée. Vous pouvez utiliser ces totaux pour vérifier votre stockage local et identifier les enregistrements d'appels manquants ou incohérents pour certains clients.

Si vous gérez plus de 200 organisations clientes, l'API pagine les résultats pour améliorer la lisibilité.

L'URL du point de terminaison de l'API de réconciliation utilise le format suivant :

https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z

Paramètres de l'API

Vous pouvez utiliser l'API pour récupérer les enregistrements d'appels des 30 derniers jours. La plage horaire sélectionnée doit commencer au moins 5 minutes avant l'heure UTC actuelle et ne peut pas dépasser 12 heures entre l'heure de début et l'heure de fin dans un seul appel API.

Les paramètres de l'API sont :

  • startTime (obligatoire, chaîne de caractères) — La date et l'heure de début (UTC) du premier enregistrement que vous souhaitez collecter. Assurez-vous que :
    • Vous formatez l'heure comme suit : YYYY-MM-DDTHH:MM:SS.mmmZ. Par exemple, 2025-08-15T06:00:00.000Z.
    • La date et l'heure de début ne doivent pas être antérieures de plus de 30 jours à l'heure UTC actuelle.
    • L'intervalle entre startTime et endTime ne peut pas dépasser 12 heures.
  • endTime (obligatoire, chaîne de caractères) — La date et l'heure de fin (UTC) des enregistrements que vous souhaitez collecter. Les enregistrements sont basés sur l'heure du rapport, c'est-à-dire l'heure à laquelle l'appel est terminé. Assurez-vous que :
    • Vous formatez l'heure comme suit : YYYY-MM-DDTHH:MM:SS.mmmZ. Par exemple, 2025-08-15T18:00:00.000Z.
    • La date et l'heure de fin doivent être antérieures de 5 minutes à l'heure UTC actuelle et ne doivent pas dater de plus de 30 jours.
    • La date et l'heure de fin doivent être postérieures à startTime.
    • L'intervalle entre startTime et endTime ne peut pas dépasser 12 heures.

Exemple de réponse JSON d'un point de terminaison d'API de réconciliation :


          {
          "cdr_counts": [
          {
          "orgId": "zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
          "count": 3009
          },
          {
          "orgId": "yyyyyyyy-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
          "count": 129
          },
          {
          "orgId": "xxxxxxxx-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
          "count": 27895
          }
          ]
          }          
        

Les en-têtes de réponse de l'API indiquent le nombre total d'organisations renvoyées et si des pages supplémentaires sont disponibles. Vérifiez les paramètres d'en-tête suivants pour vous assurer que vous avez interrogé toutes les pages :

  • nombre de pages : Nombre total de pages (par exemple, 2)
  • total-orgs : Nombre total d'organisations incluses dans la réponse (par exemple, 283)
  • page actuelle : Le numéro de page actuel (par exemple, 1)

Par exemple, si les en-têtes affichent num-pages=2, total-orgs=283, et current-page=1, Vous consultez la première page d'une réponse de deux pages contenant au total 283 organisations. Pour accéder à la page suivante, ajoutez le page=2 paramètre à ajouter à votre requête GET, comme indiqué ci-dessous :

https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z&page=2

point de terminaison de l'API Records

Le point de terminaison de l'API Records est utilisé pour interroger les enregistrements d'appels manquants pour des organisations spécifiques où des divergences ou des données manquantes ont été identifiées à l'aide de l'API de réconciliation.

L'API Records renvoie les enregistrements d'appels au format JSON, identique au format décrit dans l'API Detailed Call History. La charge utile renvoyée contient des champs identiques à ceux de la charge utile renvoyée par l'historique détaillé des appels. Pour plus d'informations sur les champs et leurs valeurs, consultez Rapport détaillé de l'historique des appels Webex.

L'API fournit les enregistrements des appels qui se sont terminés 5 minutes avant l'heure actuelle. Pour garantir la disponibilité de tous les enregistrements d'appels, nous vous recommandons d'interroger l'API une heure après la plage horaire de votre choix.

L'URL du point de terminaison de l'API Records utilise le format suivant :

https://analytics-calling.webexapis.com/v1/partners/cdrsbyorg?orgId=zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy&endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z

Paramètres de l'API

  • OrgID (obligatoire, chaîne de caractères) — L'identifiant de l'organisation pour laquelle vous souhaitez récupérer des enregistrements. Vous pouvez obtenir les identifiants d'organisation à partir de l'API de rapprochement.
  • startTime (obligatoire, chaîne de caractères) — La date et l'heure de début (UTC) du premier enregistrement que vous souhaitez collecter. Assurez-vous que :
    • Vous formatez l'heure comme suit : YYYY-MM-DDTHH:MM:SS.mmmZ. Par exemple, 2025-08-15T06:00:00.000Z.
    • La date et l'heure de début ne doivent pas être antérieures de plus de 30 jours à l'heure UTC actuelle.
    • L'intervalle entre les startTime et endTime ne doit pas dépasser 12 heures dans une seule requête API.
  • endTime (obligatoire, chaîne de caractères) — La date et l'heure de fin (UTC) du dernier enregistrement que vous souhaitez collecter. Les enregistrements sont basés sur l'heure du rapport, c'est-à-dire l'heure à laquelle l'appel est terminé. Assurez-vous que :
    • Vous formatez l'heure comme suit : YYYY-MM-DDTHH:MM:SS.mmmZ. Par exemple, 2025-08-15T18:00:00.000Z.
    • La date et l'heure de fin doivent être antérieures d'au moins 5 minutes à l'heure UTC actuelle et ne doivent pas dater de plus de 30 jours.
    • La date et l'heure de fin doivent être postérieures à startTime.
    • L'intervalle entre les startTime et endTime ne doit pas dépasser 12 heures dans une seule requête API.
  • Max (optionnel, nombre) — Limite le nombre maximal d’enregistrements par page dans la réponse. Assurez-vous que :
    • La plage de valeurs va de 500 à 5000. La valeur par défaut est 5000. Par exemple, Max=1000.
    • Si l'API a plus d'enregistrements à renvoyer que la valeur Max spécifiée, la réponse est paginée.
    • Si une valeur inférieure à 500 est spécifiée, elle est automatiquement ajustée à 500. Si une valeur supérieure à 5000 est spécifiée, elle est ramenée à 5000.

Pagination

Pour déterminer si les réponses de l'API sont paginées, vérifiez la présence d'un en-tête Link dans les en-têtes de réponse. Si un lien next est présent dans l'en-tête Link, extrayez-le et utilisez la valeur startTimeForNextFetch pour demander l'ensemble d'enregistrements suivant. S'il n'y a pas de lien suivant, tous les rapports pour la période sélectionnée sont collectés.

Les requêtes API pour les pages suivantes peuvent être effectuées immédiatement, mais doivent être limitées à un maximum de 10 requêtes paginées par minute et par jeton.

Par exemple, si la requête API initiale est :

https://analytics-calling.webexapis.com/v1/partners/cdrsbyorg?orgId=zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy&endTime=2025-08-15T18:00:00.000Z&startTime=2025-08-15T06:00:00.000Z&Max=5000

L'en-tête Link dans la réponse est alors :

; rel="next"

D'autres valeurs de lien possibles incluent rel="first" et rel="prev" pour la première et la page précédente, respectivement.

La pagination de cette API suit la norme RFC5988 (Web Linking). Pour plus d'informations, voir Principes de base de l'API REST.

Comprendre les codes de réponse des points de terminaison de l'API

Cette section présente un aperçu des codes de réponse courants qui peuvent être rencontrés lors de l'utilisation du point de terminaison de l'API de réconciliation et du point de terminaison de l'API d'enregistrements . Ces points de terminaison jouent un rôle essentiel dans la synchronisation, la validation et la production de rapports sur les données. Comprendre ces codes de réponse est essentiel pour un dépannage efficace et pour maintenir des intégrations fiables et stables.

Tableau 1. codes de réponse du point de terminaison de l'API

Code de réponse

Description du code de réponse

200

OK

400

Mauvaise demande : La requête était invalide ou ne peut être traitée autrement. Un message d'erreur complémentaire fournira des explications supplémentaires.

401

Non autorisé: Les informations d'identification étaient manquantes ou incorrectes.

403

Interdit: La demande a été comprise, mais elle a été refusée ou l'accès n'est pas autorisé.

404

Introuvable: L'URI demandée est invalide ou la ressource demandée, telle qu'un utilisateur, n'existe pas. Renvoie également cette valeur lorsque le format demandé n'est pas pris en charge par la méthode demandée.

405

Méthode non autorisée: La requête a été adressée à une ressource en utilisant une méthode de requête HTTP non prise en charge.

409

Conflit: La requête n'a pas pu être traitée car elle contrevient à une règle établie du système. Par exemple, une personne ne peut être ajoutée à une chambre qu'une seule fois.

410

Disparu: La ressource demandée n'est plus disponible.

415

Type de média non pris en charge: La requête a été adressée à une ressource sans spécifier de type de média ou a utilisé un type de média non pris en charge.

423

Verrouillé: La ressource demandée est temporairement indisponible. Un en-tête Retry-After peut être présent, spécifiant le nombre de secondes à attendre avant de réessayer la requête.

428

Précondition requise: Les fichiers ne peuvent pas être analysés à la recherche de logiciels malveillants et doivent être téléchargés de force.

429

Trop de requêtes: Trop de requêtes ont été envoyées dans un laps de temps donné et le nombre de requêtes a été limité. Un en-tête Retry-After doit être présent, spécifiant le nombre de secondes à attendre avant qu'une requête puisse aboutir.

500

Erreur interne du serveur: Un problème est survenu sur le serveur. Si le problème persiste, n'hésitez pas à contacter le [Webex Assistance aux développeurs team](/explore/support).

502

Mauvaise passerelle: Le serveur a reçu une réponse invalide d'un serveur en amont lors du traitement de la requête. Veuillez réessayer ultérieurement.

503

Service non disponible: Le serveur est surchargé de requêtes. Veuillez réessayer ultérieurement.

504

Délai d'attente de la passerelle: Un serveur en amont n'a pas répondu à temps. Si votre requête utilise le paramètre max, veuillez essayer de le réduire.

Partenaire reports/templates API

Vous pouvez générer et télécharger des rapports disponibles dans Partner Hub en utilisant les API Partner Reports. Pour plus d'informations, consultez le partenaire report/templates.

Les partenaires peuvent également accéder à plusieurs rapports et les télécharger directement depuis le Partner Hub. Pour plus d'informations, consultez les rapports du Partner Hub.

Historique des révisions

Historique des révisions du document

Date de révision

Nous avons apporté les modifications suivantes à l'article

1/14/2026

  • J'ai créé un tableau d'historique des révisions qui suit toutes les modifications apportées au fil du temps.

  • Mise à jour des sections relatives aux points de terminaison de l'API de réconciliation et de l'API d'enregistrement afin d'inclure un tableau ou des valeurs de code d'erreur.

Cet article était-il utile ?
Cet article était-il utile ?