Lista de APIs na Maxiweb Internet Provider

Observações gerais:

- API COM "EM TESTES" NO "RETORNO EXEMPLO" AINDA ESTÃO EM FASE DE CONTRUÇÃO, NAO AS USE!!!

- O formato de retorno SEMPRE será JSON;
- O formato de envio (no caso de POST) deve ser em JSON também;
- Por segurança do servidor só é aceito GET ou POST (os métodos PUT, DELETE, OPTIONS ou outro estão desativados);
- O acesso às APIs estão liberados apenas para os IPs cadastrados;
- O acesso às APIs precisam ainda se autenticar (via header) com usuário e senha;
- Para todas as APIs, o retorno conterá a variável "status", se for 0 significa que a ação foi executada corretamente e pode ser lido/processado as demais variáveis e/ou confirmada a ação da mesma, já caso for DIFERENTE de 0, indica erro;
- Para cada erro, será informado resumidamente o que houve pela variável "status_desc", descrição completa do erro pode ser encontrada na segunda tabela abaixo;
- O caminho completo da API deve ser https://api.maxiweb.com.br seguido da API (primeiro campo da tabela abaixo).

API Método Variáveis Descrição Retorno Retorno Exemplo
/pppoe/getstatus.php?email=X GET X = deve conter o endereço de email do PPPoE

Retorna os dados do usuário PPPoE, tanto da conexão como do email.

Usar APENAS nas telas onde toda essas informações são necessárias. Para as demais, procure por APIs mais específicas, que gastam menos recursos.

status: 0 ou 1
pppoe_banda: "Xk/Yk", onde X é a banda de upload e Y é a banda de download, em kbps
pppoe_conectado: 1 (se conectado) ou 0 (se nao conectado) ou -1 (se nunca se conectou)
pppoe_nasipaddress: IP do NAS que o autenticou
pppoe_nasportid: Porta do NAS em uso
pppoe_callingstationid: MAC do usuário
pppoe_framedipaddress: IP do usuário (se conectado) ou o último IP dele
pppoe_acctstarttime: data da conexao atual (ou da última)
pppoe_acctupdatetime: última atualização dos dados (por padrao devem ocorrer a cada 29 minutos), apenas para controle!
pppoe_acctstoptime: data da desconexao (caso user nao conectado)
pppoe_acctinputoctets: tráfego gerado em download pelo usuario (em bytes) nesta conexão
pppoe_acctoutputoctets: tráfego gerado em upload pelo usuario (em bytes) nesta conexão
pppoe_acctterminatecause: motivo da desconexao (caso user offline)
bloqueado: retorna 0 se o user está normal ou 1 se a conta estiver bloqueada
email_lastchange: última alteração no email (quota, senha, etc)
email_quota: quota do email em bytes
email_quota_real: quota do email em bytes em vigor (a acima só é aplicada após o email ser validado)
email_quota_uso: porcentagem de uso da quota
email_temredirecionamento: 0 se nao tiver, 1 se tiver
email_qualredirecionamento: email, se houver redirecionamento
email_salvalocal: 0 se nao salva ou 1 se salva local
email_temmsgferias: 0 se nao tem ou 1 se tiver
email_msgferias: mensagem de férias ou auto-resposta
email_lastauth: data (em timestamp) da última conexao smtp válida (enviando um email)
email_created: data (em timestamp) da criação do email (válido para novos emails apenas)

ao consultar:
/pppoe/getstatus.php?email=foxmulder@maxiweb.net.br

{
"status": 0,
"pppoe_banda": "4096k\/8192k",
"pppoe_conectado": "0",
"pppoe_nasipaddress": "172.31.11.254",
"pppoe_nasportid": "ether2",
"pppoe_callingstationid": "00:15:17:A9:E7:30",
"pppoe_framedipaddress": "187.49.42.185",
"pppoe_acctstarttime": "2019-04-17 01:34:01",
"pppoe_acctupdatetime": "2019-04-17 01:34:01",
"pppoe_acctstoptime": "2019-04-17 01:34:06",
"pppoe_acctinputoctets": "142066",
"pppoe_acctoutputoctets": "3788663",
"pppoe_acctterminatecause": "User-Request",
"bloqueado": "0",
"email_lastchange": "2019-04-04 15:36:02",
"email_quota": "2147483648",
"email_quota_real": "1073741824",
"email_quota_uso": "0",
"email_temredirecionamento": "1",
"email_qualredirecionamento": "xpto@umemailqualquer.com",
"email_salvalocal": "0",
"email_temmsgferias": "0",
"email_msgferias": "",
"email_lastauth": "1527279305",
"email_created": "0"
}


/pppoe/conectado.php?email=X GET X = deve conter o endereço de email do PPPoE Retorna se o usuário está conectado ou não e mais alguns campos principais status: 0 ou 1
pppoe_conectado: 1 (se conectado) ou 0 (se nao conectado) ou -1 (se nunca se conectou)
pppoe_banda: "Xk\/Yk", onde X é a banda de upload e Y é a banda de download, em kbps
pppoe_framedipaddress: IP do usuário (se conectado) ou o último IP dele
pppoe_acctstarttime: data da conexao atual (ou da última)
bloqueado: retorna 0 se o user está normal ou 1 se a conta estiver bloqueada

ao consultar:
/pppoe/getstatus.php?email=foxmulder@maxiweb.net.br

