Редактирование шаблонов

Редактирование шаблонов#

Редактирование шаблона#

PUT https://direct.i-dgtl.ru/api/v1/templates/{template_id}

Метод позволяет отредактировать некоторые параметры шаблона.

Path Parameters#

Name

Type

Description

template_id*

string

Идентификатор шаблона

Headers#

Name

Type

Description

Authorization*

string

Basic {TOKEN_2}

Content-Type*

string

application/json

Request Body#

Name

Type

Description

dateFrom

string

Новая дата начала действия шаблона. Редактирование допускается для SMS-шаблонов в статусах:
INTERNAL_REVEW
EXTERNAL_REVIEW
REJECTED

pattern

string

Новый текст шаблона. Редактирование допускается для SMS-шаблонов в статусах:
INTERNAL_REVIEW
REJECTED

dateTo

string

Дата окончания действия шаблонов. Допускается для SMS и VIBER-шаблонов в статусе APPROVED

{
  "id": 1234,
  "channelType": "SMS",
  "templateType": "SERVICE",
  "pattern": "привет, %w",
  "dateFrom": "2020-07-07T21:00:00Z",
  "dateTo": "2020-10-10T00:00:00Z",
  "senderNameId": 1234,
  "senderName": "testsend",
  "brand": "BEELINE",
  "managerComment": "комментарий менеджера",
  "status": "CLOSED",
  "createdAt": "2020-06-01T21:00:00Z",
  "rejectedAt": "2020-06-07T21:00:00Z"
}

Возвращается объект отредактированного шаблона.

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

{
    "error": {
        "code": 4012,
        "msg": "Bad credentials"
    }
}
{
    "error": {
        "code": 4010,
        "msg": "Not Authenticated"
    }
}

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

{
    "error": {
        "code": 4012,
        "msg": "Access Denied"
    }
}

Попытка редактирования недоступных при данном статусе параметров или невалидный текст шаблона; ниже приведены несколько примеров ответа.

{
    "error": {
        "code": 4220,
        "msg": "Forbidden to edit dateTo now"
    }
}
-----------------------------------------------------------------------------
{
    "error": {
        "code": 4221,
        "msg": "Invalid pattern",
        "correct-example": "%w{1,2} pattern"
    }
}

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

PUT /api/v1/templates/{template_id} 
Content-Type: application/json
Content-Length: 116

{
  "dateFrom": "2026-06-01T21:00:00Z",
  "dateTo": "2026-12-31T21:00:00Z",
  "pattern": "Новый текст шаблона: %d"
}
curl --location --globoff --request PUT 'https://direct.i-dgtl.ru/api/v1/templates/{template_id}' \
--header 'Content-Type: application/json' \
--data '{
  "dateFrom": "2026-06-01T21:00:00Z",
  "dateTo": "2026-12-31T21:00:00Z",
  "pattern": "Новый текст шаблона: %d"
}'
import requests
import json

url = "https://direct.i-dgtl.ru/api/v1/templates/{template_id}"

payload = json.dumps({
  "dateFrom": "2026-06-01T21:00:00Z",
  "dateTo": "2026-12-31T21:00:00Z",
  "pattern": "Новый текст шаблона: %d"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)

const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

const raw = JSON.stringify({
  "dateFrom": "2026-06-01T21:00:00Z",
  "dateTo": "2026-12-31T21:00:00Z",
  "pattern": "Новый текст шаблона: %d"
});

const requestOptions = {
  method: "PUT",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};

fetch("https://direct.i-dgtl.ru/api/v1/templates/{template_id}", 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  \"dateFrom\": \"2026-06-01T21:00:00Z\",\n  \"dateTo\": \"2026-12-31T21:00:00Z\",\n  \"pattern\": \"Новый текст шаблона: %d\"\n}");
Request request = new Request.Builder()
  .url("https://direct.i-dgtl.ru/api/v1/templates/{template_id}")
  .method("PUT", body)
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
<?php
$client = new Client();
$headers = [
  'Content-Type' => 'application/json'
];
$body = '{
  "dateFrom": "2026-06-01T21:00:00Z",
  "dateTo": "2026-12-31T21:00:00Z",
  "pattern": "Новый текст шаблона: %d"
}';
$request = new Request('PUT', 'https://direct.i-dgtl.ru/api/v1/templates/{template_id}', $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/{template_id}"
  method := "PUT"

  payload := strings.NewReader(`{
  "dateFrom": "2026-06-01T21:00:00Z",
  "dateTo": "2026-12-31T21:00:00Z",
  "pattern": "Новый текст шаблона: %d"
}`)

  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))
}