Создание шаблонов (deprecated)#
Отправка шаблона на регистрацию#
POST https://direct.i-dgtl.ru/api/v1/templates
Метод позволяет отправить на регистрацию шаблоны одного типа к зарегистрированным именам отправителей.
Headers#
Name |
Type |
Description |
|---|---|---|
Authorization* |
string |
|
Content-Type* |
string |
|
Request Body#
Name |
Type |
Description |
|---|---|---|
toAdd* |
string |
Способ отправки шаблонов |
templateType* |
string |
Тип шаблона |
dateFrom* |
string |
Желаемая дата начала действия шаблона |
templates* |
array |
Массив объектов с шаблонами и именами отправителей |
templates.pattern* |
string |
Текст шаблона |
templates.senderNames* |
array |
Идентификаторы имен отправителей, на которые нужно зарегистрировать шаблон. |
При отсутствии ошибок в запросе (независимо от валидности шаблонов) вернется HTTP-код 200.
{
"toAdd": "ALL_VALID",
"templateType": "SERVICE",
"dateFrom": "2020-09-01T21:00:00Z",
"total": 4,
"added": 2,
"notAdded": 2,
"templates": [
{
"pattern": "это текст шаблона 1",
"patternState": "INVALID",
"correctExample": "это исправленный текст шаблона"
"senderNames": [
{
"id": 14,
"senderName": "sender14",
"brand": "BEELINE",
"state": "ERROR"
},
{
"id": 15,
"senderName": "se5der14",
"brand": "MEGAFON",
"state": "ERROR"
}
]
},
{
"pattern": "это текст шаблона 2",
"patternState": "VALID",
"senderNames": [
{
"id": 14,
"senderName": "sender14",
"brand": "BEELINE",
"state": "ERROR",
"error": {
"type": "DUPLICATES_EXISTING"
"templateId": 112
}
},
{
"id": 15,
"senderName": "sender15",
"brand": "MEGAFON",
"state": "SUCCESS",
"templateId": 12345
}
]
}
]
}
Использование невалидного токена / отсутствие заголовка авторизации.
{
"error": {
"code": 4012,
"msg": "Bad credentials"
}
}
{
"error": {
"code": 4010,
"msg": "Not Authenticated"
}
}
Использование неподходящего токена.
{
"error": {
"code": 4030,
"msg": "Access Denied"
}
}
Несуществующее имя отправителя.
{
"error": {
"code": 4220,
"msg": "Client 5 has not sender name 734"
}
}
Возможные варианты перечислений:
Параметр |
Варианты |
|---|---|
toAdd |
|
templateType |
Совет
Создание шаблонов типа SERVICE допускается только для имен отправителей операторов Билайн, Мегафон, МТС
Создание шаблонов типа AUTHORIZE допускается только для имен отправителей операторов Мегафон, Теле2
Описание объекта ответа #
Параметр |
Тип |
Описание |
|---|---|---|
toAdd |
string |
Соответствует |
templateType |
string |
Соответствует |
dateFrom |
string |
Соответствует |
total |
integer |
Общее количество переданных шаблонов |
added |
integer |
Количество добавленных шаблонов |
notAdded |
integer |
Количество не добавленных шаблонов |
templates |
array |
Массив объектов с шаблонами и именами отправителей |
templates.pattern |
string |
Текст шаблона |
templates.patternState |
string |
Статус валидности текста шаблона
|
templates.correctExample |
string |
Пример текста шаблона с исправленными ошибками |
templates.senderNames |
array |
Массив объектов имен отправителей, на которые регистрировались шаблоны |
templates.senderNames.id |
integer |
Идентификатор имени отправителя |
templates.senderNames.senderName |
string |
Имя отправителя |
templates.senderNames.brand |
string |
Оператор имени отправителя |
templates.senderNames.state |
string |
Статус отправки шаблона на данное имя отправителя:
|
templates.senderNames.templateId |
integer |
Идентификатор созданного шаблона (передается при |
templates.senderNames.error |
object |
Объект с описанием ошибки (передается при |
templates.senderNames.error.type |
string |
Тип ошибки:
|
templates.senderNames.error.templateId |
integer |
Идентификатор шаблона в системе, из-за которого нельзя добавить данный (актуально для ошибок |
Пример запроса #
Создание сервисных шаблонов «pattern 1» и «pattern 2» на имена отправителей с идентификаторами 14 и 15 и датой начала действия 2020-09-01 21:00:00 UTC.
POST https://direct.i-dgtl.ru/v1/templates
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
{
"toAdd": "ALL_VALID",
"templateType": "SERVICE",
"dateFrom": "2020-09-01T21:00:00Z",
"templates": [
{
"pattern": "pattern 1",
"senderNames": [
14,
15
]
},
{
"pattern": "pattern 2",
"senderNames": [
14,
15
]
}
]
}
curl -X POST 'https://direct.i-dgtl.ru/api/v1/templates' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-d '{"toAdd":"ALL_VALID","templateType":"SERVICE","dateFrom":"2020-09-01T21:00:00Z","templates":[{"pattern":"это текст шаблона 1","senderNames":[14,15]},{"pattern":"это текст шаблона 2","senderNames":[14,15]}]}'
import requests
import json
url = "https://direct.i-dgtl.ru/api/v1/templates"
payload = json.dumps({
"toAdd": "ALL_OR_NOTHING",
"templateType": "SERVICE",
"dateFrom": "2026-06-01T21:00:00Z",
"patterns": [
"Ваш код: %d"
],
"senderNameIds": [
1234
]
})
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({
"toAdd": "ALL_OR_NOTHING",
"templateType": "SERVICE",
"dateFrom": "2026-06-01T21:00:00Z",
"patterns": [
"Ваш код: %d"
],
"senderNameIds": [
1234
]
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://direct.i-dgtl.ru/api/v1/templates", 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 \"toAdd\": \"ALL_OR_NOTHING\",\n \"templateType\": \"SERVICE\",\n \"dateFrom\": \"2026-06-01T21:00:00Z\",\n \"patterns\": [\n \"Ваш код: %d\"\n ],\n \"senderNameIds\": [\n 1234\n ]\n}");
Request request = new Request.Builder()
.url("https://direct.i-dgtl.ru/api/v1/templates")
.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 = '{
"toAdd": "ALL_OR_NOTHING",
"templateType": "SERVICE",
"dateFrom": "2026-06-01T21:00:00Z",
"patterns": [
"Ваш код: %d"
],
"senderNameIds": [
1234
]
}';
$request = new Request('POST', 'https://direct.i-dgtl.ru/api/v1/templates', $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/templates"
method := "POST"
payload := strings.NewReader(`{
"toAdd": "ALL_OR_NOTHING",
"templateType": "SERVICE",
"dateFrom": "2026-06-01T21:00:00Z",
"patterns": [
"Ваш код: %d"
],
"senderNameIds": [
1234
]
}`)
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))
}