Status de envio (Callback e DLR)
Existem duas maneiras de obter os status de envio das mensagens, são elas:
Webhook - Receber os status em um webservice de sua empresa (recomendado)
Assim que entregamos a mensagem na operadora, ou assim que a operadora nos informa se entregou a mensagem no aparelho, a informação é repassada instantaneamente para você.
API de consulta - Fazer requisições de consulta em nossa API sms-status.
Os status ficam disponíveis por 3 dias, e podem ser consultados pelo UUID que a Sinch retornou ao receber a mensagem de sua empresa, ou pelo ID que sua empresa recebeu ao entregar a mensagem para a Sinch. A desvantagem desta opção de consulta ao invés de webhook, é que você fará requisições de consulta de um ID que pode ainda não ter sido entregue na operadora ou no aparelho, neste caso, uma série de requisições desnecessárias serão feitas. Por exemplo, se um usuário estava com o aparelho desligado quando você enviou uma mensagem para ele, e ligou 2 horas depois, você ficará consultando este ID inúmeras vezes por duas horas. E no caso da utilização de um webhook, esta informação seria enviada para você assim que fosse entregue no aparelho, sem requisições vazias.
IMPORTANTE! As consultas de status possuem rate-limit de 1 requisição por segundo por endereço IP. Requisições além deste limite são respondidas com o código de status HTTP 429.
Status via webhook (entrega em seu webservice)
Para configurar o envio dos Callbacks e DRs (dúvida sobre os termos consulte a aba Termos Importantes) primeiramente é necessário logar no Sinch Messaging nas configurações da API, no formulário de configuração você poderá fornecer as URLs para onde serão enviado os status de envio (Callbacks) e os status de confirmação do aparelho (DRs)
Após a inclusão de seu webhook no portal acima, as configurações serão replicadas para nossa plataforma em até 10 minutos, e chamaremos sua URL quando as seguintes ações ocorrem:
Depois que uma mensagem for entregue ou não, na operadora
API de status de envio (callback)
Quando uma mensagem for entregue ou não, no aparelho do cliente
API de Delivery Report (DRs)
Campos JSON resposta Callbacks (sent status)
id
UUID gerado da mensagem
correlationId
Sua identificação desta mensagem
carrierId
Identificador da operadora
carrierName
Nome da operadora
destination
Número de telefone da mensagem enviada
sentStatusCode
Código de status gerado pelo Sinch para mensagem indicando o status de envio. Verifique em códigos de status para mais informações
sentStatus
Descrição do status de envio. Verifique em códigos de status para mais informações
sentAt
Hora do envio, formato utilizado é o Unix_time
sentDate
Data que a mensagem foi enviada. Formato: yyyy-MM-dd’T'HH:mm:ssZ
campaignId
Identificador de campanha caso exista
extraInfo
Qualquer informação extra adicionada pelo cliente no envio da mensagem
multipartCount
Total de partes que teve o disparo
partId
O UUID da parte da mensagem enviada a operadora
part
O número da parte enviada a operadora
Exemplo JSON Status de Envio (callback - entrega na operadora)
Campos JSON resposta Delivery Reports (DRs)
id
UUID gerado da mensagem
correlationId
Sua identificação desta mensagem
carrierId
Identificador da operadora
carrierName
Nome da operadora
destination
Número de telefone da mensagem enviada
sentStatusCode
Código de status gerado pela Sinch para mensagem indicando o status de envio. Verifique em códigos de status para mais informações
sentStatus
descrição do status de envio. Verifique em códigos de status para mais informações
sentAt
Hora do envio, formato utilizado é o Unix_time
sentDate
Data que a mensagem foi enviada. Formato: yyyy-MM-dd’T'HH:mm:ssZ
deliveredStatusCode
Código de status gerado pelo Sinch para mensagem indicando o status de envio. Verifique em códigos de status para mais informações
deliveredStatus
descrição do status de envio. Verifique em códigos de status para mais informações
deliveredAt
Hora do envio, formato utilizado é o Unix_time
deliveredDate
Data que a mensagem foi enviada. Formato: yyyy-MM-dd’T'HH:mm:ssZ
campaignId
Identificador de campanha caso exista
extraInfo
Qualquer informação extra adicionada pelo cliente no envio da mensagem
Consulta Status via requisição HTTP
Para obter uma lista dos status ainda não consultados, você pode fazer uma solicitação GET para o URL abaixo:
GET https://api-messaging.wavy.global/v1/sms/status/list
Observe que este endpoint retorna apenas os status ainda não retornados por este endpoint.
Resposta
Campos JSON de resposta:
id
UUID gerado na requisição para a mensagem
String
correlationId
Mesmo correlationId da requisição
String
carrierId
ID da operadora, para mais informações consulte código de erro
Long
carrierName
Nome da operadora
String
destination
Número de telefone da mensagem enviada
String
sentStatusCode
Código de status enviado. Verifique os códigos de status enviados para obter mais informações
Long
sentStatus
Código de status enviado. Verifique os códigos de status enviados para obter mais informações
String
sentStatusAt
Quando a mensagem foi enviada. É uma data de época
Long
sentStatusDate
Quando a mensagem foi enviada. Formato aaaa-MM-dd’T'HH:mm:ssZ. Formato de data com hora e fuso horário (ISO 8601)
String
deliveredStatusCode
Código de status entregue. Verifique os códigos de status entregues para obter mais informações
Long
deliveredStatus
Código de status entregue. Verifique os códigos de status entregues para obter mais informações
String
deliveredAt
Quando a mensagem foi enviada. É uma data de época
Long
deliveredDate
Quando a mensagem foi enviada. Formato aaaa-MM-dd’T'HH:mm:ssZ. Formato de data com hora e fuso horário (ISO 8601)
String
campaignId
Identificador de campanha
Long
extraInfo
Qualquer informação extra definida pelo usuário quando a mensagem foi enviada
String
Exemplo JSON Delivery Report (DR ou DLR - Entrega no aparelho do usuário)
Last updated
Was this helpful?