# SMS subscription

The Batch React-Native Plugin allows you to:

* Add and remove phone number from a user profile. The profile will automatically be created if needed.
* Edit a profile's marketing subscription for the SMS channel.

{% hint style="info" %}
In order to set a phone number and subscription status on a profile, the [creation of a project](https://doc.batch.com/getting-started/other/overview-guides/98-send-emails-with-batch#create-a-project) is required. If no project is set up, any calls made for these actions will be ignored.
{% endhint %}

Here is how to set a phone number with a marketing subscription:

```javascript
import { BatchProfile, BatchSMSSubscriptionState } from '@batch.com/react-native-plugin';

// This requires to have a custom user ID registered 
// by calling the `identify` method beforehand.
BatchProfile.editor()
    .setPhoneNumber("+33123456789") // Null to erase. A valid E.164 phone number.
    .setSMSMarketingSubscription(BatchSMSSubscriptionState.SUBSCRIBED) // or BatchSMSSubscriptionState.UNSUBSCRIBED
    .save();
```

{% hint style="warning" %}
The phone number must be an [E.164](https://en.wikipedia.org/wiki/E.164) formatted string starting with a `+` and not longer than 15 digits without any special characters. It should match the following regular expression : `^\+[0-9]{1,15}$`
{% endhint %}
