Información general de referencia de API api-reference-overview
La API de supervisión de concurrencia proporciona una interfaz RESTful para administrar sesiones de flujo continuo y aplicar políticas de uso simultáneo. Esta referencia proporciona documentación completa para todos los extremos, métodos de autenticación, formatos de solicitud/respuesta y administración de errores.
URL base de API
Entorno de producción
https://streams.adobeprimetime.com/v2/
Entorno de ensayo
https://streams-stage.adobeprimetime.com/v2/
Nota: Use siempre el entorno de ensayo para el desarrollo y las pruebas. Las credenciales de producción solo se proporcionan después de una integración de ensayo correcta.
Autenticación
Todas las llamadas a la API requieren la autenticación HTTP Basic con las credenciales de la aplicación:
- Nombre de usuario: Su ID de aplicación (proporcionado por Adobe)
- Contraseña: Cadena vacía
Ejemplo de encabezado de autenticación
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
Estándares de formato de respuesta
Respuestas de éxito
Todas las respuestas correctas siguen esta estructura:
{
"status": "success",
"data": {
// Response-specific data
},
"timestamp": "2024-01-15T10:30:00Z"
}
Respuestas de error
Todas las respuestas de error siguen esta estructura:
{
"associatedAdvice": [
{
"policyName": "string",
"ruleName": "string",
"scope": {},
"attribute": "string",
"threshold": 0,
"conflicts": [
{}
]
}
],
"obligations": [
{
"namespace": "string",
"action": "string",
"arguments": [
"string"
]
}
]
}
Formato de resultado de evaluación
Cuando se evalúan las políticas (especialmente en el caso de conflictos de tipo 409), las respuestas incluyen un resultado de evaluación:
{
"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"
}
}
]
}
}
]
}
}
Códigos de estado HTTP comunes
Métodos de paso de parámetros
Parámetros de ruta
Parámetros necesarios que forman parte de la ruta de la URL:
{idp}- Identificador del proveedor de identidad{subject}- Identificador de usuario (generalmente de Adobe Pass){sessionId}- Identificador de sesión (devuelto en el encabezado Ubicación)
Parámetros adicionales
Los parámetros opcionales se pasan en la dirección URL:
GET /sessions/{idp}/{subject}?platform=test
Datos de formulario (POST/PUT)
Metadatos y datos de sesión en el cuerpo de la solicitud:
POST /sessions/{idp}/{subject}
Content-Type: application/x-www-form-urlencoded
channel=Channel1&deviceId=device-123&contentType=live
Encabezados
Parámetros especiales pasados en encabezados HTTP:
X-Terminate: termination-code-123
X-Client-Version: 1.0.0
Prácticas recomendadas de administración de errores
409 Gestión de conflictos
Cuando recibe una respuesta 409 Conflict:
- Analice el resultado de la evaluación para comprender la infracción de directiva
- Extraer información de conflicto de
associatedAdvice - Presentar opciones al usuario según su estrategia LIFO/FIFO
- Usar códigos de terminación si se implementa el comportamiento LIFO
410 Gestión desaparecida
Cuando recibe una respuesta 410 Gone:
- Comprobar si la respuesta tiene un cuerpo - indica una finalización remota
- Analizar aviso para comprender por qué se terminó la sesión
- Actualizar la interfaz de usuario para reflejar la finalización de la sesión
- Controlar correctamente: es posible que la sesión haya expirado de forma natural
- Iniciar una nueva sesión: si lo considera apropiado, inicie una nueva sesión
Limitación de velocidad
Cuando recibe una 429 Too Many Requests:
- Limitar la frecuencia de llamada hasta 200 solicitudes por minuto, que es el nivel máximo aceptado por CM
- Envíe latidos en el intervalo requerido, que es uno por minuto.
Herramientas de prueba
Explorador de API interactivo
Use nuestra interfaz de usuario de Swagger para las pruebas interactivas:
- Introduzca su ID de aplicación en la esquina superior derecha
- Haga clic en "Explorar" para establecer la autenticación
- Puntos finales de prueba con parámetros reales
- Ver ejemplos de solicitud/respuesta