# OTP SMS

Using OTP API you can send high priority messages that are delivered to black listed numbers.

This api provides a default template for sending messages and only  appName and code can be customized.

Template format:

```
به {appName} خوش آمدید
 کد یکبار مصرف  شما: {code}
```

The appName and the code is required and must be provided when calling the api.&#x20;

## Send OTP

<mark style="color:green;">`POST`</mark> `https://api.bitel.rest/api/v2/sms/otp`

#### Request Body

| Name        | Type   | Description                                                |
| ----------- | ------ | ---------------------------------------------------------- |
| PhoneNumber | string | The target phone number                                    |
| AppName     | string | The name of application, example: Bitel                    |
| Code        | string | The code that is displayed in the message, example: 1234Ma |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "result": {
    "id": "5c6f6f7984d440d3a02663857447205a",
    "gatewayNumber": "10009909",
    "phoneNumber": "0912*******",
    "message": "Hello from Bitel!",
    "requestDate": 1564573464,
    "status": 0,
    "statusText": "Waiting",
    "partCount": 1,
    "price": 0.0 // price is 0 because the message is waiting
  },
  "error": null
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

```javascript
{
	"code": "1234",
	"phoneNumber": "0912*******",
	"appName": "Bitel"
}
```

#### Sample Response

```javascript
{
  "result": {
    "id": "5c6f6f7984d440d3a02663857447205a",
    "gatewayNumber": "10009909",
    "phoneNumber": "0912*******",
    "message": "Hello from Bitel!",
    "requestDate": 1564573464,
    "status": 0,
    "statusText": "Waiting",
    "partCount": 1,
    "price": 0.0 // price is 0 because the message is waiting
  },
  "error": null
}
```

{% hint style="info" %}

#### **Getting SMS Status**

In order to get the detail of a request, including the delivery status, price  and more please refer to [**Sms Status**](/bitel/sms/sms-detail.md)  API.
{% endhint %}

#### Error Codes

| Code           | Description                                                        |
| -------------- | ------------------------------------------------------------------ |
| InvalidRequest | Submitted data is invalid or missing, most likely the phone number |


---

# 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://bitel.gitbook.io/bitel/sms/otp-sms.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.
