Pular para conteúdo

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_cliente associado 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):
{
  "error": 1,
  "reason": "NOT_FOUND",
  "message": "Opção inválida"
}

C) Erro - Falha de Autenticação

Retornado caso o Token/Key sejam inválidos ou a conta esteja bloqueada.

  • Exemplo de Resposta (HTTP 401 Unauthorized ou 200 OK dependendo da config):
{
  "error": 1,
  "reason": "AUTH_INVALID",
  "message": "Invalid credentials."
}

🛠️ 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).