# Остановка сообщений

## Остановка сообщений по uuid

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

Метод позволяет безвозвратно отменить отправку одиночных сообщений с переданными идентификаторами.

#### Headers

| Name                                            | Type   | Description        |
| ----------------------------------------------- | ------ | ------------------ |
| Authorization<mark style="color:red;">\*</mark> | string | `Basic {TOKEN_1}`  |
| Content-Type<mark style="color:red;">\*</mark>  | string | `application/json` |

#### Request Body

| Name                                    | Type  | Description                                                            |
| --------------------------------------- | ----- | ---------------------------------------------------------------------- |
| uuids<mark style="color:red;">\*</mark> | array | Массив идентификаторов сообщений; допускается не более 10000 значений. |

::::::{tab-set}

:::::{tab-item} 200

В случае корректного запроса в ответе будут перечислены статусы остановки сообщений.

```
{
  "errors": true,
  "items": [
    {
      "messageUuid": "2a28d557-22a1-4be6-8908-1481723043dd",
      "code": 201
    },
    {
      "messageUuid": "811c27e3-3bc4-406a-9fcd-44435a8208da",
      "code": 403
    },
    {
      "messageUuid": "cc46e6b6-2d77-4457-aa81-c17a027721d3",
      "code": 404
    }
  ]
}
```
:::::


:::::{tab-item} 401

Использование невалидного токена / отсутствие заголовка авторизации.

::::{tab-set}

:::{tab-item} 4012

```
{
    "error": {
        "code": 4012,
        "msg": "Bad credentials"
    }
}
```
:::


:::{tab-item} 4010

```
{
    "error": {
        "code": 4010,
        "msg": "Not Authenticated"
    }
}
```
:::

::::

:::::


:::::{tab-item} 403

Использование неподходящего токена.

```
{
    "error": {
        "code": 4030,
        "msg": "Access Denied"
    }
}
```
:::::

::::::


{% hint style="warning" %}
Изменение статуса сообщений выполняется асинхронно: между успешным выполнением запроса и установкой сообщениям статуса `unsent` может пройти несколько секунд.
{% endhint %}

{% hint style="info" %}
* Данный запрос может быть выполнен как для одиночных сообщений, так и для сообщений рассылок
* При выполнении успешной остановки корневого каскадного сообщения, весь каскад от данного сообщения будет остановлен
{% endhint %}

## Описание объекта ответа <a href="#response-description" id="response-description"></a>

```
{
  "errors": true,
  "items": [
    {
      "messageUuid": "2a28d557-22a1-4be6-8908-1481723043dd",
      "code": 200
    },
    {
      "messageUuid": "063464ec-a34f-4558-90c5-984395000001",
      "code": 202
    },
    {
      "messageUuid": "811c27e3-3bc4-406a-9fcd-44435a8208da",
      "code": 403
    },
    {
      "messageUuid": "cc46e6b6-2d77-4457-aa81-c17a027721d3",
      "code": 404
    }
  ]
}
```

| Параметр          | Тип     | Описание                                                                                                                                                                                                                                                                                                                                                                                                             |
| ----------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| errors            | boolean | Наличие фактов неуспешных остановок сообщений (наличие кодов 403, 404 в ответе)                                                                                                                                                                                                                                                                                                                                      |
| items             | array   | Массив с объектами результатов остановки сообщений                                                                                                                                                                                                                                                                                                                                                                   |
| items.messageUuid | string  | Идентификатор сообщения                                                                                                                                                                                                                                                                                                                                                                                              |
| items.code        | integer | <p>Результат остановки сообщения:</p><ul><li>200 — сообщение будет остановлено гарантированно</li><li>202 — сообщение будет остановлено <strong>не</strong> гарантированно, т.к. входит в стадию отправки / порождения каскадного сообщения</li><li>403 — сообщение не может быть остановлено, т.к. находится в процессе отправки / уже отправлено</li><li>404 — сообщение не остановлено, т.к. не найдено</li></ul> |

## Пример запроса <a href="#example" id="example"></a>

::::::{tab-set}

:::::{tab-item} JSON

```
POST https://direct.i-dgtl.ru/api/v1/message/stop
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
{
  "uuids": [
    "2a28d557-22a1-4be6-8908-1481723043dd",
    "811c27e3-3bc4-406a-9fcd-44435a8208da",
    "cc46e6b6-2d77-4457-aa81-c17a027721d3"
  ]
}
```
:::::


:::::{tab-item} cURL

```
curl -X POST 'https://direct.i-dgtl.ru/api/v1/message/stop' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-d '{"uuids":["2a28d557-22a1-4be6-8908-1481723043dd","811c27e3-3bc4-406a-9fcd-44435a8208da","cc46e6b6-2d77-4457-aa81-c17a027721d3"]}'
```
:::::

::::::


