Messaging Opted-out Numbers

Si intentas enviar un mensaje a un número que ha optado por no recibir mensajes del número que está enviando de, se bloqueará el envío del mensaje y recibirás una respuesta de error en el acuse de recibo (SMS API) o en el webhook de estado (Messages API).

SMS API

Si intenta enviar un mensaje SMS a través de la SMS API donde el número establecido como el to El número ha optado por no recibir mensajes del número establecido como from, en un primer momento deberías recibir una respuesta HTTP con un código de estado de 200y status campo del cuerpo de la respuesta con un valor de 0. Esto indica que el mensaje se ha enviado correctamente enviado para la entrega. Sin embargo, posteriormente debería recibir un POST a la dirección del webhook que haya configurado para recibir recibos de entrega. El cuerpo de la solicitud contendrá un status campo con un valor de failed o rejected, y un err-code campo con un valor de 9. Este código de error indica que el usuario ha solicitado no recibir mensajes del número remitente.

Ejemplo de texto del cuerpo de un albarán 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

Si intenta enviar un mensaje SMS o MMS a través de la Messages API donde el número establecido como a el to El número ha optado por no recibir mensajes del número establecido como from, en un primer momento deberías recibir una respuesta HTTP con un código de estado de 202y message_uuid en el cuerpo de la respuesta con un valor para el UUID único del mensaje. Esto indica que el mensaje se ha enviado correctamente enviado para la entrega. Sin embargo, posteriormente debería recibir un POST a la dirección del webhook que haya configurado para recibir webhooks de estado. El cuerpo de la solicitud contendrá un message_uuid con un valor idéntico al UUID de la respuesta HTTP inicial. El cuerpo de la solicitud también contendrá un status campo con un valor de rejected un campo de error que contiene un objeto con los detalles de por qué El mensaje ha sido rechazado. En este caso, el objeto debería tener un title campo código de error de 1240. Esto indica que el usuario ha solicitado no recibir mensajes del número remitente.

Ejemplo del cuerpo de un webhook de estado de mensaje

{
   "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"
   }
}