Массовое обновление RESVT

В прошлом месяце у меня был вопрос о POSTing в поле RESVT Workfront. С тех пор я завершил свою базу данных, чтобы получить все данные Leave Calendar нашего отдела и передать их в API Workfront в качестве методов POST; Однако я обнаружил новую проблему.

Каждый раз, когда я добавляю новое событие RESVT пользователю с существующим событием RESVT, ​​он удаляет предыдущее событие, прежде чем сохранить новое событие. Я рассмотрел отправку массового редактирования с использованием формата массового редактирования, чтобы сразу получить все события для пользователя в Интернете, как показано ниже:

https://sosprojects.preview.workfront.com/attask/api/v9.0
/5b6b72b5007d93b00b00dda361398cad?method=put&updates=
[
{
objCode:”RESVT”,
startDate:”2018-08-20T00:00:00:000-0700”,
endDate:”2018-08-23T00:00:00:000-700”
},
{
objCode:”RESVT”,
startDate:”2018-09-20T00:00:00:000-0700”,
endDate:”2018-09-23T00:00:00:000-0700”
}
]
&sessionID=209055d209f94662b32ac50175b34bc7

Какой Workfront "принимает" (не выдает код ошибки), но сохраняет только последнее событие RESVT (например, 9/20 - 9/23).

Я пытался использовать PUT для редактирования существующего события RESVT, ​​но каждое событие RESVT будет принимать только одну дату начала и одну дату окончания, поэтому он объединяет эти попытки в одно дополнительное длинное событие.

Я знаю, что календарь перерывов может вручную создавать несколько событий RESVT для каждого пользователя, но я не могу понять, как воспроизвести это умение с помощью моих методов http. Календарь всегда создает новые события RESVT для каждого события, зарегистрированного всякий раз, когда я добавляю новое событие к нему; так что я думаю, что он делает что-то вроде массового POST, который я попробовал наверху, так почему мой метод не может сделать то же самое?

1 ответ

Документы API не показывают обновление в качестве допустимого метода для объекта RESVT. Просто измените поля непосредственно для конкретного объекта, который вы хотите обновить. Вы знаете его идентификатор?

PUT https://<url>.my.workfront.com/attask/api/v9.0/RESVT/<ID of the reserved time you want to edit>?userID=abc1234,startDate=<date>,endDate=<date>
Другие вопросы по тегам