API de Planos de Tarifação
Objetivo: Este endpoint permite listar de forma estruturada todos os planos de tarifação (rotas/venda) cadastrados no sistema.
🔒 1. Autenticação e Permissões de Acesso
A autenticação segue o padrão global de APIs, utilizando chaves enviadas no caminho da URL (Path Parameters).
- Endpoint Base:
/api/rateplans/{API_TOKEN}/{API_KEY} - Método HTTP:
GET - Content-Type:
application/json
⚠️ Regras de Negócio (Controle de Acesso)
O retorno dos dados varia de acordo com o nível da credencial (Token) utilizada:
- Nível Master (1) / Admin (0): Retorna a lista completa de todos os planos cadastrados no banco de dados.
- Nível Revenda (2): Retorna apenas os planos pertencentes àquela revenda (
id_clienteassociado ao Token). - Nível Assinante (4): Acesso Bloqueado. Assinantes não têm permissão para listar planos de tarifação e receberão um retorno de erro de opção inválida.
📋 2. Parâmetros da Requisição
Não existem parâmetros obrigatórios além da própria autenticação na URL. No entanto, o sistema aceita parâmetros opcionais na Query String (geralmente utilizados em modo de depuração/debug do painel).
| Parâmetro | Tipo | Padrão | Descrição |
| type | string | json |
Define o formato de saída desejado. |
| pretty | int | 0 |
Se habilitado no modo debug, indenta visualmente o JSON. |
🚀 3. Exemplos de Uso e Respostas
A) Sucesso - Listagem de Planos
Retornado quando a requisição é feita por um Master ou Revenda válido. Os planos são sempre retornados em ordem alfabética pela descrição.
- Exemplo de Requisição:
GET /api/rateplans/{TOKEN}/{KEY}
- Exemplo de Resposta (HTTP 200 OK):
{
"error": 0,
"reason": "OK",
"records": 2,
"data": [
{
"id": 15,
"description": "Plano BR Fixo Local",
"status": 1
},
{
"id": 22,
"description": "Plano Ilimitado Móvel",
"status": 1
}
]
}
B) Erro - Acesso Negado (Nível Assinante)
Retornado caso as chaves informadas pertençam a um cliente comum (Nível 4).
- Exemplo de Resposta (
HTTP 200 OK):
C) Erro - Falha de Autenticação
Retornado caso o Token/Key sejam inválidos ou a conta esteja bloqueada.
- Exemplo de Resposta (
HTTP 401 Unauthorizedou200 OKdependendo da config):
🛠️ 4. Estrutura do Nó data (Dicionário de Dados)
| Campo | Tipo | Descrição |
| id | inteiro | ID interno (chave primária) do plano no banco de dados (tbplanos). |
| description | string | Nome ou descrição comercial do plano. |
| status | inteiro | Informa o estado atual do plano (1 = Ativo, 0 = Inativo). |