Чтобы система Goodfin могла корректно выводить пользователям статус заявки в сервисе и для определенных статусов показывать действия, которые может выполнить пользователь с заявкой, используется метод /api/v1/service/statusmapping/update
При получении от сервиса CommonResponse (см. примеры на шаге 4.3) c информацией о измененном статусе заявки, Goodifn будет искать полученный статус в настройках и выводить пользователю: статус заявки в сервисе из значения displayStatus; возможные действия с заявкой согласно userActions; переводить заявку в соответствующий статус на Goodfin (по dealApplicationStatus).
Перечень возможных значений dealApplicationStatus см. в справочнике dealApplicationStatuses.
Перечень возможных userActions см. в справочнике userActions.
Нажмите, чтобы посмотреть/скрыть пример 1
Пример запроса для песочницы:
где Authorization - это значение параметра access_token из ответа, полученного на шаге 2.
Method: POST
URL: https://sandbox.goodfin.ru/api/v1/service/statusmapping/update
HEADERS:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRhcHRlciIsImluaXE4dW5yQjEiLCJzaGIiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTU2MDUyNTIxNiwidXNlcklkIjoiZjdjODNmZTMtOTgxYS00MTllLTg1MjUtNjVlZWU1NTljNzYwIiwianRpIjoiODliN2U1MTgtN2M0Ny00NmFjLWJhMWMtODdkYWM3YjUzMzc3IiwiY2xpZW50X2lkIjoiaW5pcTh1bnJCMSJ9.Zt_Idc-Ga3LDFhWdxY03toDuVJlAwoeB_u_zlWY7nNQ
BODY:
{
"statusMapping":{
"22":{
"dealApplicationStatus": "REJECTED_BY_SERVICE",
"displayStatus": "Ошибка отправки",
"userActions":[]
},
"23":{
"dealApplicationStatus": null,
"displayStatus": "Отправлена",
"userActions": []
},
"28":{
"dealApplicationStatus": null,
"displayStatus": "Ожидает подтверждения",
"userActions": []
},
"29":{
"dealApplicationStatus": "CLOSED_BY_SYSTEM",
"displayStatus": "Закрыта хабом",
"userActions": []
},
"10":{
"dealApplicationStatus": null,
"displayStatus": "Проект на согласовании",
"userActions": [
{
"actionType": "CLIENT_SIGN",
"label": "Принять",
"description": "Перейти по ссылке для принятия предложения",
"template": "https://service11.com/{APPLICATION_ID}"
},
{
"actionType": "AGENT_GET_SIGN_URL",
"label": "Получить ссылку",
"description": "Получить ссылку для принятия предложения",
"template": "https://service11.com/{APPLICATION_ID}"
}
]
},
"16": {
"dealApplicationStatus": "CANCELLED_BY_CLIENT",
"displayStatus": "Отозвана клиентом",
"userActions": []
},
"s17": {
"dealApplicationStatus": "PRODUCT_ISSUED",
"displayStatus": "Выдано",
"userActions": []
},
"18": {
"dealApplicationStatus": null,
"displayStatus": "Готова к подписанию",
"userActions": [
{
"actionType": "CLIENT_SIGN",
"label": "Подписать",
"description": "Подписать заявку",
"template": "https://service11.com/{APPLICATION_ID}"
},
{
"actionType": "AGENT_GET_SIGN_URL",
"label": "Получить ссылку",
"description": "Получить ссылку для подписания клиентом",
"template": "https://service11.com/{APPLICATION_ID}"
}
]
}
}
}
Пример запроса для песочницы в формате HTTP/1.1:
POST /api/v1/service/statusmapping/update HTTP/1.1
Host: sandbox.goodfin.ru
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRhcHRlciIsIkZlYjk1cXN4WmkiLCJzaGIiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTU2MTYwMjAzNywidXNlcklkIjoiMzA0ZjJmYWQtOTUzNi00N2U3LTljOWUtM2ZjMTExZmE5MzQ2IiwianRpIjoiZWFiOTc5ZWItNjJlMi00NTBhLWFlMmUtNzc2YWMzNzYyNGJjIiwiY2xpZW50X2lkIjoiRmViOTVxc3haaSJ9.tjBOKtuRYptXV5lUuBDPM7MIfeFS6Ct0uASdiFq5Mpg
Cache-Control: no-cache
{
"statusMapping":{
"22":{
"dealApplicationStatus": "REJECTED_BY_SERVICE",
"displayStatus": "Ошибка отправки",
"userActions":[]
},
"23":{
"dealApplicationStatus": null,
"displayStatus": "Отправлена",
"userActions": []
},
"28":{
"dealApplicationStatus": null,
"displayStatus": "Ожидает подтверждения",
"userActions": []
},
"29":{
"dealApplicationStatus": "CLOSED_BY_SYSTEM",
"displayStatus": "Закрыта хабом",
"userActions": []
},
"10":{
"dealApplicationStatus": null,
"displayStatus": "Проект на согласовании",
"userActions": [
{
"actionType": "CLIENT_SIGN",
"label": "Принять",
"description": "Перейти по ссылке для принятия предложения",
"template": "https://service11.com/{APPLICATION_ID}"
},
{
"actionType": "AGENT_GET_SIGN_URL",
"label": "Получить ссылку",
"description": "Получить ссылку для принятия предложения",
"template": "https://service11.com/{APPLICATION_ID}"
}
]
},
"16": {
"dealApplicationStatus": "CANCELLED_BY_CLIENT",
"displayStatus": "Отозвана клиентом",
"userActions": []
},
"17": {
"dealApplicationStatus": "PRODUCT_ISSUED",
"displayStatus": "Выдано",
"userActions": []
},
"18": {
"dealApplicationStatus": null,
"displayStatus": "Готова к подписанию",
"userActions": [
{
"actionType": "CLIENT_SIGN",
"label": "Подписать",
"description": "Подписать заявку",
"template": "https://service11.com/{APPLICATION_ID}"
},
{
"actionType": "AGENT_GET_SIGN_URL",
"label": "Получить ссылку",
"description": "Получить ссылку для подписания клиентом",
"template": "https://service11.com/{APPLICATION_ID}"
}
]
}
}
}
Пример получаемого ответа:
Нажмите, чтобы посмотреть/скрыть пример выполнения в SoapUI
Пример выполнения метода в SoapUI |
---|
|
Нажмите, чтобы посмотреть/скрыть пример 2
Пример запроса для песочницы:
где Authorization - это значение параметра access_token из ответа, полученного на шаге 2.
Method: POST
URL: https://sandbox.goodfin.ru/api/v1/service/statusmapping/update
HEADERS:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRhcHRlciIsImluaXE4dW5yQjEiLCJzaGIiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTU2MDUyNTIxNiwidXNlcklkIjoiZjdjODNmZTMtOTgxYS00MTllLTg1MjUtNjVlZWU1NTljNzYwIiwianRpIjoiODliN2U1MTgtN2M0Ny00NmFjLWJhMWMtODdkYWM3YjUzMzc3IiwiY2xpZW50X2lkIjoiaW5pcTh1bnJCMSJ9.Zt_Idc-Ga3LDFhWdxY03toDuVJlAwoeB_u_zlWY7nNQ
BODY:
{
"statusMapping": {
"MY_SUPER_STATUS": {
"dealApplicationStatus": null,
"displayStatus": "Супер статус",
"userActions": [
{
"template": "http://service.com/{APPLICATION_ID}",
"label": "test",
"description": "test",
"actionType": "CLIENT_SIGN"
}
]
},
"ERR1": {
"dealApplicationStatus": "REJECTED_BY_SERVICE",
"displayStatus": "testError4Display",
"userActions": []
}
}
}
Пример запроса для песочницы в формате HTTP/1.1:
POST /api/v1/service/statusmapping/update HTTP/1.1
Host: sandbox.goodfin.ru
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRhcHRlciIsIkZlYjk1cXN4WmkiLCJzaGIiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTU2MTYwMjAzNywidXNlcklkIjoiMzA0ZjJmYWQtOTUzNi00N2U3LTljOWUtM2ZjMTExZmE5MzQ2IiwianRpIjoiZWFiOTc5ZWItNjJlMi00NTBhLWFlMmUtNzc2YWMzNzYyNGJjIiwiY2xpZW50X2lkIjoiRmViOTVxc3haaSJ9.tjBOKtuRYptXV5lUuBDPM7MIfeFS6Ct0uASdiFq5Mpg
Cache-Control: no-cache
{
"statusMapping": {
"testSysStatus": {
"dealApplicationStatus": null,
"displayStatus": "testDisplayStatus",
"userActions": [
{
"template": "http://service.com/{APPLICATION_ID}",
"label": "test",
"description": "test",
"actionType": "CLIENT_SIGN"
}
]
},
"ERR1": {
"dealApplicationStatus": "REJECTED_BY_SERVICE",
"displayStatus": "testError4Display",
"userActions": []
}
}
}
Пример получаемого ответа: