Recebimento de Entrega (DLR)
Recebimento de Entrega (DLR), também conhecido como Relatório de Status de Entrega de SMS. É um serviço para desenvolvedores obterem programaticamente o status da entrega de SMS, a Unimatrix suporta o envio proativo de relatórios de status de SMS via Webhook.
Configurações
Esta funcionalidade é um serviço de extensão e não está habilitada por padrão. Por favor, vá para Extensões - Recebimento de Entrega no Console para configurar de acordo com suas necessidades reais.

Defina a URL do Webhook para receber relatórios de status e especifique o formato de dados do corpo da solicitação que você precisa receber, suportando JSON
ou XML
, padrão é JSON
. Isso completa a configuração básica e está pronto para acesso.
Integração
A Unimatrix enviará uma solicitação HTTP para a URL do Webhook que você definiu com o método POST
, com o corpo da solicitação em formato JSON
por exemplo.
Corpo da Solicitação
Nome | Tipo | Descrição | Exemplo |
---|---|---|---|
id | string | ID da Mensagem | 78c038133e6ac2b6d8a0844c42f57dac |
status | string | Status | entregue |
to | string | Número de telefone do destinatário (E.164) | +12060000123 |
iso | string | Código do país (iso2) | US |
cc | string | Código do país (Prefixo internacional) | 1 |
parts | integer | Número de partes da mensagem | 1 |
price | string | Quantia consumida | 0.018900 |
currency | string | Moeda de faturamento | USD |
errorCode | string | Código de retorno | DELIVRD |
errorMessage | string | Mensagem de retorno | Entregue |
submitDate | string | Data de envio (ISO 8601) | 2021-08-29T00:19:17.702Z |
doneDate | string | Data de conclusão (ISO 8601) | 2021-08-29T00:19:20.011Z |
O conteúdo de exemplo é o seguinte:
{
"id": "78c038133e6ac2b6d8a0844c42f57dac",
"status": "delivered",
"to": "+12060000123",
"iso": "US",
"cc": "1",
"parts": 1,
"price": "0.018900",
"currency": "USD",
"errorCode": "DELIVRD",
"errorMessage": "Delivered",
"submitDate": "2021-08-29T00:19:17.702Z",
"doneDate": "2021-08-29T00:19:20.011Z",
}
Resposta
Uma resposta com o Código de Status HTTP 200
é considerada um relatório de status bem-sucedido, e a Unimatrix não realiza verificações adicionais sobre a carga da resposta.
Verificação de assinatura
Para proteger ainda mais seus dados, a Unimatrix suporta a configuração de assinaturas para verificar que as solicitações de Webhook vêm da Unimatrix e que os dados não foram adulterados durante a transmissão. Basta habilitar "Verificação de Assinatura" na página de configurações e definir a chave de assinatura (Secret).

Quando a verificação de assinatura estiver habilitada, a Unimatrix incluirá o campo Authorization
no cabeçalho da solicitação de Webhook com o valor construído no formato UNI1-HMAC-SHA256 Timestamp={unix_epoch}, Nonce={nonce_str}, Signature={signature}
, conforme mostrado no exemplo a seguir:
Authorization: UNI1-HMAC-SHA256 Timestamp=1630196360, Nonce=84100f131d7096ee, Signature=W7MNfb0bxRTfgPsxP9rOoZuNLm9+hkY68f/sq9TyHS8=
Extraia os campos Timestamp
, Nonce
e converta seus nomes de campo para minúsculas e adicione-os à carga útil da solicitação, ordene-os em ordem alfabética (ASC) de acordo com a chave do parâmetro, conecte os Valores-Chave com =
e os pares de parâmetros com &
para formar o texto da string a ser assinada, exemplo é como segue:
cc=1¤cy=USD&doneDate=2021-08-29T00%3A19%3A20.011Z&errorCode=DELIVRD&errorMessage=Entregue&id=78c038133e6ac2b6d8a0844c42f57dac&parts=1&nonce=84100f131d7096ee&price=0.018900&iso=US&status=entregue&submitDate=2021-08-29T00%3A19%3A17.702Z×tamp=1630196360&to=%2B12060000123
Usando o algoritmo HmacSHA256, uma assinatura é gerada sobre o texto da string a ser assinada com a chave de assinatura definida (Secret), e a saída é uma string Base64, como mostrado no exemplo a seguir:
W7MNfb0bxRTfgPsxP9rOoZuNLm9+hkY68f/sq9TyHS8=
O valor Signature
extraído de Authorization
é comparado com a assinatura gerada, e a verificação é bem-sucedida se corresponder.
Teste simulado
Para integração rápida por desenvolvedores, a Unimatrix gentilmente forneceu funcionalidade de teste simulado. Você pode enviar solicitações de DLR construídas de forma simulada diretamente para o servidor alvo através do console.
Re-envio
Após a primeira tentativa falha de envio do relatório de status, a Unimatrix ainda re-enviará a mensagem para a URL alvo até que o envio seja bem-sucedido ou o número máximo de envios seja excedido. O intervalo de re-envio é de 1 minuto
, 5 minutos
, 10 minutos
, 30 minutos
, 1 hora
.