Как вызвать HTTP-запрос DELETE https://courier.yandex.ru/api/v1/companies/{company_id}/couriers/{courier_id} ?

```1c
    СтрокаURI ="https://courier.yandex.ru/api/v1/companies/{company_id}/couriers/{courier_id}";
    СтруктураURI = СтруктураURI(СтрокаURI);
    HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,,,,,Новый ЗащищенноеСоединениеOpenSSL()); // Новый ЗащищенноеСоединениеOpenSSL() если протокол https

    //Заголовки = Новый Соответствие();
    //Заголовки.Вставить("Content-Type","application/json");
    //Заголовки.Вставить("Authorization","Auth Токен");

    Запись = Новый ЗаписьJSON;
    Запись.УстановитьСтроку();
    ЗаписатьJSON(Запись, СтрокаURI);
    ТелоЗапроса = Запись.Закрыть();

    HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере,Заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса,КодировкаТекста.UTF8);

    HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    ТекстОтветаJSON = HTTPОтвет.ПолучитьТелоКакСтроку();// возвращается ответ запроса
    Сообщить(ТекстОтветаJSON);
```

https://yandex.ru/routing/doc/delivery/ref/couriers/api_v1_companies_compan­y_id_couriers_courier_id_delete.html
---
Посмотрел описание. Судя по всему, тела запроса нет вообще, параметры передаются в строке. В таком случае попробуйте код
```1c
    СтрокаURI ="https://courier.yandex.ru/api/v1/companies/111/couriers/22222";
    СтруктураURI = СтруктураURI(СтрокаURI);
    HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,,,,,Новый ЗащищенноеСоединениеOpenSSL()); // Новый ЗащищенноеСоединениеOpenSSL() если протокол https

    Заголовки = Новый Соответствие();
    Заголовки.Вставить("Content-Type","application/json");
    Заголовки.Вставить("Authorization","Токен");

    HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере,Заголовки);

    HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("DELETE",HTTPЗапрос);
    ТекстОтветаJSON = HTTPОтвет.ПолучитьТелоКакСтроку();//здесь возвращается ответ запроса
    Сообщить(ТекстОтветаJSON);
```
---
Я точно не уверен, но нормальный rest-delete из 1с не послать...
Тут есть только get и post
---
Может попробовать вместо
```1c
    HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
```
 использовать
```1c
    HTTPСоединение.ВызватьHTTPМетод()
```
 Синтаксис:
ВызватьHTTPМетод(<HTTPМетод>, <HTTPЗапрос>, <ИмяВыходногоФайла>)
---
О... А этот метод я как-то пропустил...
Кстати, спасибо.
---
сможете показать на примере?
---
Что-то типа
```1c
    HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("DELETE",HTTPЗапрос);
```
---
сделал так:

```1c
    СтрокаURI ="https://courier.yandex.ru/api/v1/companies/111/couriers/22222";
    СтруктураURI = СтруктураURI(СтрокаURI);
    HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,,,,,Новый ЗащищенноеСоединениеOpenSSL()); // Новый ЗащищенноеСоединениеOpenSSL() если протокол https

    Заголовки = Новый Соответствие();
    Заголовки.Вставить("Content-Type","application/json");
    Заголовки.Вставить("Authorization","Токен");

    Запись = Новый ЗаписьJSON;
    Запись.УстановитьСтроку();
    ЗаписатьJSON(Запись, СтрокаURI);
    ТелоЗапроса = Запись.Закрыть();

    HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере,Заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса,КодировкаТекста.UTF8);

    HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("DELETE",HTTPЗапрос);
    ТекстОтветаJSON = HTTPОтвет.ПолучитьТелоКакСтроку();//здесь возвращается ответ запроса
    Сообщить(ТекстОтветаJSON);
```

но выдает ошибку:
{"message": ["(psycopg2.errors.ForeignKeyViolation) update or delete on table \"courier\" violates foreign key constraint \"route_courier_id_fkey\" on table \"route\"\nDETAIL: Key (id)=(22222) is still referenced from table \"route\".
Что делаю не так?
---
Вот тут
```1c
    ЗаписатьJSON(Запись, СтрокаURI);
```
 во втором параметре нужно передавать то, что должно передаваться в теле запроса (см. описание API). Но это точно не строка соединения.
---
посмотрел ещё раз описание API , но все не понял,что нужно передать в тело запроса. Сможете привести пример, как правильно сделать?
---
Посмотрел описание. Судя по всему, тела запроса нет вообще, параметры передаются в строке. В таком случае попробуйте код
```1c
    СтрокаURI ="https://courier.yandex.ru/api/v1/companies/111/couriers/22222";
    СтруктураURI = СтруктураURI(СтрокаURI);
    HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,,,,,Новый ЗащищенноеСоединениеOpenSSL()); // Новый ЗащищенноеСоединениеOpenSSL() если протокол https

    Заголовки = Новый Соответствие();
    Заголовки.Вставить("Content-Type","application/json");
    Заголовки.Вставить("Authorization","Токен");

    HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере,Заголовки);

    HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("DELETE",HTTPЗапрос);
    ТекстОтветаJSON = HTTPОтвет.ПолучитьТелоКакСтроку();//здесь возвращается ответ запроса
    Сообщить(ТекстОтветаJSON);
```
---
попробовал, выдает такую же ошибку
---
Может неверно указываете параметры, т.е. Вы уверены, что есть компания "111" и курьер "22222"?
---
эти параметры я специально поменял тут, для удобства. При обращении по API указываю корректные параметры
---
спасибо
---
Вопрос. А перевести ошибку на понятный вам язык не пробовали?
Особенно вот эту часть: violates foreign key constraint \"route_courier_id_fkey\" on table \"route\"\nDETAIL: Key (id)=(22222) is still referenced from table \"route\"
---
пробовал. перевод:
{"message": ["(psycopg2.errors.ForeignKeyViolation) обновление или удаление в таблице \" courier \ "нарушает ограничение внешнего ключа \" route_courier_id_fkey \ "в таблице \" route \ "\ nDETAIL: Key (id) = (22222) по-прежнему ссылается на таблицу \ "маршрут \". \ n "]}
---
Мне казалось что тут стандартная для РСУБД исчерпывающая информация: невозможно удалить курьера потому что на него есть ссылки в таблице маршрутов. Видимо маршруты этого курьера удалить надо сначала.
---
Справедливое замечание.
---
точно. спасибо. все работает