Opt-outs you can see
recipient_opted_out: a send to an opted-out number now answers403with its own code (it was the genericforbidden) and says when and how the person opted out, in the message and asopted_out_at,opted_out_viaandopted_out_method.failure.codeis stillopted_out. If you matched onforbiddenfor this case, match the new code.message.blocked: every refused send emits an event and webhook, is noted in the number's consent history, and is counted onGET /v1/consent/{phone}(blocked_sends,last_blocked_at).message.help_requested: emitted when a recipient texts HELP.- Replies in your name: STOP, START and HELP replies now name your business, and a registered number sends exactly the replies its registration filed, with your support contact. They used to name Delivered.
- START is confirmed: someone who was opted out gets one "you are resubscribed" reply. A repeat STOP no longer sends a second confirmation.
consent.get()is also available ascontacts.consent(phone)in the Node and Python SDKs.- The suppression list fails closed: if it cannot be read, a send
answers
503withRetry-Afterinstead of going out unchecked.