Задача
Отправим файл на сервер, получим его идентификатор и прикрепим этот файл к описанию новой заявки.
Решение
Для примера будем использовать приложение Postman. Выполним необходимые настройки и отправим файл.
POST https://apigw.intradesk.ru/files/api/tasks/0/files/target/Description?ApiKey=65247DBDE14C45A6A275DC1FC0
Ответ сервера:
[
{
"id":"604b6c742d34af0001f26723", //идентификатор загруженного файла
"entityType":"task", //тип объекта, к которому приложен файл. Task – заявка, kb - статья базы знаний
"entityId":0, //идентификатор объекта, к которому прикрепляется файл. Для отдельно загружаемых файлов – 0.
"name":"ButAtt (2).jpg", //имя файла
"contentType":"image/png", //тип файла
"size":15581, //размер файла в байтах
"target":20, //куда прикладывается файл. 20 – комментарий, 30 – описание, 40 – доп.поле с типой «файл»
"uploadedAt":"2021-03-12T13:28:20.435Z", //дата загрузки
"uploadedBy":"Супервизор" //автор загрузки
}
]
Далее создаем заявку, прикладываем отправленные на сервер файлы.
POST https://apigw.intradesk.ru/changes/v3/tasks?ApiKey=65247DBDE14C45A6A275DC1FC0
Тело запроса:
{
"blocks":{
"tasktype":"{\"value\":36283}",
"name":"{\"value\":\"Почистить снег\"}",
"priority":"{\"value\":75707}",
"description":"{\"value\":\"Ночью выпало много снега, нужно почистить двор 25 дома\"}",
"service":"{\"value\":\"115434/115438/\"}",
"attachments":"{\"value\":{\"addFiles\":[{\"name\":\"ButAtt.jpg\",\"id\":\"604b6c742d34af0001f26723\",\"contentType\":\"image/jpeg\",\"size\":43558,\"target\":20,\"uploadedAt\":\"2021-03-12T13:28:20.435Z \",\"uploadedBy\":\" Супервизор \"}],\"deleteFileIds\":[]}}"
}
}
Ответ сервера:
Получаем статус-код 201 (успешное создание) и данные о только что созданной заявке
Далее можем зайти на клиентский портал и убедиться, что была создана новая заявка, а к её описанию прикреплен файл
Полная документация к методу в формате swagger (Files API)
Другие возможные параметры
Для загрузки файлов для описания:
POST https://apigw.intradesk.ru/files/api/tasks/0/files/target/Description?ApiKey=65247DBDE14C45A6A275DC1FC0
Нужно использовать multipart-запросы.
Все загруженные файлы нужно указать в запросе создания/изменения заявки в теле, в блоке "attachments". Выполнить запрос к API для создания/изменения заявок. Подробнее о создании и изменении заявок в статьях.
POST https://apigw.intradesk.ru/changes/v3/tasks- для новых заявок
PUT https://apigw.intradesk.ru/changes/v3/tasks - для существующих заявок
Задача
Добавим комментарий и прикрепим файл к заявке номер 130.
Решение
Для примера будем использовать приложение Postman. Выполним необходимые настройки для отправки файла для заявки на сервер. Её id равен 4732344.
POST https://apigw.intradesk.ru/files/api/tasks/4732344/files/target/Comment?ApiKey=65247DBDE14C45A6A275DC1FC0
Ответ сервера:
[
{
"id":"611d0061bb982c0001b3ddf5", //идентификатор загруженного файла
"entityType":"task", //тип объекта, к которому приложен файл. Task – заявка, kb - статья базы знаний
"entityId":4732344, //идентификатор объекта, к которому прикрепляется файл.
"name":" ButAtt (2).jpg ", //имя файла
"contentType":"image/png", //тип файла
"size":15581, //размер файла в байтах
"target":30, //куда прикладывается файл. 20 – комментарий, 30 – описание, 40 – доп.поле с типой «файл»
"uploadedAt":"2021-08-18T12:43:14.147Z ", //дата загрузки
"uploadedBy":"customer_19359" //автор загрузки
}
]
Все загруженные для заявки файлы нужно указать в запросе на изменение, сериализовав массив в строку и разместив в блоке "attachments".
Добавим файлы к заявке.
PUT https://apigw.intradesk.ru/changes/v3/tasks?ApiKey=65247DBDE14C45A6A275DC1FC0
Тело запроса:
{
"number": 130,
"blocks":{
"comment":"{\"value\":\"Посмотрите приложенные изображения.\"}",
"attachments":"{\"value\":{\"addFiles\":[{\"name\":\"ButAtt.jpg\",\"id\":\"611d0061bb982c0001b3ddf5\",\"contentType\":\"image/jpeg\",\"size\":43558,\"target\":30,\"uploadedAt\":\"2021-08-18T12:43:14.147Z\",\"uploadedBy\":\"customer_19359\"}],\"deleteFileIds\":[]}}"
}
}
Ответ сервера:
Видим статус-код 200 (успех) и данные об измененной заявке
Зайдя на клиентский портал, видим новый комментарий с приложенным файломе
Полная документация к методу в формате swagger (Files API)
Другие возможные параметры
Для загрузки файлов для комментариев:
POST https://apigw.intradesk.ru/files/api/tasks/{идентификатор заявки}/files/target/Comment?ApiKey=65247DBDE14C45A6A275DC1FC0
Нужно использовать multipart-запросы.
Для изменения заявки:
PUT https://apigw.intradesk.ru/changes/v3/tasks?ApiKey=65247DBDE14C45A6A275DC1FC0. Подробнее в статье «Изменение заявки»