# Sending SMSes using NRIC

{% hint style="warning" %}
This feature is only available to selected users who were previously using Notify.&#x20;

\
If you did not receive an invitation by the Postman team to use this endpoint, you **will not** be able to use this feature.&#x20;
{% endhint %}

### **What is this feature about?**

This feature enables agencies to send messages to recipients using their NRIC instead of phone numbers, supporting the transition from Notify to Postman. Previously, some agencies relied on Notify for message delivery when they only had access to recipients' NRICs.

Authorised users can make API calls to Postman by providing the recipient's NRIC. The system will retrieve the associated phone number and deliver the message to the recipient. Users can expect the same experience they had with Notify.

This feature is exclusively available for authorised users, only through the Postman API.

### Does this guarantee my messages will be sent to the recipient, as long as I have their NRIC?

No.

If the recipient does not have a phone number mapped to his/her NRIC in Singpass, no messages will be sent to the recipient even if you have their NRIC.

### Release Schedule

**Test Environment**&#x20;

The API specifications and feature will be available in Postman's test environment after April 20, 2025.

**Production Environment**&#x20;

The target release date is June 2025, subject to potential delays.

### Is there anything I will need to do before the release of this feature

Existing Notify users should have already received an email containing specific instructions and a form. You must complete this form before accessing the new feature in Postman's test environment.

### What this does?

<figure><img src="/files/smUvkCycgAZFmNGuDWUJ" alt=""><figcaption></figcaption></figure>

In Postman's test database, we will create a simulated database mapping unique identifiers to mobile numbers. These unique identifiers are designed to simulate NRIC-to-mobile number mapping, but they are not actual NRIC numbers.

When a form is submitted, Postman will assign a unique identifier to each submitted phone number in our test environment. Once this process is complete, we will inform agencies of the mapping.

When you make an API request using one of these unique identifiers, we will send a message to the corresponding phone number.

However, when calling our endpoints with a real NRIC, no message will be sent, as the test environment does not have real NRIC data; users should only call the unique identifier provided to them.

#### Attributes (sending SMSes using NRIC)

**recipient** (send smses using nric, mandatory)

***

To trigger a message to be sent to a mobile number when the recipient’s NRIC is provided, you will need to make some changes to the `recipient` attribute

<table><thead><tr><th width="136.72265625">recipient</th><th width="168.078125">input</th><th>Remarks</th></tr></thead><tbody><tr><td>value</td><td><code>SXXXXXXXA</code></td><td>The recipient’s NRIC number, <strong>case sensitive</strong></td></tr><tr><td>type</td><td><code>nric</code></td><td>Explanation of the value</td></tr></tbody></table>

Refer to [this page](#attributes-sending-smses-using-nric) for more information.

### Endpoints (sending SMSes using NRIC)

{% code title="Endpoint: Sending SMS using NRIC" %}

```
POST /campaigns/:campaignId/messages
```

{% endcode %}

{% hint style="warning" %}
Test environment:

The `value` should be the **unique identifier** assigned to the phone number you have previously submitted.

If the `value` used in our test environment is a real NRIC, no message will be sent out and a HTTP 400 error will be returned instead.
{% endhint %}

{% code title="Example request body" %}

```json
{
  "recipient": {
	  "value": "SXXXXXXXA",
	  "type": "nric"
  },
 // request below is the same as that of existing single send endpoint
  "language": "english",
  "values": {
      "name": "John Doe",
      "fruit": "apple"
  }
}
```

{% endcode %}

{% code title="Example response body" %}

```json
{
    "createdAt": "2024-01-29T17:39:35.574+08:00",
    "updatedAt": "2024-01-29T17:39:35.574+08:00",
    "id": "<YOUR_GENERATED_MESSAGE_ID>",
    "recipient": "6511111111",
    "values": {
        "name": "John Doe",
        "fruit": "apple"
    },
    "fullMessage": "<YOUR_FULL_MESSAGE>",
    "latestStatus": "created",
    "templateBodyId": "<YOUR_TEMPALTE_BODY_ID>",
    "campaignId": "<YOUR_CAMPAIGN_ID>",
    "language": "english"
}
```

{% endcode %}

If there is no NRIC mapped to the provided phone number, [HTTP 400](/general-notes-for-api-users/api-errors.md#attributes) will be returned with the following response body.

{% code title="Example error response body" %}

```json
  "code": "nric_mobile_not_found",
  "message": "Recipient does not have a mobile number mapping",
  "type": "domain_error", 
  "id": "..." // Tracking ID to be provided to Postman team for inquiries
```

{% endcode %}

The following diagram illustrates how the message is created on Postman and sent to recipients.

<figure><img src="/files/Y4rwTA8NNu9LuQXdHM5I" alt=""><figcaption><p>Sending SMSes using NRIC in Postman production environment</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://postman-v2.guides.gov.sg/sending-smses-using-nric.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
