# VoiceCall

## Отправка VoiceCall-сообщения

<mark style="color:green;">`POST`</mark> `https://external-api.i-dgtl.ru/message`

Метод позволяет отправить одиночное голосовое сообщение.

#### Headers

| Name          | Type   | Description                 |
| ------------- | ------ | --------------------------- |
| Content-Type  | string | application/json            |
| Authorization | string | 'nodeID:password' \| base64 |

#### Request Body

| Name            | Type    | Description                                                                                                                                                                                                                     |
| --------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| @type           | string  | Тип сообщения, имеет постоянное значение оutbound (исходящее).                                                                                                                                                                  |
| addresses       | object  | Объект, содержащий адреса отправителя и получателя.                                                                                                                                                                             |
| source          | string  | Имя или номер отправителя.                                                                                                                                                                                                      |
| destination     | string  | Номер телефона получателя. Указывается в международном формате MSISDN, состоящем из кода страны, DEF-кода оператора и номера абонента. Например, российский номер выглядит так: 79001234567, где 7 - код страны (Россия).       |
| body            | object  | Объект, в котором передаётся содержимое сообщения.                                                                                                                                                                              |
| bodyType        | string  | Тип сообщения `(voicecall)`.                                                                                                                                                                                                    |
| content         | string  | Объект, содержащий параметры сообщения.                                                                                                                                                                                         |
| contentType     | string  | Тип сообщения: поддерживается только _text-to-speech_`(tts)`.                                                                                                                                                                   |
| text            | string  | <p>Текст, который будет преобразован в речь.<br>Русский язык, максимальный размер сообщения 65535 символов.</p>                                                                                                                 |
| sex             | string  | <p>Пол голосового помощника, который будет озвучивать текст: <br><code>female</code> - женский, <br><code>male</code> - мужской.</p>                                                                                            |
| speed           | string  | <p>Cкорость зачитывания сообщения. Возможные значения скорости:<br><em>медленно</em> - 0.5, 0.8;<br><em>нормально</em> - 1.0;<br><em>быстро</em> - 1.2, 1.5.<br>

</p>                                                          |
| nodeId          | integer | Номер ноды                                                                                                                                                                                                                      |
| requestDelivery | boolean | Указывает, cледует ли предоставлять отчёт о доставке после отправки сообщения (true\|false).                                                                                                                                    |
| expirationDate  | integer | <p>Время, до которого будет ожидаться получение статуса от оператора.<br>Тип значения - <strong>timestamp</strong> в миллисекундах или в формате ISO 8601.<br>По умолчанию составляет 24 часа с момента отправки сообщения.</p> |

::::{tab-set}

:::{tab-item} 200 В случае успешного запроса возвращается ответ, в котором указан идентификатор сообщения и время отправки сообщения в формате Unix Timestamp.

```
{
    "id": "41937aa1-6322-1294-0754-aa0003431747",
    "timestamp": 1632212940792,
    "code": 200
}
```
:::


:::{tab-item} 400 Устройство абонента выключено или находится вне зоны действия сети

```
{
    "timestamp": 1632213510125,
    "code": 400,
    "description": "incorrect request body"
}
```
:::

::::


### Пример запроса

::::{tab-set}

:::{tab-item} JSON

```
POST https://external-api.i-dgtl.ru/message
Authorization: Basic Mzk5OTk6MTIzNjU0
Content-Type: application/json

{
    "@type": "outbound",
    "addresses": {
        "source": "Test",
        "destination": "79500197493"
    },
    "body": {
        "bodyType": "voicecall",
        "content": {
            "contentType": "tts",
            "text": "Код 4-1-2-3",
            "sex": "male",
            "speed": "1.2"
        }
    },
    "nodeId": 31937,
    "requestDelivery": true
}
```
:::

::::

