Skip to main content
Tudo em /secure/ usa autenticação HTTP Basic, com seu login como nome de usuário. /ping não usa nenhuma.
Ou o cabeçalho diretamente, se seu cliente não o construir para você:

As credenciais vão no cabeçalho, em nenhum outro lugar

username e password como campos do corpo não são ignorados. Eles retornam como 400 Unknown argument. Essa recusa geralmente é o primeiro sinal de um payload copiado de outro gateway.

Um login SMPP não pode usar essa API

Isso pega as pessoas de surpresa porque a recusa não diz. Um 403 Authentication failure cobre os três casos: login desconhecido, senha errada e um login do tipo errado.
Se um login funciona por SMPP e retorna 403 aqui, verifique o tipo dele antes de verificar a senha. As credenciais são tipadas como HTTP ou SMPP e as duas não são intercambiáveis. Um login não pode fazer os dois.

Os dois 401

Eles significam coisas diferentes, e a distinção vale a pena tratar: Executado contra um gateway ao vivo:
401 significa que você não se identificou. 403 significa que se identificou e não foi aceito. Vale separar no seu alerta: um 401 súbito costuma ser um deploy que perdeu uma variável de ambiente; um 403 súbito, uma senha rotacionada ou um IP que mudou.

Listas de IPs permitidos

Se seu login tiver uma, uma requisição de qualquer outro lugar é 403 Authorization failure. É uma mensagem diferente da falha de credencial acima, então as duas são distinguíveis em log. O operador do seu gateway configura isso. Vale perguntar se há uma configurada antes de mover sua integração para uma nova infraestrutura.

A autenticação roda antes de tudo

Confirmado ao vivo: um POST sem credenciais e com um corpo impossível de fazer parse retorna o erro de autenticação, não o erro de parse.
Corrija as credenciais antes de depurar um payload. Um 401 ou 403 não diz nada sobre se o resto da sua requisição está correto, porque nada abaixo da autenticação foi executado.

Mantendo a senha segura

  • Leia-a do ambiente ou de um cofre de segredos, nunca do código-fonte.
  • Ela não é rotacionada por você. Se vazar, peça ao seu operador para trocá-la.
  • Um caminho desconhecido em /secure/ retorna 401, não 404, então a API não confirma quais endpoints existem para um chamador não autenticado. Não construa descoberta em cima de códigos de status.

Relacionados

Erros da API

Todos os status, e quais valem uma nova tentativa.

Quickstart

Primeira mensagem em quatro linguagens.