Кнопка «Отправить»#
Регистрация кнопки «Отправить»#
Зарегистрировать кнопку «Отправить» для одного экземпляра объекта системы может только одна внешняя интеграционная система (клиент). При попытке зарегистрировать для такого объекта еще одну кнопку «Отправить» другой системой в ответ будет возвращена ошибка.
При вызове действия кнопки «Отправить» формируется запрос, в тело которого помещается следующая информация:
ключ и псевдоним объекта в Cистеме;
адрес клиента;
схема проекта, где находится объект.
Для регистрации кнопки «Отправить» используется метод register/{schemeId}/{entityKey} путем выполнения HTTP-PATCH запроса.
В теле запроса необходимо указать URL адреса, куда будет возвращаться ответ по вызову действия данной кнопки в системе. В заголовке необходимо указывать Content-type: «application/json».
При успешном ответе будет возвращен HTTP Status 204.
Пример patch-запроса:
https://jasper-marvel-isogd.gemsdev.ru/api/v1/register/{schemeId}/{entityKey}
где:
{schemeId} - псевдоним схемы проекта;
{entityKey} - id объекта, для которого необходимо зарегистрировать кнопку «Отправить».
После регистрации система будет отображать кнопку «Отправить» в карточке указанного объекта системы, при нажатии на которую отправляется HTTP-POST оповещение по зарегистрированному адресу.
Итоговый результат в карточке объекта:
Отправка сообщения о состоянии процесса (статуса)#
Отправить сообщение о статусе выполнения бизнес-процесса (например, о том, что результат услуги был успешно передан на портал услуг) можно только для того объекта системы, для которого была зарегистрирована кнопка «Отправить».
Для отправки сообщения пользователю системы по заданному объекту используется метод status/{schemeId}/{entityAlias}/{entityKey} путем выполнения HTTP-PATCH запроса. В заголовке необходимо указать Content-type: «application/json». При успешном ответе вернется HTTP Status 204.
В тело запроса помещается сообщение (уведомление), которое необходимо доставить пользователю в кодировке UTF-8. Полученное сообщение (уведомление) может быть отображено для пользователя в отдельном поле [Результат отправки статуса] в карточке объекта системы. Данная возможность необходима в случаях, когда пользователю требуется выполнить действие, указанное в данном сообщении (уведомлении).
Пример cURL запроса:
curl -X PATCH HTTPS://{APIURL}/api/v1/status/{schemeId}/{entityAlias}/{entityKey} -H 'content-type: application/json' -d '{ "successCode": "true", "message": "some message" }'
где:
{APIURL} - адрес интеграционного сервиса;
{schemeId} - псевдоним схемы проекта;
{entityAlias} - алиас объекта;
{entityKey} - id объекта.
«successCode» - может принимать значения «true», «false» или быть пустым. С помощью «successCode» в системе задается возможность отправки результата пользователем в интеграционный сервис (в том числе, если потребуются исправления в системе в результате валидации на стороне интеграционного сервиса). Другими словами, successCode регулирует состояние кнопки «Отправить» в интерфейсе системы.
«successCode»: «true» должен быть направлен в случае, когда результат был успешно доставлен во внешнюю систему, например, на портал услуг. Это означает завершение интеграционного взаимодействия по конкретному экземпляру объекта. «message» может содержать уведомление для пользователя об успешной отправке.
«successCode»: «false» должен быть направлен в случае, если после некоторых действий пользователя в системе и попытки отправить результат в интеграционный сервис, произошла ошибка, которую необходимо устранить и отправить результат повторно. Например, не пройдена валидация на стороне интеграционного сервиса. В «message» должно быть указано сообщение для пользователя, отражающее суть ошибки. Во всех остальных случаях successCode может быть пустым («successCode»: «»). Это означает, что состояние кнопки «Отправить» в системе останется неизменным. В таком сценарии пользователю системы можно просто передать сообщение (уведомление). Например, что валидация переданного результата прошла успешно.
Отмена регистрации кнопки «Отправить»#
Чтобы убрать кнопку «Отправить» из карточки объекта, необходимо произвести отмену регистрации кнопки. Для этого используется метод unregister/{schemeId}/{entityKey} путем выполнения HTTP-PATCH запроса. В заголовке необходимо указать Content-type: «application/json». При успешном ответе вернется HTTP Status 204.
Пример patch-запроса:
https://jasper-marvel-isogd.gemdev.ru/api/v1/register/{schemeId}/{entityKey}
где:
{schemeId} - псевдоним схемы проекта;
{entityKey} - id объекта, для которого необходимо зарегистрировать кнопку «Отправить».