Confirmações de entrega e SMS recebidos
O que chega ao seu endereço
O BulkGate comunica-lhe duas coisas: como terminaram as mensagens enviadas e o que as pessoas responderam. Ambas chegam como um pedido HTTP para o endereço que definiu.
| O que chega | Como o reconhece |
|---|---|
| Relatório de entrega | O parâmetro status com um código de estado e o smsID da mensagem enviada |
| SMS recebido ou resposta | O parâmetro status com o valor 10, o remetente em from e o texto em message |
O pedido chega por HTTP GET, pelo que encontra os valores na query string.
Com volumes elevados compensa a variante em massa: em vez de um pedido por mensagem, chega um único pedido POST com um array de registos em JSON. Está descrita em Confirmações de entrega em massa.
Onde se define o endereço
O endereço é definido por si no detalhe da sua aplicação — no separador Definições,
na parte Web hooks, no cartão Relatórios de entrega. O campo Relatórios de entrega de URL da janela que se abre aceita um endereço que comece por http://
ou https://.

Deixe a caixa de verificação DLRs em massa - solicitação em massa desmarcada —
com ela, a entrega passa a ser feita em lotes enviados por POST e aplica-se, em
vez desta, a página
Confirmações de entrega em massa.
Todo o procedimento, incluindo as restantes opções, está descrito na página Webhooks.
Parâmetros do relatório de entrega
| Parâmetro | Valor |
|---|---|
status |
O código de estado da mensagem — consulte os estados de entrega |
smsID |
O ID único da mensagem |
price |
O preço da mensagem em créditos |
channel |
O canal por onde a mensagem passou (sms, viber, whatsapp, rcs e outros) |
date |
A hora de envio e a hora de entrega separadas por ponto e vírgula, no fuso horário CET |
O valor date tem a forma YYMMDDHHMM;YYMMDDHHMM — por exemplo,
1812141317;1812141318 significa enviada a 14 de dezembro de 2018 às 13:17 e
entregue um minuto depois.
Parâmetros da mensagem recebida
Quando status tem o valor 10, não se trata de um relatório de entrega, mas de
uma mensagem do destinatário. Chega com um conjunto diferente de parâmetros:
| Parâmetro | Valor |
|---|---|
status |
Sempre 10 |
from |
O número de telefone do remetente |
to |
O número de telefone do destinatário, ou seja, o seu número |
message |
O texto da mensagem em UTF-8 |
channel |
O canal por onde a mensagem chegou |
smsdetails |
Detalhes, incluindo o protocolo utilizado e a hora de receção |
Estados de entrega
| Código | Significado |
|---|---|
1 |
A mensagem foi entregue |
2 |
A mensagem está em fila do lado do operador — o destinatário está de momento indisponível e a entrega será repetida |
3 |
Não foi possível entregar a mensagem — o destinatário é desconhecido ou está permanentemente indisponível |
10 |
Uma mensagem recebida ou uma resposta, não um relatório de entrega |
13 |
A mensagem foi lida (apenas Viber) |
O estado 2 não é final — mais tarde chega, para a mesma mensagem, outro pedido
com o estado resultante. Conte com ver o mesmo smsID mais do que uma vez.
Um exemplo de processamento
O script distingue um relatório de entrega de uma mensagem recebida pelo status e
escreve cada um no seu próprio log:
O endereço tem de responder rapidamente e com o código de estado 200. Um
processamento lento ou com falhas atrasa a entrega dos relatórios seguintes — por
isso, passe qualquer trabalho pesado para uma fila e confirme o pedido de imediato.
Obrigado pelo seu feedback.