Disponível · Motor HMAC-SHA256
KambaSMS / SMS + OTP

SMS transacional e OTP criptográfico para +244.

Entrega notificações críticas com o teu Sender ID aprovado ou emite códigos OTP de 6 dígitos com verificação HMAC-SHA256, consumo único e webhooks DLR em tempo real na Unitel, Movicel e Africell.

POST /otp/send1 CRÉDITO · VERIFY GRÁTIS
POST /otp/send
X-API-Key: kamba_live_...
Idempotency-Key: login-9f8c4b2a

{
  "phone": "+244923000000"
}

→ 200 OK · otp_id: "9f8c...4b2a" · expires_in: 300
Histórico guarda [OTP ocultado] · Nunca texto simples+244 E.164
01Segurança e limites empresariais

Arquitetura preparada para verificação crítica e operações B2B.

Cada envio OTP ou SMS passa por validação estrita de Sender ID da conta, reserva atómica de crédito, proteção criptográfica e limites isolados.

01 · HMAC-SHA256

Zero códigos em texto simples

Os códigos OTP são validados por HMAC-SHA256 vinculado à tua conta, ambiente e número. O histórico mostra [OTP ocultado].

02 · 5 MIN · 5 ATTEMPTS

Uso único e bloqueio de força bruta

Validade estrita de 5 minutos, consumo transacional de uso único e invalidação imediata após 5 tentativas incorretas.

03 · 60 SEND / 120 CHECK

Limites isolados por conta e função

Capacidade dedicada de 60 envios/min e 120 verificações/min por chave autenticada, além da proteção de 3 OTP/hora por número.

04 · DLR · WEBHOOKS

Rastreio ponta a ponta e DLR assinado

Correlação entre request_id, reserva de crédito e relatório de entrega das operadoras com webhooks assinados em HMAC-SHA256.

Prévia · vídeo de exemplo

Vê SMS e OTP em funcionamento.

Prepara o Sender ID, revê os créditos necessários e acompanha o resultado do envio.

SMS e OTP
Exemplo
  1. 01Prepara o Sender ID
  2. 02Revê mensagem e créditos
  3. 03Envia e acompanha

Vídeo de exemplo temporário para avaliar o leitor. Será substituído pela demonstração do produto.

02Escolhe o fluxo

SMS, OTP e Verify resolvem partes diferentes da comunicação.

Os três partilham o mesmo saldo de créditos (1 crédito por segmento SMS aceite, 0 créditos na confirmação do código).

01 // SMS_DIRECT

SMS Transacional

Tu defines o conteúdo completo da mensagem (até 160 caracteres por segmento GSM-7) com o teu Sender ID aprovado.

Indicado para

Confirmações de faturas, recibos, alertas operacionais e lembretes.

POST /messages/send

1 crédito por segmento SMS aceite

Explorar
02 // OTP_HMAC

OTP Seguro (HMAC)

A KambaSMS gera o código de 6 dígitos com RNG criptográfico, guarda apenas o hash HMAC-SHA256 e valida em /otp/verify.

Indicado para

Login em 2 passos, validação de operações e recuperação de palavra-passe. Para gerir segundo fator completo, consulta Authenticator.

POST /otp/send → /otp/verify

1 crédito no envio · Verificação 0 créditos

Explorar
03 // VERIFY_SESSION

Kamba Verify

Sessão de verificação atómica com suporte a reenvio controlado (/verify/resend), token único e histórico de eventos.

Indicado para

Onboarding de contas e fluxos que exigem reenvio gerido em duas chamadas.

POST /verify/start → /verify/check

1 crédito por código enviado · Check gratuito

Explorar
03Contactos, listas e modelos

Guarda os contactos uma vez. Reutiliza quando precisares de comunicar.

O dashboard permite manter uma agenda transacional privada, organizar destinatários em listas e usá-los em envios individuais ou em massa. Gerir contactos não envia mensagens nem consome créditos.

Gerir contactos
01

Cria ou importa

Adiciona contactos individualmente ou importa um CSV com nome, telefone e dados opcionais da empresa.

02

Organiza em listas

Agrupa destinatários por operação, serviço ou finalidade transacional para reutilizar depois.

03

Usa no envio

Escolhe um contacto para um SMS ou carrega uma lista ativa no Bulk. Contactos bloqueados são excluídos.

04Mensagens reutilizáveis

Menos repetição. Uma mensagem personalizada para cada contacto.

Guarda confirmações, lembretes e alertas como modelos. Aplica-os no envio individual ou no Bulk e edita o rascunho antes de enviar. Gerir modelos não consome créditos.

