Редактирование имен отправителей#
Редактирование имени отправителя#
PUT https://direct.i-dgtl.ru/api/v1/sender-names/{sender_name_id}
Метод доступен для SMS-отправителей в статусах AWAITING, REJECTED, APPROVED, а также для VIBER-отправителей в статусе APPROVED.
Файлы могут быть отправлены только для AWAITING и REJECTED.
Path Parameters#
Name |
Type |
Description |
|---|---|---|
sender_name_id* |
integer |
Идентификатор имени отправителя |
Headers#
Name |
Type |
Description |
|---|---|---|
Authorization* |
string |
|
Content-Type* |
string |
|
Request Body#
Name |
Type |
Description |
|---|---|---|
name* |
string |
Имя части содержимого |
filename |
string |
Имя прикладываемого файла |
senderName |
string |
Новое значение имени отправителя |
commonType |
string |
Новое значение типа имени отправителя |
counteragentName |
string |
Новое значение имени юрлица |
counteragentInn |
string |
Новое значение ИНН юрлица |
dateFrom |
string |
Новое значение желаемой даты начала действия |
dateTo |
string |
Дата окончания действия отправителя |
Возвращается объект с отредактированным именем отправителя.
{
"id": 1,
"senderName": "test",
"channelType": "SMS",
"counteragentName": "Контрагент, ООО",
"counteragentInn": "123451729124",
"dateFrom": "2020-07-07T21:00:00Z",
"dateTo": "2020-10-10T00:00:00Z",
"commonType": "MULTISIGNATURE",
"brand": "MTS",
"status": "CLOSED",
"fee": 0,
"managerComment": "комментарий менеджера",
"rejectedAt": "2020-07-09T16:55:01Z"
}
Использование невалидного токена / отсутствие заголовка авторизации.
{
"error": {
"code": 4012,
"msg": "Bad credentials"
}
}
{
"error": {
"code": 4010,
"msg": "Not Authenticated"
}
}
Использование неподходящего токена.
{
"error": {
"code": 4030,
"msg": "Access Denied"
}
}
Невалидные параметры в теле запроса либо несоответствующий статус имени отправителя; ниже приведены несколько примеров ответа.
{
"error": {
"code": 4220,
"msg": "Changing sender name is not allowed now"
}
}
-----------------------------------------------------------------------------
{
"error": {
"code": 4220,
"msg": "Date from isn't greater than now"
}
}
Возможные варианты перечислений:
Параметр |
Варианты |
|---|---|
commonType |
Пример запроса #
Редактирование наименования юрлица, ИНН и даты начала действия с прикреплением нового файла
PUT https://direct.i-dgtl/ru/api/v1/sender-names/150
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: multipart/form-data; boundary=--part
--part
Content-Disposition: form-data; name="file1"; filename="document1.pdf"
< ./path/new_document.pdf
--part
Content-Disposition: form-data; name="body"
Content-Type: application/json
{
"dateFrom": "2020-10-07T21:00:00Z",
"counteragentName": "Новый контрагент, ООО",
"counteragentInn": "123451729124"
}
curl -X PUT 'https://direct.i-dgtl.ru/api/v1/sender-names/150' \
-H 'Content-Type: multipart/form-data;boundary=--part' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-F 'body={"dateFrom":"2020-10-07T21:00:00Z","counteragentName":"Новый контрагент, ООО","counteragentInn":"123451729124"}' \
-F 'file1=@path/new_document.pdf'
import requests
import json
url = "https://direct.i-dgtl.ru/api/v1/sender-names/{sender_name_id}"
payload = {'body': '{"dateFrom": "2026-06-01T21:00:00Z", "counteragentName": "Контрагент, ООО", "counteragentInn": "123451729124"}'}
files=[
('file1',('file',open('/path/to/file','rb'),'application/octet-stream'))
]
headers = {
'Content-Type': 'application/json'
}
response = requests.request("PUT", url, headers=headers, data=payload, files=files)
print(response.text)
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
const formdata = new FormData();
formdata.append("body", "{\"dateFrom\": \"2026-06-01T21:00:00Z\", \"counteragentName\": \"Контрагент, ООО\", \"counteragentInn\": \"123451729124\"}");
formdata.append("file1", fileInput.files[0], "file");
const requestOptions = {
method: "PUT",
headers: myHeaders,
body: formdata,
redirect: "follow"
};
fetch("https://direct.i-dgtl.ru/api/v1/sender-names/{sender_name_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 = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("body", null,
RequestBody.create(MediaType.parse("application/json"), "{\"dateFrom\": \"2026-06-01T21:00:00Z\", \"counteragentName\": \"Контрагент, ООО\", \"counteragentInn\": \"123451729124\"}".getBytes()))
.addFormDataPart("file1","file",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("/path/to/file")))
.build();
Request request = new Request.Builder()
.url("https://direct.i-dgtl.ru/api/v1/sender-names/{sender_name_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'
];
$options = [
'multipart' => [
[
'name' => 'body',
'contents' => '{"dateFrom": "2026-06-01T21:00:00Z", "counteragentName": "Контрагент, ООО", "counteragentInn": "123451729124"}'
],
[
'name' => 'file1',
'contents' => Utils::tryFopen('/path/to/file', 'r'),
'filename' => '/path/to/file',
'headers' => [
'Content-Type' => '<Content-type header>'
]
]
]];
$request = new Request('PUT', 'https://direct.i-dgtl.ru/api/v1/sender-names/{sender_name_id}', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();
package main
import (
"fmt"
"bytes"
"mime/multipart"
"os"
"path/filepath"
"net/http"
"io"
)
func main() {
url := "https://direct.i-dgtl.ru/api/v1/sender-names/{sender_name_id}"
method := "PUT"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
mimeHeader1 := make(map[string][]string)
mimeHeader1["Content-Disposition"] = append(mimeHeader1["Content-Disposition"], "form-data; name=\"body\"")
mimeHeader1["Content-Type"] = append(mimeHeader1["Content-Type"], "application/json")
fieldWriter1, _ := writer.CreatePart(mimeHeader1)
fieldWriter1.Write([]byte("{\"dateFrom\": \"2026-06-01T21:00:00Z\", \"counteragentName\": \"Контрагент, ООО\", \"counteragentInn\": \"123451729124\"}"))
file, errFile2 := os.Open("/path/to/file")
defer file.Close()
part2,
errFile2 := writer.CreateFormFile("file1",filepath.Base("/path/to/file"))
_, errFile2 = io.Copy(part2, file)
if errFile2 != nil {
fmt.Println(errFile2)
return
}
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Set("Content-Type", writer.FormDataContentType())
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))
}