# Push

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

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

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

#### 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  | Тип сообщения (push).                                                                                                                                                                                                                   |
| content         | string  | Текст сообщения. Строка.                                                                                                                                                                                                                |
| properties      | object  | Объект, содержащий дополнительные параметры.                                                                                                                                                                                            |
| shortMessage    | string  | Текст короткого сообщения, которое будет отображено на экране мобильного телефона сразу после получения.                                                                                                                                |
| fullMessage     | string  | Текст полного сообщения, которое будет отображено в приложении после нажатия на короткое сообщение.                                                                                                                                     |
| nodeId          | integer | Номер ноды.                                                                                                                                                                                                                             |
| requestDelivery | boolean | Указывает, cледует ли предоставлять отчёт о доставке после отправки сообщения (true\|false).                                                                                                                                            |
| expirationDate  | integer | <p>Время, до которого будет ожидаться получение статуса от оператора.<br>Тип значения - <strong>timestamp</strong> в миллисекундах или в формате ISO 8601.<br>По умолчанию составляет 24 часа с момента отправки сообщения.<br><br></p> |

::::{tab-set}

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

```
{
    "id": "41937aa1-6322-1245-5876-aa0003448688",
    "timestamp": 1632212455892,
    "code": 200
}
```
:::


:::{tab-item} 400 Неверный синтаксис запроса

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

::::


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

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

{
    "@type": "outbound",
    "addresses": {
        "source": "Testing",
        "destination": "79500197493"
    },
    "body": {
        "bodyType": "push",
        "content": "Have a nice day!"
    },
    "nodeId": 31937,
    "requestDelivery": true
}
```
