Referência API
Pedir OTP configurado
Inicia desafio de conta com canal ativo e regista validade e entrega.
https://api.sparkglim.net/api/white-label/portal/reseller/otp/sendModelo de acesso
- Modelo de acesso
- Sessão SparkGlim e permissões de membro
- Âmbito necessário
otp:send- Disponibilidade documentada
- Implementado no código
Disponibilidade verificada no código, sem garantia de produção.
Use o fluxo de membros da equipa Criador. A revenda não concede acesso ilimitado à base ou administração.
Cabeçalhos
| Nome | Tipo | Validação |
|---|---|---|
AuthorizationObrigatórioSessão Bearer SparkGlim existente; associação e capacidades atribuídas autorizam cada operação no servidor. | string | Validação: Token Bearer de uma sessão autenticada existente. |
Pedido
| Nome | Tipo | Validação |
|---|---|---|
channelObrigatórioCanal de entrega ou integração suportado pela operação e configuração ativa. | enum | Validação: sms | email | whatsapp. |
recipientObrigatórioContacto destinatário de notificação permitida ou desafio de verificação. | string | Validação: 3–255. |
purposeObrigatórioFinalidade de verificação suportada, vinculada à conta e desafio OTP. | enum | Validação: login | signup | withdrawal_approval | payment_method_verification | campaign_approval. |
memberIdOpcionalRelação ou revisão existente da conta; propriedade e capacidades são verificadas no servidor. | string|null | Validação: UUID. |
metadataOpcionalMetadados JSON aceites; nunca substituem autorização, preços ou propriedade. | object | Validação: Objeto JSON. |
Pedido
Os exemplos descrevem o contrato e não são executados. Use registos de teste autorizados; nunca cole segredos reais aqui.
POST /api/white-label/portal/reseller/otp/send HTTP/1.1
Host: api.sparkglim.net
Authorization: Bearer <EXISTING_SESSION_TOKEN>
Content-Type: application/json
{
"channel": "email",
"recipient": "member@example.com",
"purpose": "login"
}Resposta
{
"success": true,
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"status": "pending",
"expiresAt": "2030-01-01T00:10:00.000Z",
"source": "sms_verification_codes"
}
}{
"success": false,
"error": "<ERROR_MESSAGE>"
}Validação, permissões, registos indisponíveis e falhas usam estado HTTP e erro do controlador.
Limites e novas tentativas
Limite padrão: 100 pedidos por IP em 60 segundos. Aplicam-se também controlos específicos.
Compatibilidade do código
As operações autorizadas exigem testes específicos da conta.
server/src/api/router.tsserver/src/api/routes/white-label.tsserver/src/white-label/reseller-service.tsserver/src/white-label/schemas.ts