- Accueil
- /
- Article
Les partenaires multilocataires (MT) Webex Calling peuvent créer un webhook pour collecter les données Webex Calling de tous vos clients. Cela permet un rapprochement des factures, des analyses et des rapports efficaces sans avoir à interroger chaque client individuellement.
Vue d'ensemble
Le webhook Detailed Call Records propose une solution sécurisée, évolutive et robuste axée sur les événements plutôt que sur les demandes. Ce webhook offre une meilleure visibilité sur les Webex Calling activités de vos clients, en prenant en charge des cas d'utilisation, de la facturation aux rapports personnalisés.
Vous pouvez utiliser ce webhook pour recueillir facilement des données pour tous les clients gérés via Partner Hub, sans demander à chaque client un par un. Ce webhook vous permet de développer des applications personnalisées de reporting, de facturation et d'analyse pour les besoins commerciaux internes et les services à valeur ajoutée.
Pour une présentation du webhook et des API qui l'accompagnent, regardez ce Vidcast : API d'historique détaillé des appels pour les Webex Calling partenaires.
Ce que propose le webhook Partner
Le webhook fournit un historique détaillé des appels toutes les 5 minutes. Chaque charge utile de webhook contient :
- Enregistrements d'appels qui se sont terminés entre 10 minutes et 5 minutes avant l'heure actuelle.
- Tout enregistrement en retard traité par le Webex Calling cloud.
- Remplit automatiquement les enregistrements d'appels en retard dans les charges utiles du Webhook suivantes afin de garantir une livraison fiable.
Pour montrer comment les enregistrements d'appels sont inclus dans chaque charge utile, prenons l'exemple suivant :
- Une charge utile reçue à 14h05 contient des appels qui se sont terminés entre 13h55 et 14h00.
- Les appels se terminant entre 14h00 et 14h05 sont inclus dans la charge utile de 14h10.
- Les enregistrements terminés plus tôt (par exemple, un appel qui s'est terminé à 14h04) mais traités tardivement par le Webex Calling cloud (par exemple, à 14h11) sont inclus dans la charge utile planifiée suivante ( par exemple, 14h15).
Les webhooks fournissent des records de manière fiable. Cependant, il se peut que vous receviez des enregistrements dupliqués dans les charges utiles suivantes du Webhook lorsque le système rediffuse les enregistrements sous certaines conditions. Vous êtes responsable de la déduplication des enregistrements. Pour identifier les doublons, 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 des enregistrements dans vos banques de données internes.
Webhook dans Partner Hub
En fournissant un webhook, vous permettez à la plateforme d'analyse d'envoyer les enregistrements d'appels vers votre URL de rappel dès qu'ils sont générés.
Webex Callingles enregistrements sont transmis dans le même format que les API Detailed Call Records existantes. Vous pouvez créer un webhook et choisir entre deux types de flux :
- Analytique : inclut tous les enregistrements d'appels de toutes les organisations clientes avec lesquelles le partenaire entretient une Webex Calling relation. Cela inclut les organisations dans lesquelles :
- Le partenaire gère l'organisation cliente avec le rôle d'administrateur à part entière.
- L'organisation cliente possède un Webex Calling abonnement actif au sein de l'organisation partenaire.
- Facturation : inclut les enregistrements des appels passés par les utilisateurs titulaires d'une Webex Calling licence vendue et fournie par le partenaire. Les relevés d'appels pour Workspaces sont inclus dans ce fil.
Accès et confidentialité des données
Seul le partenaire propriétaire peut accéder aux enregistrements détaillés des appels (CDR) pour la facturation.
- Un partenaire (ou un sous-partenaire) qui gère la licence associée à l'enregistrement des appels devient le partenaire propriétaire.
- La propriété est déterminée par : ID utilisateur > ID de licence > ID d'abonnement > ID partenaire.
- Chaque CDR est accessible à un seul partenaire.
- Certains enregistrements d'appels ne correspondent pas à un partenaire de facturation, et tous les partenaires associés à une organisation n'ont pas le même accès à tous les enregistrements, car ceux-ci peuvent contenir des informations personnelles identifiables (PII).
configurer une URL de rappel pour un webhook
Configurez le webhook dans le Partner Hub. Vous ne pouvez créer qu'un seul webhook par organisation partenaire.
Assurez-vous que vous avez le rôle d'administrateur complet de partenaire avec « Accès organisationnel complet au niveau administrateur » et que l' est vérifié dans Control Hub (sous Gestion > , sélectionnez un administrateur complet ou un administrateur complet partenaire, puis sélectionnez Rôles d'administrateur > Partenaire).
Les mêmes conditions d'accès s'appliquent lorsque vous utilisez les API Partner Reconciliation and Records.
| 1 |
Connectez-vous au Partner Hub. |
| 2 |
Accédez aux .
|
| 3 |
Entrez une URL à utiliser sous Webhook. L'URL doit se terminer par /webhook (par exemple, https://yourdomain.com/webhook).
|
| 4 |
Si vous souhaitez authentifier les charges utiles de votre webhook à l'aide d'un jeton secret, vous pouvez en ajouter un. Pour en savoir plus sur les webhooks et les jetons secrets Webex, consultez Webex for Developers : Webhooks. |
| 5 |
Sélectionnez l'un des types de ressources suivants à utiliser pour le webhook :
|
Points de terminaison de l'API des partenaires
Outre le webhook, il Webex Calling fournit des points de terminaison d'API pour faciliter la réconciliation des données. Ces points de terminaison vous permettent de rattraper ou de réconcilier vos banques de données avec les enregistrements manquants que votre auditeur Webhook n'aurait peut-être pas reçus. Les deux points de terminaison de l'API sont l'API de réconciliation et l'API Records.
Les enregistrements de ces API sont disponibles pendant 30 jours. Pour vous assurer de recevoir tous les disques attendus, nous vous recommandons de réconcilier vos disquaires régulièrement, par exemple toutes les 12 ou 24 heures.
Vous devez utiliser un jeton d'accès partenaire pour accéder à ces API. L'utilisateur qui s'authentifie doit être un administrateur partenaire à part entière avec un accès organisationnel complet au niveau administrateur et l'accès à l'API Webex Calling CDR doit être activé. Le jeton OAuth doit inclure le spark-admin:calling_cdr_readscope. Les rôles d'administrateur en lecture seule ne sont pas suffisants pour les API Partner Reconciliation and Records.
Utilisez le analytics-callingpoint de terminaison correspondant à la région de Webex Calling données de l'organisation cliente. Utilisez l'URL de base applicable pour les API de réconciliation et d'enregistrement :
- États-Unis et Canada :
https://analytics-calling.webexapis.com - Europe :
https://analytics-calling-eu.webexapis.com - Inde :
https://analytics-calling-in.webexapis.com - Australie :
https://analytics-calling-au.webexapis.com
Les plages de fenêtres d'API s'appliquent aux deux terminaux afin de mieux gérer la charge de service.
- Pour les plages de temps supérieures à 48 heures, la durée maximale autorisée est de 12 heures (obligatoire).
- Pour l'identifiant d'une organisation partenaire, le débit des API est limité à une demande d'API initiale par minute, par étendue de jeton. Si la pagination est utilisée, jusqu'à 10 demandes d'API paginées supplémentaires par minute et par jeton sont autorisées, et elles peuvent être effectuées immédiatement après la demande 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 des clients spécifiques.
Conditions d'accès : L'utilisateur qui s'authentifie doit être un administrateur partenaire disposant d'un accès complet au niveau administrateur et l'accès à l'API Webex Calling CDR doit être activé. Le jeton d'accès doit inclure le spark-admin:calling_cdr_readscope.
Si vous gérez plus de 200 organisations clientes, l'API pagine les résultats pour en 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 fenêtre horaire que vous avez sélectionnée doit commencer au moins 5 minutes avant l'heure UTC actuelle et ne peut pas dépasser 12 heures entre le début et la fin d'un seul appel d'API.
Les paramètres de l'API sont les suivants :
-
StartTime (obligatoire, chaîne) : date et 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 dater de plus de 30 jours par rapport à l'heure UTC actuelle.
- La fenêtre entre
startTimeet neendTimepeut pas dépasser 12 heures.
- Vous formatez l'heure comme suit
-
EndTime (obligatoire, chaîne) : date et heure de fin (UTC) des enregistrements que vous souhaitez collecter. Les records sont basés sur l'heure du rapport, c'est-à-dire la fin de l'appel. 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 5 minutes avant l'heure UTC actuelle et pas plus de 30 jours.
- La date et l'heure de fin doivent être supérieures au
startTime. - La fenêtre entre le
startTimeet neendTimepeut pas dépasser 12 heures.
- Vous formatez l'heure comme suit
Exemple de réponse JSON au point de terminaison de l'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 des réponses de l'API indiquent le nombre total d'organisations renvoyées et indiquent 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 :
- num-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 la page actuelle (par exemple, 1)
Par exemple, si les en-têtes indiquent num-pages=2, total-orgs=283 et current-page=1, vous consultez la première page d'une réponse de deux pages contenant 283 organisations au total. Pour accéder à la page suivante, ajoutez le paramètre page=2 à 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
Enregistre le point final de l'API
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.
Flux recommandé : appelez /v1/partners/cdrcountbyorgd'abord. Ensuite, utilisez la date exacte que vous avez orgIdrenvoyée cdr_counts[].orgIdlorsque vous appelez /v1/partners/cdrsbyorg.
L'API Records renvoie les enregistrements d'appels au format JSON, identique au format décrit dans l'API d'historique détaillé des appels. 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, voir le rapport Webex Calling détaillé sur l'historique des appels.
L'API fournit des enregistrements d'appels qui se sont terminés 5 minutes avant l'heure actuelle. Pour vous assurer que tous les enregistrements d'appels sont disponibles, nous vous recommandons de consulter l'API une heure après la fenêtre 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) : identifiant de l'organisation cliente pour laquelle vous souhaitez récupérer des enregistrements. Le nom du paramètre distingue les majuscules et minuscules. Vous pouvez obtenir les identifiants des organisations dans le champ de réponse de l'API de réconciliationcdr_counts[].orgId. -
StartTime (obligatoire, chaîne) : date et 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 dater de plus de 30 jours par rapport à l'heure UTC actuelle.
- L'intervalle entre le
startTimeet neendTimedoit pas dépasser 12 heures pour une seule demande d'API.
- Vous formatez l'heure comme suit
-
EndTime (obligatoire, chaîne) : date et heure de fin (UTC) du dernier enregistrement que vous souhaitez collecter. Les records sont basés sur l'heure du rapport, c'est-à-dire la fin de l'appel. 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 situées au moins 5 minutes avant l'heure UTC actuelle et pas plus de 30 jours.
- La date et l'heure de fin doivent être supérieures au
startTime. - L'intervalle entre le
startTimeet neendTimedoit pas dépasser 12 heures pour une seule demande d'API.
- Vous formatez l'heure comme suit
-
max (facultatif, nombre) : limite le nombre maximum d'enregistrements par page dans la réponse. Assurez-vous que :
- La fourchette va de 500 à 5 000. La valeur par défaut est 5 000. Par exemple,
max=1000. - Si l'API a plus d'enregistrements à renvoyer que la valeur maximale 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 à 5 000 est spécifiée, elle est ramenée à 5 000.
- La fourchette va de 500 à 5 000. La valeur par défaut est 5 000. Par exemple,
Pagination
Pour savoir si les réponses de l'API sont paginées, vérifiez que les en-têtes de réponse contiennent un en-tête de lien. Si un nextlien est présent dans l'en-tête du lien, extrayez-le et utilisez startTimeForNextFetchsa valeur pour demander la prochaine série d'enregistrements. S'il n'y a pas de lien suivant, tous les rapports pour la période sélectionnée sont collectés.
Les demandes d'API pour les pages suivantes peuvent être effectuées immédiatement, mais le débit doit être limité à un maximum de 10 requêtes paginées par minute, par jeton.
Utilisez le traitement idempotent et la déduplication lorsque vous récupérez des enregistrements, y compris dans le cadre de réponses paginées ou de fenêtres de rapprochement répétées. reportIdUtilisez-la comme clé primaire et reportTimepour déterminer le dernier enregistrement traité.
Par exemple, si la demande d'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
alors l'en-tête du lien dans la réponse 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&startTimeForNextFetch=2025-08-15T09:30:00.000Z&totalCount=20000&max=5000>; rel="next"
La pagination utilise uniquement l'en-tête du rel="next"lien. Si la réponse inclut un rel="next"lien, utilisez cet URL pour accéder à la page suivante des records. Si la réponse ne contient pas de rel="next"lien, vous avez récupéré tous les enregistrements disponibles pour la période sélectionnée.
La pagination de cette API est conforme à la norme RFC5988 (liens Web). Pour plus d'informations, consultez REST API Basics.
Comprendre les codes de réponse des points de terminaison de l'API
Cette section donne un aperçu des codes de réponse courants que vous pouvez rencontrer lorsque vous travaillez avec le point de terminaison de l'API de réconciliation et le point de terminaison de l'API Records. Ces terminaux jouent un rôle essentiel dans la synchronisation, la validation et la création de rapports des données. Il est essentiel de comprendre ces codes de réponse pour résoudre les problèmes efficacement et maintenir des intégrations fiables et stables.
|
Code de réponse |
Description du code de réponse |
|---|---|
|
200 |
OK |
|
400 |
Mauvaise demande : la demande n'était pas valide ou ne pouvait pas être traitée autrement. Le message d'erreur qui l'accompagne vous expliquera plus en détail. |
|
401 |
Non autorisé : les informations d'authentification étaient manquantes ou incorrectes. |
|
403 |
Interdit : La demande est comprise, mais elle a été refusée ou l'accès n'est pas autorisé. |
|
404 |
Introuvable : L'URI demandé n'est pas valide ou la ressource demandée, par exemple un utilisateur, n'existe pas. Également renvoyé lorsque le format demandé n'est pas pris en charge par la méthode demandée. |
|
405 |
Méthode non autorisée : La demande a été faite à une ressource à l'aide d'une méthode de requête HTTP qui n'est pas prise en charge. |
|
409 |
Conflit : La demande n'a pas pu être traitée car elle va à l'encontre d'une règle établie du système. Par exemple, il est interdit d'ajouter une personne à une chambre plus d'une fois. |
|
410 |
Disparue : La ressource demandée n'est plus disponible. |
|
415 |
Type de support non pris en charge : La demande a été faite à une ressource sans spécifier de type de support ou a utilisé un type de support non pris en charge. |
|
423 |
Verrouillé : la ressource demandée est temporairement indisponible. Il se peut qu'un en-tête Retry-After indique le nombre de secondes à attendre avant de réessayer de faire la demande. |
|
428 |
Condition préalable requise : Les fichiers ne peuvent pas être analysés pour détecter la présence de logiciels malveillants et doivent être téléchargés de force. |
|
429 |
Trop de demandes : Trop de demandes ont été envoyées en un temps donné et le tarif de la demande a été limité. Un en-tête Retry-After devrait être présent pour indiquer le nombre de secondes à attendre avant qu'une demande ne soit acceptée. |
|
451 |
Par défaut, les demandes |
|
500 |
Erreur interne du serveur : quelque chose s'est mal passé sur le serveur. Si le problème persiste, n'hésitez pas à contacter [l'équipe d'assistance aux développeurs de Webex] (/explore/support). |
|
502 |
Mauvaise passerelle : le serveur a reçu une réponse non valide de la part d'un serveur en amont lors du traitement de la demande. Réessayez plus tard. |
|
503 |
Service non disponible : le serveur est surchargé de demandes. Réessayez plus tard. |
|
504 |
Gateway Timeout : aucun serveur en amont n'a répondu à temps. Si votre requête utilise le paramètre Max, essayez de le réduire. |
API de rapports/modèles pour les partenaires
Vous pouvez générer et télécharger des rapports disponibles sur Partner Hub à l'aide des API Partner Reports. Pour plus d'informations, consultez le rapport/les modèles des partenaires.
Les partenaires peuvent également accéder à plusieurs rapports et les télécharger directement depuis Partner Hub. Pour plus d' informations, consultez les rapports du Partner Hub.
Historique des révisions
Historique des révisions des documents
|
Date de révision |
Nous avons apporté les modifications suivantes à l'article |
|---|---|
|
13/08/26 |
|
|
2/04/2026 |
|