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

## Остановка сообщений по 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 значений. |

{% tabs %}
{% tab title="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
    }
  ]
}
```

{% endtab %}

{% tab title="401" %}
Использование невалидного токена / отсутствие заголовка авторизации.

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

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

{% endtab %}

{% tab title="4010" %}

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

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="403" %}
Использование неподходящего токена.

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

{% endtab %}
{% endtabs %}

{% 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>

{% tabs %}
{% tab title="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"
  ]
}
```

{% endtab %}

{% tab title="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"]}'
```

{% endtab %}
{% endtabs %}


---

# 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://api.docs.direct.i-dgtl.ru/messages/stopping.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.
