Autenticação

O MorisBox oferece dois tipos de chave, conforme o tipo de conta.

ContaPrefixo da chaveUso
Parceirosk_… (exceto sk_dev_)Partner API completa (/messages, bots, modelos…)
Desenvolvedorsk_dev_…Somente API para desenvolvedores (/dev/*): modelos MorisBox

Não use JWTs de usuários finais em um backend de parceiro ou desenvolvedor.


Cabeçalho comum

Authorization: Bearer <api_key>
Content-Type: application/json

As chaves de desenvolvedor também aceitam X-Api-Key: sk_dev_….


Chaves de parceiros

PropriedadeDescrição
FormatoOpaco (sk_…)
ArmazenamentoHash no lado do servidor; o segredo é exibido uma única vez
Scopessend, read, templates, full
Allowlist de IPOpcional por chave

Criar uma chave (Partner Hub)

  1. Entre no Partner Hub
  2. Administração → Chaves de API → Criar
  3. Copie o segredo imediatamente

Criação programática

POST /api/v1/settings/api-keys
Authorization: Bearer <clé_existante>
{
  "name": "Backend production",
  "scopes": "send"
}

Login no Partner Hub (interface)

EndpointFunção
POST /api/v1/auth/partner/loginLogin + senha → chave de sessão
POST /api/v1/auth/partner/logoutRevoga a chave de sessão
OnboardingSolicitação de uma conta de parceiro

As integrações de servidor devem preferir chaves de API dedicadas, não a sessão da interface.


Chaves de desenvolvedores

Consulte o guia completo: Contas de desenvolvedor.

EndpointFunção
POST /api/v1/auth/developer/registerCriar uma conta + primeira chave
POST /api/v1/auth/developer/loginSessão do painel
GET/POST /api/v1/dev/api-keysGerenciar as chaves
DELETE /api/v1/dev/api-keys/{id}Revogar

Os desenvolvedores não usam o endpoint para parceiros /api/v1/messages: somente /api/v1/dev/messages com template_code.


Lista de verificação de segurança

  • HTTPS em produção / sandbox público
  • Rotacionar as chaves em caso de vazamento
  • Princípio do menor privilégio (scopes)
  • Nunca incorporar uma chave em um aplicativo móvel público
  • Verificar as assinaturas de webhook (Webhooks)

Respostas não autorizadas

{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or expired API key."
  }
}

Status: 401 (chave inválida) ou 403 (scope / IP / função).