Aperçu de la référence de l’API api-reference-overview
L’API Concurrency Monitoring fournit une interface RESTful pour gérer les sessions de diffusion en continu et appliquer des politiques d’utilisation simultanées. Cette référence fournit une documentation complète sur tous les points d’entrée, les méthodes d’authentification, les formats de requête/réponse et la gestion des erreurs.
URL de base de l’API
Environnement de production
https://streams.adobeprimetime.com/v2/
Environnement d’évaluation
https://streams-stage.adobeprimetime.com/v2/
Remarque : utilisez toujours l’environnement d’évaluation pour le développement et les tests. Les informations d’identification de production ne sont fournies qu’après une intégration d’évaluation réussie.
Authentification
Tous les appels API nécessitent une authentification HTTP de base à l’aide des informations d’identification de votre application :
- Nom d’utilisateur : identifiant de votre application (fourni par Adobe)
- Password: Chaîne vide
Exemple d’en-tête d’authentification
curl -u "<your-app-id>:" https://streams-stage.adobeprimetime.com/v2/sessions
For an application with id "demo-app" the authentication header would be exactly as shown below, including the quotes and colon:
curl -u "demo-app:" https://streams-stage.adobeprimetime.com/v2/sessions
Normes de format de réponse
Réponses de succès
Toutes les réponses réussies suivent cette structure :
{
"status": "success",
"data": {
// Response-specific data
},
"timestamp": "2024-01-15T10:30:00Z"
}
Réponses d’erreur
Toutes les réponses d’erreur suivent cette structure :
{
"associatedAdvice": [
{
"policyName": "string",
"ruleName": "string",
"scope": {},
"attribute": "string",
"threshold": 0,
"conflicts": [
{}
]
}
],
"obligations": [
{
"namespace": "string",
"action": "string",
"arguments": [
"string"
]
}
]
}
Format du résultat de l’évaluation
Lors de l’évaluation des politiques (en particulier pour les conflits 409), les réponses incluent un résultat d’évaluation :
{
"evaluationResult": {
"decision": "DENY",
"obligations": [
{
"id": "obligation-id",
"fulfillOn": "DENY",
"attributes": {
"attribute1": "value1"
}
}
],
"associatedAdvice": [
{
"id": "advice-id",
"adviceType": "rule-violation",
"attributes": {
"rule": "rule-name",
"threshold": 3,
"current": 4,
"conflicts": [
{
"sessionId": "session-123",
"terminationCode": "term-456",
"metadata": {
"deviceId": "device-789",
"channel": "Channel1"
}
}
]
}
}
]
}
}
Codes d’état HTTP courants
Méthodes de transmission des paramètres
Paramètres de chemin
Paramètres requis qui font partie du chemin d’accès à l’URL :
{idp}- Identifiant du fournisseur d’identité{subject}- Identifiant de l’utilisateur (généralement provenant d’Adobe Pass){sessionId}- Identifiant de session (renvoyé dans l’en-tête Emplacement)
Paramètres supplémentaires
Des paramètres optionnels sont transmis dans l’URL :
GET /sessions/{idp}/{subject}?platform=test
Données de formulaire (POST/PUT)
Métadonnées et données de session dans le corps de la requête :
POST /sessions/{idp}/{subject}
Content-Type: application/x-www-form-urlencoded
channel=Channel1&deviceId=device-123&contentType=live
En-têtes
Paramètres spéciaux transmis dans les en-têtes HTTP :
X-Terminate: termination-code-123
X-Client-Version: 1.0.0
Bonnes pratiques de gestion des erreurs
409 Gestion des conflits
Lorsque vous recevez une réponse 409 Conflit :
- Analysez le résultat de l’évaluation pour comprendre la violation de la politique
- Extraire les informations de conflit à partir de
associatedAdvice - présenter des options à l’utilisateur en fonction de votre stratégie LIFO/FIFO
- Utilisez des codes de terminaison si vous implémentez le comportement LIFO
410 Gone Handling
Lorsque vous recevez une réponse 410 Gone :
- Vérifier si la réponse comporte un corps - Indique l’arrêt à distance.
- Analyser les conseils pour comprendre pourquoi la session a été interrompue
- Mettre à jour l’interface utilisateur pour refléter la fin de la session
- Gérer avec élégance - la session a peut-être expiré naturellement
- Démarrer une nouvelle session - si nécessaire, démarrez une nouvelle session
Limitation de débit
Lorsque vous recevez un 429 Too Many Requests :
- Limiter la fréquence d’appel à jusqu’à 200 requêtes par minute, ce qui correspond au niveau maximal accepté par CM.
- Envoyez des pulsations à l’intervalle requis qui est d’une par minute.
Outils de test
Explorateur d’API interactive
Utilisez notre interface utilisateur Swagger pour les tests interactifs :
- Saisissez votre ID d’application dans le coin supérieur droit
- Cliquez sur Explorer pour définir l’authentification
- Tester les points d’entrée avec des paramètres réels
- Afficher des exemples de requête/réponse