{
"status": 0,
"pppoe_conectado": "0",
"pppoe_banda": "4096k\/8192k",
"pppoe_framedipaddress": "187.49.42.185",
"pppoe_acctstarttime": "2019-04-17 01:34:01",
"bloqueado": "0"
}

/pppoe/bloquear.php?email=X GET X = deve conter o endereço de email do PPPoE

Bloqueia o email e acesso PPPoE respectivo

notas:
- se o user estiver conectado no nomento, ele será derrubado!
- ele não bloqueará contas agregadas (filhos). Caso desejar bloquear as demais contas do usuário, rodar a API de bloqueio respectiva para cada conta;

status: 0 ou 1
bloqueado: 1 (se foi bloqueado com sucesso) ou 0 (se o usuário já estava bloqueado)

ao chamar:
/pppoe/bloquear.php?email=foxmulder@maxiweb.net.br

{
"status": 0,
"bloqueado": "1",
}

/pppoe/desbloquear.php?email=X GET X = deve conter o endereço de email do PPPoE Desbloqueia o email e o acesso PPPoE respectivo status: 0 ou 1
desbloqueado: 1 (se foi desbloqueado com sucesso) ou 0 (se o usuário já estava liberado)

ao chamar:
/pppoe/desbloquear.php?email=foxmulder@maxiweb.net.br

{
"status": 0,
"desbloqueado": "1",
}

/pppoe/alterar.php POST "email" = deve conter o endereço de email do PPPoE
"pppoe_banda" = deve conter a nova banda para pppoe
Altera cadastro do usuário, alterando velocidades de banda (download e upload)   EM TESTES
/pppoe/derrubar.php?email=X GET X = deve conter o endereço de email do PPPoE Derruba a conexao do usuário status: 0 ou 1
derrubado: 1 (se foi derrubado com sucesso) ou 0 (se o usuário nao estava conectado) ou -1 (se houve algum erro, como NAS fora do ar, etc)

ao chamar:
/pppoe/derrubar.php?email=foxmulder@maxiweb.net.br

{
"status": 0,
"derrubado": "1",
}

/epv/bloquear.php?email=X GET X = deve conter o endereço de email do provedor bloqueia o email do usuario (válido para emails do provedor como @maxiweb.com.br, @maxiweb.net.br (exceto os que são PPPoE também), @mxb.com.br, @louveira.com, @itupeva.com e @cabreuva.com) status: 0 ou 1
bloqueado: 1 (se foi bloqueado com sucesso) ou 0 (se o usuário já estava bloqueado)
EM TESTES
/epv/desbloquear.php?email=X GET X = deve conter o endereço de email do provedor desbloqueia o email do usuario (válido para emails do provedor como @maxiweb.com.br, @maxiweb.net.br (exceto os que são PPPoE também), @mxb.com.br, @louveira.com, @itupeva.com e @cabreuva.com) status: 0 ou 1
desbloqueado: 1 (se foi desbloqueado com sucesso) ou 0 (se o usuário já estava liberado)
EM TESTES
           
           
           
           
/dom4link/status.php?dom=X GET X = deve conter o domínio a ser consultado (da revenda) Retorna o status do domínio status: 0 ou 1
dom_real: 1 se for dominio real ou 0 se for um apelido
dom_real_nome: nome do dominio real, caso o consultado for alias
dom_alias: lista dos dominios aliases desses (apelidos), caso houver, em uma array()
dom_users: total de usuarios no dominio real
dom_status: 0 (se normal) ou 1 (se bloqueado)
ao consultar:
/dom4link/status.php?dom=domhipotetico.com.br

{
"status": 0,
"dom_real": "0",
"dom_real_nome": "domreal.com.br",
"dom_alias": ["alias: dom1.com.br", "alias: dom2.com.br"],
"dom_users": "18",
"dom_status": "0"
}
/dom4link/bloquear.php?dom=X GET X = deve conter o domínio a ser bloqueado (da revenda) Bloqueia o dominio no servidor de email (todos os serviços, como SMTP, IMAP, POP3, Webmail, etc, para todos os emails do dominio) status: 0 ou 1
dom_status: 1 se a ação de bloqueio foi executada com sucesso
{
"status": 0,
"dom_status": "1"
}
/dom4link/desbloq.php?dom=X GET X = deve conter o domínio a ser desbloqueado (da revenda) Desbloqueia o dominio que foi previamente bloqueado status: 0 ou 1
dom_status: 0 se a ação de desbloqueio foi executada com sucesso
{
"status": 0,
"dom_status": "0"
}

Lista dos Erros

Código Erro Significado
Outro não listado Erro desconhecido (contate o admin e informe-o deste erro)
500 IP origem nao cadastrado como permitido para acesso às APIs
501 User ou Senha inválido
502 Requisição inválida, falta variável da API ou formato incorreto
503 User nao autorizado para executar a ação no Dominio solicitado
400 User PPPoE não existe
401 Domínio inválido no user PPPoE
402 User PPPoE não encontrado no email (consulta A), possívelmente algum erro no cadastro, informar ao admin
403 User PPPoE não encontrado no email (consulta B), possívelmente algum erro no cadastro, informar ao admin
404 User inválido por conter caracteres inválidos
405 Dominio inválido (contem caracteres invalidos)
406 Dominio nao encontrado no serviço de email
407 Dominio nao é real (pode ser apenas um apelido)
408 Vc nao pode bloquear o Dominio pois ele já está bloqueado!
409 Vc nao pode desbloquear o Dominio pois ele não está bloqueado!

Desenvolvido por Specialist Linux Solutions