Envio de mensagens para números que optaram por não receber mensagens

Se você tentar enviar uma mensagem para um número que optou por não receber mensagens do número do qual você está enviando de, o envio da mensagem será bloqueado e você receberá uma resposta de erro no Confirmação de Entrega (SMS API) ou no Webhook de Status (Messages API).

SMS API

Se você tentar enviar uma mensagem SMS por meio da SMS API onde o número definido como o to O número optou por não receber mensagens do número definido como from, você deve receber inicialmente uma resposta HTTP com um código de status de 200, e status campo no corpo da resposta com o valor de 0. Isso indica que a mensagem foi enviada com sucesso enviado para entrega. No entanto, você deverá receber posteriormente um POST solicitação enviada para o endereço do webhook que você configurou para receber comprovantes de entrega. O corpo da solicitação conterá um status campo com o valor de failed ou rejected, e um err-code campo com o valor de 9. Isso código de erro indica que o usuário solicitou não receber mensagens do número remetente.

Exemplo de corpo do comprovante de entrega

{
   "msisdn": "447700900000",
   "to": "AcmeInc",
   "network-code": "12345",
   "messageId": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
   "price": "0.00000000",
   "status": "failed",
   "scts": "2001011400",
   "err-code": "9",
   "api-key": "abcd1234",
   "message-timestamp": "2020-01-01 12:00:00"
}

Messages API

Se você tentar enviar uma mensagem SMS ou MMS por meio da Messages API onde o número definido como a to O número optou por não receber mensagens do número definido como from, você deve receber inicialmente uma resposta HTTP com um código de status de 202, e message_uuid campo no corpo da resposta com um valor correspondente ao UUID exclusivo da mensagem. Isso indica que a mensagem foi enviada com sucesso enviado para entrega. No entanto, você deverá receber posteriormente um POST solicitação enviada para o endereço do webhook que você configurou para receber webhooks de status. O corpo da solicitação conterá um message_uuid campo com um valor idêntico ao UUID da resposta HTTP inicial. O corpo da solicitação também conterá um status campo com o valor de rejected um campo de erro contendo um objeto com detalhes sobre por que A mensagem foi rejeitada. Nesse caso, o objeto deveria ter um title campo código de erro de 1240. Isso indica que o usuário solicitou não receber mensagens do número remetente.

Exemplo de corpo de um webhook de status de mensagem

{
   "message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
   "to": "447700900000",
   "from": "447700900001",
   "timestamp": {},
   "status": "rejected",
   "error": {
      "type": "https://developer.vonage.com/api-errors/messages-olympus#1240",
      "title": 1240,
      "detail": "Illegal Number - You tried to send a message to a blocklisted phone number. That is, the user has already sent a STOP opt-out message and no longer wishes to receive messages from you.",
      "instance": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
   },
   "usage": {
      "currency": "EUR",
      "price": "0.0000"
   },
   "client_ref": "string",
   "channel": "sms",
   "destination": {
      "network_code": "12345"
   },
   "sms": {
      "count_total": "1"
   }
}