Visão geral da referência da API api-reference-overview
A API de monitoramento de simultaneidade fornece uma interface RESTful para gerenciar sessões de transmissão e aplicar políticas de uso simultâneas. Esta referência fornece documentação completa para todos os endpoints, métodos de autenticação, formatos de solicitação/resposta e manipulação de erros.
URLs de base da API
Ambiente de produção
https://streams.adobeprimetime.com/v2/
Ambiente de preparo
https://streams-stage.adobeprimetime.com/v2/
Observação: sempre use o ambiente de preparo para desenvolvimento e teste. As credenciais de produção são fornecidas somente após a integração de preparo bem-sucedida.
Autenticação
Todas as chamadas de API exigem Autenticação Básica HTTP usando suas credenciais de aplicativo:
- Nome de usuário: a ID do seu aplicativo (fornecida pela Adobe)
- Senha: Cadeia de caracteres vazia
Exemplo de cabeçalho de autenticação
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
Padrões de Formato de Resposta
Respostas de sucesso
Todas as respostas bem-sucedidas seguem esta estrutura:
{
"status": "success",
"data": {
// Response-specific data
},
"timestamp": "2024-01-15T10:30:00Z"
}
Respostas de erro
Todas as respostas de erro seguem esta estrutura:
{
"associatedAdvice": [
{
"policyName": "string",
"ruleName": "string",
"scope": {},
"attribute": "string",
"threshold": 0,
"conflicts": [
{}
]
}
],
"obligations": [
{
"namespace": "string",
"action": "string",
"arguments": [
"string"
]
}
]
}
Formato do resultado da avaliação
Quando as políticas são avaliadas (especialmente para conflitos 409), as respostas incluem um resultado de avaliação:
{
"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 status HTTP comuns
Métodos de envio de parâmetros
Parâmetros de caminho
Parâmetros obrigatórios que fazem parte do caminho do URL:
{idp}- Identificador do provedor de identidade{subject}- Identificador de usuário (normalmente da Adobe Pass){sessionId}- Identificador de sessão (retornado no cabeçalho Localização)
Parâmetros adicionais
Parâmetros opcionais são passados no URL:
GET /sessions/{idp}/{subject}?platform=test
Dados de formulário (POST/PUT)
Metadados e dados de sessão no corpo da solicitação:
POST /sessions/{idp}/{subject}
Content-Type: application/x-www-form-urlencoded
channel=Channel1&deviceId=device-123&contentType=live
Cabeçalhos
Parâmetros especiais passados em cabeçalhos HTTP:
X-Terminate: termination-code-123
X-Client-Version: 1.0.0
Práticas recomendadas de tratamento de erros
409 Tratamento de conflitos
Quando você receber uma resposta de Conflito 409:
- Analise o resultado da avaliação para entender a violação da política
- Extrair informações de conflito de
associatedAdvice - Apresentar opções ao usuário com base em sua estratégia LIFO/FIFO
- Usar códigos de encerramento ao implementar o comportamento LIFO
410 Manuseio perdido
Ao receber uma resposta 410 Gone:
- Verifique se a resposta tem um corpo - indica encerramento remoto
- Analise o conselho para entender por que a sessão foi encerrada
- Atualizar interface para refletir o término da sessão
- Identificador adequado - a sessão pode ter expirado naturalmente
- Iniciar uma nova sessão - se for considerado apropriado, iniciar uma nova sessão
Limite de taxa
Ao receber 429 muitas solicitações:
- Limitar a frequência de chamada para até 200 solicitações por minuto, que é o nível máximo aceito pelo CM
- Enviar pulsações no intervalo necessário, que é um por minuto.
Ferramentas de teste
API Explorer interativo
Use nossa Interface do usuário do Swagger para testes interativos:
- Insira a ID do aplicativo no canto superior direito
- Clique em "Explorar" para definir a autenticação
- Testar endpoints com parâmetros reais
- Exibir exemplos de solicitação/resposta