Формулировка проблемы: в имеющихся методах API указание на формы производится по их идентификаторам, однако при экспорте/импорте форм между различными экземплярами Synergy идентификатор одной и той же формы изменяется, а код - нет (если этого не сделали специально вручную). Таким образом, для написания портабельных внешних модулей требуется обращаться к формам по их кодам.
Решение: необходимо добавить во все имеющиеся методы API, где используются идентификаторы форм, поддержку указания кодов форм. Ниже перечислены методы, которые нужно изменить, а также указано, какие изменения требуется проделать.
Важное замечание
Для всех перечисленных методов API по умолчанию справедливо следующее: если одновременно указан и код формы, и её идентификатор, обращение к форме производится по её коду. Если требуется иное поведение, оно особо оговаривается.
В тех методах, где идентификатор формы - обязательный параметр, допускается его не указывать, при условии, что указан код формы.
URL метода: rest/api/asforms/form_ext
Необходимо добавить входной параметр formCode
-
код формы.
URL метода: rest/api/asforms/search
Необходимо добавить входной параметр formCode
-
код формы, может быть передано несколько значений, также
разрешается указывать в названии порядковые номера, аналогично
formUUID
(см.
документацию).
Допускается смешивать в одном запросе указание и
formUUID
, и formCode
- поиск
при этом должен осуществляться по всем
указанным формам, как определённым по formUUID
,
так и по formCode
.
URL метода: rest/api/asforms/search/advanced
.
Необходимо добавить code
в список передаваемых
параметров для выборки расширенного поиска (аналогично
uuid
, см. задачу
документацию
на этот метод). При этом в качестве его значения
необходимо будет использовать код нужной формы.
URL метода: rest/api/asforms/data/save
.
Необходимо добавить необязательный входной параметр
formCode
- код формы.
URL метода: rest/api/asforms/getDefaultContent
.
Необходимо добавить входной параметр formCode
-
код формы.
URL метода:
rest/api/addressbook/get_addressbook_item
.
Необходимо добавить выходной параметр formCode
- код формы:
{ "type": "person", "lastName": "Иванов", "firstName": "Иван", "patronymic": "Иванович", "birthDate": "1993-10-12", "isPublic": "false", "photoUrl": "contact_photo?itemID=6de27bc6-1da0-4fec-b03f-5d917c3f3413", "note": "Пример примечания", "tags": "Ключевое слово1, Ключевое слово2", "formUUID": "null", "formCode": "" "phone": [ "230101" ], "im": [ "i.ivanov@jabber.arta.kz" ], "mail": [ "ivanov_ivan@ivan.ru" ], "mobile": [ "87022301010", "87012301010" ], "url": [ "http://ww.kz" ] }
URL метода: rest/api/departments/get_cards
.
В каждый возвращаемый объект с информацией о карточке пользователя
необходимо добавить поле formCode
- код формы.
URL метода:
rest/api/departments/get_by_field_value
.
Необходимо добавить входной параметр formCode
-
код формы карточки, по которой осуществляется поиск.
URL метода: rest/api/docflow/doc/document_info
.
В каждый возвращаемый объект с информацией о документе нужно
добавить поле formCode
- код формы реестра, к
которому принадлежит документ. Если документ не принадлежит ни к
какому реестру, поле не добавляется.
URL метода
rest/api/personalrecord/forms/{userID}
.
В каждый возвращаемый объект с информацией о личной карточке
пользователя нужно добавить поле formCode
- код
формы.
URL метода:
/rest/api/positions/getPositionsWithCards
Необходимо добавить входной параметр
positionFormCode
- код формы, может быть
передано несколько значений, также разрешается указывать в
названии порядковые номера, аналогично
positionFormID
(см.
документацию).
Допускается смешивать в одном запросе указание и
positionFormUUID
, и
positionFormCode
(с разными порядковыми
номерами). Если positionFormUUID
и
positionFormCode
указаны с одним порядковым
номером, то поиск осуществляется по
positionFormCode
.
Кроме этого, в каждый возвращаемый объект с информацией о
должности нужно добавить поле formCode
- код
формы.
Для данного метода необходимо обновить альтернативный поток №2(0414):
Альтернативный поток №2. Параметру
cmpIsNeeded
присвоено значение
true
, не переданы параметры
positionFormID
,
positionFormCode
,
cmpID
. Сервер возвращает ошибку HTTP
400 с сообщением:
{ "errorCode": 13, "errorMessage": "Не переданы параметры positionFormID|positionFormCode, cmpID" }
действие не выполняется.
URL метода: rest/api/positions/get_cards
.
В каждый возвращаемый объект с информацией о карточке должности
нужно добавить поле formCode
- код формы
карточки.
URL метода:
rest/api/positions/get_by_field_value
.
Необходимо добавить входной параметр formCode
-
код формы.
URL метода:
rest/api/filecabinet/get_by_field_value
.
Необходимо добавить входной параметр formCode
-
код формы.