Остановка сообщений#
Остановка сообщений по uuid#
POST https://direct.i-dgtl.ru/api/v1/message/stop
Метод позволяет безвозвратно отменить отправку одиночных сообщений с переданными идентификаторами.
Headers#
Name |
Type |
Description |
|---|---|---|
Authorization* |
string |
|
Content-Type* |
string |
|
Request Body#
Name |
Type |
Description |
|---|---|---|
uuids* |
array |
Массив идентификаторов сообщений; допускается не более 10000 значений. |
В случае корректного запроса в ответе будут перечислены статусы остановки сообщений.
{
"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
}
]
}
Использование невалидного токена / отсутствие заголовка авторизации.
{
"error": {
"code": 4012,
"msg": "Bad credentials"
}
}
{
"error": {
"code": 4010,
"msg": "Not Authenticated"
}
}
Использование неподходящего токена.
{
"error": {
"code": 4030,
"msg": "Access Denied"
}
}
Совет
Изменение статуса сообщений выполняется асинхронно: между успешным выполнением запроса и установкой сообщениям статуса unsent может пройти несколько секунд.
Совет
Данный запрос может быть выполнен как для одиночных сообщений, так и для сообщений рассылок
При выполнении успешной остановки корневого каскадного сообщения, весь каскад от данного сообщения будет остановлен
Описание объекта ответа #
{
"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 |
Результат остановки сообщения:
|
Пример запроса #
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"
]
}
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"]}'
import requests
import json
url = "https://direct.i-dgtl.ru/api/v1/message/stop"
payload = json.dumps({
"uuids": [
"2a28d557-22a1-4be6-8908-1481723043dd",
"811c27e3-3bc4-406a-9fcd-44435a8208da",
"cc46e6b6-2d77-4457-aa81-c17a027721d3"
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
const raw = JSON.stringify({
"uuids": [
"2a28d557-22a1-4be6-8908-1481723043dd",
"811c27e3-3bc4-406a-9fcd-44435a8208da",
"cc46e6b6-2d77-4457-aa81-c17a027721d3"
]
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://direct.i-dgtl.ru/api/v1/message/stop", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"uuids\": [\n \"2a28d557-22a1-4be6-8908-1481723043dd\",\n \"811c27e3-3bc4-406a-9fcd-44435a8208da\",\n \"cc46e6b6-2d77-4457-aa81-c17a027721d3\"\n ]\n}");
Request request = new Request.Builder()
.url("https://direct.i-dgtl.ru/api/v1/message/stop")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
<?php
$client = new Client();
$headers = [
'Content-Type' => 'application/json'
];
$body = '{
"uuids": [
"2a28d557-22a1-4be6-8908-1481723043dd",
"811c27e3-3bc4-406a-9fcd-44435a8208da",
"cc46e6b6-2d77-4457-aa81-c17a027721d3"
]
}';
$request = new Request('POST', 'https://direct.i-dgtl.ru/api/v1/message/stop', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.i-dgtl.ru/api/v1/message/stop"
method := "POST"
payload := strings.NewReader(`{
"uuids": [
"2a28d557-22a1-4be6-8908-1481723043dd",
"811c27e3-3bc4-406a-9fcd-44435a8208da",
"cc46e6b6-2d77-4457-aa81-c17a027721d3"
]
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}