- Создатель Захаров Прохор Андреевич, отредактировано дек 21, 2022
Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим просмотр истории страницы
« Предыдущий Версия 6 Следующий »
Для взаимодействия с api используется авторизация с использованием токена. Полученный токен используется далее во всех методах.
Подробнее см. стандарт jwt.io по правилам получения и "времени жизни" токена.
В песочнице необходимо запросить токен у специалистов системы Goodfin. Будет сгенерирован долгоживущий токен которым можно пользовтаться.
В действующей системе токен нужно будет получать используя метод /api/v1/oauth/token
Пример запроса для действующей системы:
POST /api/v1/oauth/token HTTP/1.1 Host: sandbox.goodfin.ru Content-Type: application/x-www-form-urlencoded Cookie: lng=ru Content-Length: 80 grant_type=password&client_id=shboauthclient&username=myLogin&password=myPassword
Пример получаемого ответа:
{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRhcHRlciIsImluaXE4dW5yQjEiLCJzaGIiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTU2MDUyNTIxNiwidXNlcklkIjoiZjdjODNmZTMtOTgxYS00MTllLTg1MjUtNjVlZWU1NTljNzYwIiwianRpIjoiODliN2U1MTgtN2M0Ny00NmFjLWJhMWMtODdkYWM3YjUzMzc3IiwiY2xpZW50X2lkIjoiaW5pcTh1bnJCMSJ9.Zt_Idc-Ga3LDFhWdxY03toDuVJlAwoeB_u_zlWY7nNQ", "token_type": "bearer", "expires_in": 3599, "scope": "read write", "userId": "f7c83fe3-981a-419e-8525-65eee559c760", "jti": "89b7e518-7c47-46ac-ba1c-87dac7b53377" }
Для взаимодействия с системой, помимо токена авторизации в запросе необходимо указывать контекст пользователя от которого выполняется запрос (определяет личный кабинет и текущую роль).
В песочнице это значение нужно запросить у специалистов системы.
В действующей системе для получения доступных контекстов необходимо вызвать метод /api/v1/user/contexts
Пример тела запроса:
{ "fetchFields": [ "UserAssignment", "Participant", "Subject", "Company" ] }
Пример получаемого ответа:
{ "fetchFields": { "Company": { "23ce4b80-4454-4eec-b6ba-769877f4d8ad": { "author": "IndividualContactParticipant:75740c41-2982-4a3d-9376-c857fdd5268a", "baseOkved": "105", "companyDraft": null, "companySystemType": "Agent", "corrAddress": "23ce4b80-4454-4eec-b6ba-769877f4d8ad:21cac18f-567f-4111-851e-9629aa2ce5cb", "createDateTime": "2018-09-20T12:45:05.911", "englishName": null, "factAddress": "23ce4b80-4454-4eec-b6ba-769877f4d8ad:0c0dbbdb-4292-42f4-a2a4-77a22e09be8f", "fss": null, "fullName": "ООО \"Суперагент\"", "id": "23ce4b80-4454-4eec-b6ba-769877f4d8ad", "inn": "5986115901", "innDate": null, "innPlace": null, "kpp": "650343355", "legalAddress": "23ce4b80-4454-4eec-b6ba-769877f4d8ad:86d88c98-32a7-439a-a20b-2a5eab7e9adf", "legalType": "ORGANIZATION", "mainContact": null, "modifiedDateTime": "2018-10-01T14:52:18.22", "modifier": "CompanyContactParticipant:e2bfe0f8-e95b-42af-9cea-b4543391e30c", "ogrn": "6032301857329", "okato": null, "okfs": null, "okogu": null, "okopf": "108", "okpo": "00022160", "oktmo": null, "okveds": [], "orgType": "COM", "paidCapital": null, "pfr": null, "regCapital": null, "regDate": "2008-12-12", "regDocDate": null, "regNumber": null, "regOrg": "УВД Москвы", "regPlace": "Москва", "shortName": "ООО \"Суперагент\"", "staff": null, "taxSystem": "1", "topType": null } }, "CompanyContactParticipant": { "3795f78b-5f59-4764-8089-72e17d2e9306": { "assignments": [ "964ec2ba-771d-42ed-b9eb-ebe405187867", "8119027a-e7b2-4cbe-9a3f-b524f1ad02a7" ], "author": "CompanyContactParticipant:e2bfe0f8-e95b-42af-9cea-b4543391e30c", "comment": null, "company": "23ce4b80-4454-4eec-b6ba-769877f4d8ad", "companyContact": true, "createDateTime": "2022-11-01T10:58:01.036088", "decisionRole": null, "department": null, "draft": null, "endDate": null, "firstName": "Имя", "fullName": "Фамилия Имя Отчество", "id": "3795f78b-5f59-4764-8089-72e17d2e9306", "individual": false, "isActive": true, "isEdsSigner": false, "isMainEdsSigner": null, "job": null, "lastName": "Фамилия", "manager": null, "middleName": "Отчество", "modifiedDateTime": "2022-11-01T10:58:01.036088", "modifier": "CompanyContactParticipant:e2bfe0f8-e95b-42af-9cea-b4543391e30c", "participantType": "COMPANY_CONTACT", "priorityNumber": null, "sex": null, "startDate": null, "userContact": "b0fda03e-6cf1-40e7-97b6-05d65403e0c6", "userEmail": "test@email.com", "userPhone": "+79876543210", "verificationType": "TRUSTED_CONTACT", "verificationValue": "Иванов Иван Иванович" } }, "IndividualContactParticipant": { "adc00383-1de8-4b07-9d95-a3651b8fd820": { "assignments": [ "110bd4d4-41b4-452a-b475-eda4896ae368" ], "author": "CompanyContactParticipant:7cb408a3-ab8f-434c-ba50-42670a0aa305", "companyContact": false, "createDateTime": "2022-11-01T10:58:50.407473", "firstName": "Имя", "fullName": "Фамилия Имя Отчество", "id": "adc00383-1de8-4b07-9d95-a3651b8fd820", "individual": true, "inn": null, "lastName": "Фамилия", "middleName": "Отчество", "modifiedDateTime": null, "modifier": null, "participantType": "INDIVIDUAL", "sex": null, "shortName": "Фамилия И.О.", "timezone": null, "userContact": "b0fda03e-6cf1-40e7-97b6-05d65403e0c6", "userEmail": "test@email.com", "userPhone": "+79876543210" } }, "ServiceContactParticipant": {}, "Subject": { "06a92cd0-1177-4ad2-9f3e-b580a1d8d943": { "accountType": "INDIVIDUAL", "categoryType": "Role", "id": "06a92cd0-1177-4ad2-9f3e-b580a1d8d943", "name": "Физическое лицо" }, "3444fe9d-71a5-44c2-a540-3cdcc0d793c6": { "accountType": "AGENT", "categoryType": "Role", "id": "3444fe9d-71a5-44c2-a540-3cdcc0d793c6", "name": "Администратор компании-агента" }, "dbe5e997-b977-4371-8c7f-56a2eed4e444": { "accountType": "CLIENT", "categoryType": "Role", "id": "dbe5e997-b977-4371-8c7f-56a2eed4e444", "name": "Сотрудник компании-клиента" } }, "UserAssignment": { "110bd4d4-41b4-452a-b475-eda4896ae368": { "accountType": "INDIVIDUAL", "id": "110bd4d4-41b4-452a-b475-eda4896ae368", "subject": "06a92cd0-1177-4ad2-9f3e-b580a1d8d943" }, "8119027a-e7b2-4cbe-9a3f-b524f1ad02a7": { "accountType": "AGENT", "id": "8119027a-e7b2-4cbe-9a3f-b524f1ad02a7", "subject": "3444fe9d-71a5-44c2-a540-3cdcc0d793c6" }, "964ec2ba-771d-42ed-b9eb-ebe405187867": { "accountType": "CLIENT", "id": "964ec2ba-771d-42ed-b9eb-ebe405187867", "subject": "dbe5e997-b977-4371-8c7f-56a2eed4e444" } } }, "result": { "participants": [ "CompanyContactParticipant:3795f78b-5f59-4764-8089-72e17d2e9306", "IndividualContactParticipant:adc00383-1de8-4b07-9d95-a3651b8fd820" ], "userInfo": { "email": "test@email.com", "firstName": "Имя", "isVerifiedEmail": false, "isVerifiedPhone": true, "lastLogin": "2022-12-21T06:29:34.203226", "lastName": "Фамилия", "middleName": "Отчество", "phone": "+79876543210", "status": "ACTIVE", "userContact": "b0fda03e-6cf1-40e7-97b6-05d65403e0c6", "userName": "postman" } } }
В качестве контекста для работы с системой в роли агента для отправки заявок необходимо использовать ID сущности UserAssignment, с соответствующим значением subject(при отправке заявок в качестве агента, subject должен быть с ролью "AGENT", в качестве клиента - "CLIENT" Выбранный контекст необходимо передавать в cookies запроса "ua" либо в http-заголовке "Authorization-user-assignment" (имеет больший приоритет по сравнению со значением в cookies)
- Нет меток