O cálculo de segmentos mostra o custo exato em créditos antes do envio (160 caracteres GSM-7 por segmento).

Gerir modelos

Modelo guardado

Olá {{nome}}, a tua marcação está confirmada para {{data}}. Referência: {{referencia}}.

{{nome}}{{empresa}}{{data}}{{referencia}}

Prévia final · 1 segmento

Olá Ana, a tua marcação está confirmada para amanhã às 10h. Referência: AG-204.

05Antes do primeiro envio

Uma preparação curta, com responsabilidades claras.

A KambaSMS cuida da validação, encaminhamento e registos. A tua empresa continua responsável pela relação com o destinatário e pelo propósito da mensagem.

01

Solicita um Sender ID

3 a 11 caracteres alfanuméricos da tua marca, sujeitos a aprovação.

02

Escolhe dashboard ou API

Envia manualmente pelo dashboard ou integra via API REST com Idempotency-Key.

03

Usa conteúdo esperado

Apenas mensagens transacionais, sem spam, promoções ou links enganosos.

04

Respeita os limites

As quotas por conta e por número protegem destinatários e rotas das operadoras.

06O que acontece depois do envio

Cada pedido aceite deixa um registo.

O dashboard e a API expõem request_id, message_id e estados operacionais. O estado de entrega confirma o evento reportado pela rede; códigos OTP ficam sempre mascarados como [OTP ocultado].

01 · ACCEPTED

Aceite e rastreado

A validação passou, a reserva de crédito foi ligada ao ID do fornecedor e o envio entrou em curso.

02 · DLR & WEBHOOK

Atualizações de estado assinadas

O histórico e os webhooks HMAC-SHA256 refletem os eventos delivered ou failed da operadora.

03 · SAFE BILLING

Sem débito indevido

Pedidos rejeitados por validação ou quota antes do envio ao fornecedor nunca consomem créditos.

Próximo passo

Testa sem risco e depois passa para produção.

Usa a Sandbox OTP v2 para testar expiração, tentativas e consumo único a custo zero, ou consulta a documentação completa da API.

Antes de integrar

SMS e OTP: o que precisas de saber.

Consulta os requisitos, as regras de consumo e o âmbito do serviço antes de ativar a integração. A documentação contém os contratos completos da API.

Como tratar um limite de pedidos?

Se receberes HTTP 429, respeita o cabeçalho Retry-After quando estiver presente. Evita repetir em ciclo. Os limites de pedidos, o saldo e as quotas de OTP são controles distintos. Um timeout de envio pode ter resultado desconhecido: consulta a operação original antes de tentar um novo envio.

A página de status garante a entrega?

A página apresenta incidentes reportados manualmente. A ausência de incidentes não comprova disponibilidade ou entrega. Para SMS, aceite pelo fornecedor, entregue segundo DLR e código verificado são estados distintos; no sandbox não existe entrega real.

O que preciso para começar?

Cria a conta, solicita um Sender ID que represente a tua marca e aguarda aprovação. Para integrar, mantém a chave API no teu servidor e usa números no formato +244 seguido de nove dígitos. O uso é exclusivamente transacional.

Como funciona o consumo?

O pacote atual tem 50 créditos por 6.000 Kz. Cada segmento SMS aceite consome um crédito; o tamanho e a codificação do texto final podem exigir vários segmentos. O OTP curto padrão usa um crédito por envio real. Confirmar o código não consome outro crédito; um novo envio volta a consumir saldo.

Quais são os limites e o âmbito?

O OTP simples tem validade de cinco minutos, até cinco tentativas por pedido e limite de três pedidos por hora por conta e número, incluindo pedidos cancelados após recusa. A verificação exige autenticação no teu backend; recomendamos usar o otp_id devolvido. O histórico oculta o código. No OTP, o Sender ID tem de estar aprovado e ativo na conta; se usares Bearer com vários remetentes, seleciona um explicitamente. Os limites da API também se aplicam. Agendamento e envio em massa exigem a primeira recarga SMS aprovada. Para um segundo fator associado a uma conta e prova de uso único, consulta o Authenticator.

O que devo verificar se algo falhar?

Consulta o ID e o estado do pedido antes de reenviar. Um pedido aceite não prova entrega; um estado entregue não prova leitura. Se o resultado for incerto ou houver timeout, consulta o histórico antes de criar outro envio. A Sandbox simula respostas e não mede a rede real.

Precisas de ajuda? Indica o produto, horário, ID do pedido e uma descrição do problema. Não partilhes chaves API, códigos OTP ou conteúdo pessoal das mensagens. Para capacidade ou compromissos específicos da conta, confirma as condições com o suporte.