Autenticação
O MorisBox oferece dois tipos de chave, conforme o tipo de conta.
| Conta | Prefixo da chave | Uso |
|---|---|---|
| Parceiro | sk_… (exceto sk_dev_) | Partner API completa (/messages, bots, modelos…) |
| Desenvolvedor | sk_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
| Propriedade | Descrição |
|---|---|
| Formato | Opaco (sk_…) |
| Armazenamento | Hash no lado do servidor; o segredo é exibido uma única vez |
| Scopes | send, read, templates, full… |
| Allowlist de IP | Opcional por chave |
Criar uma chave (Partner Hub)
- Entre no Partner Hub
- Administração → Chaves de API → Criar
- 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)
| Endpoint | Função |
|---|---|
POST /api/v1/auth/partner/login | Login + senha → chave de sessão |
POST /api/v1/auth/partner/logout | Revoga a chave de sessão |
| Onboarding | Solicitaçã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.
| Endpoint | Função |
|---|---|
POST /api/v1/auth/developer/register | Criar uma conta + primeira chave |
POST /api/v1/auth/developer/login | Sessão do painel |
GET/POST /api/v1/dev/api-keys | Gerenciar 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).