# SmsConsentCheckResultDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Result of a send-time pre-check: whether SMS may be sent to a phone number for a merchant scope.
A send UI uses this to disable the SMS channel for an opted-out recipient before the operator sends
(e.g. the invoice pay-link send dialog).

## Fields
- `phoneNumber` (string): The E.164-normalized number the check was resolved against. Empty when the input could not be normalized. (nullable)
- `merchantId` (string(uuid)): Merchant scope the check was evaluated in. (nullable)
- `hasRecord` (boolean): `true` when a consent record exists for this number in scope.
- `status` ([SmsConsentStatus](https://devportal.demo.winkpg.io/docs/api/models/SmsConsentStatus.md)): The record's current status, or `null` when no record exists. (nullable)
  Values:
  - `OptedIn`: The recipient has expressly consented to receive SMS from this merchant. Sends are allowed.
  - `OptedOut`: The recipient has revoked consent (STOP keyword, carrier unsubscribe, or an operator action). The send-time gate blocks every SMS to this number for this merchant until a re-opt-in is recorded.
- `isOptedOut` (boolean): `true` when the recipient has opted out: the SMS channel should be disabled.
- `canSendSms` (boolean): `true` when a send is currently allowed by the consent store. This is the inverse of  `isOptedOut`: no record and opted-in both allow. (Whether express consent is  <em>required</em> before the first send is a caller policy decision, not enforced here.)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
