API для внешних потребителей для взаимодействия с входом в систему DfE
Чтобы использовать любой из приведенных ниже API, вам необходимо предоставить токен носителя в заголовке запроса. Этот токен носителя представляет собой просто JWT (см. https://jwt.io) с простой полезной нагрузкой, подписанной с использованием секрета, который только вход в систему DfE, и вы знаете.
Вам следует создать JWT в момент использования в вызывающем приложении, используя стандартную библиотеку JWT, поставляемую с выбранной вами технологией.
Для тела токена потребуется указать эмитента (идентификатор вашего клиента службы) и аудиторию следующим образом:
{
"iss": "REPLACE_WITH_YOUR_CLIENT_ID",
"aud": "signin.education.gov.uk"
}
Токен должен быть подписан с использованием алгоритма HS256 с вашим API_SECRET. В момент интеграции с входом в DfE вам будет предоставлен API_SECRET (не путать с вашим CLIENT_SECRET), если у вас его нет, свяжитесь с командой входа в DfE, и мы восстановим его для вас (это конкретный сервис/среда.)
Postman — это инструмент платформы API, используемый для создания и выполнения API. Postman упрощает каждый этап жизненного цикла API и широко используется при разработке и документации общедоступного API для входа в систему DfE.
Предоставляется набор коллекций Postman и связанных с ними сред выполнения, которые помогут вам изучить, протестировать и отладить интеграцию с платформой входа DfE через общедоступный API.
Инструменты платформы Postman API доступны в виде настольного клиента, размещенного веб-приложения и интерфейса командной строки (CLI) по адресу https://www.postman.com/api-platform/api-client/.
Коллекция и среды Postman общедоступного API входа в систему DfE доступны по адресу https://github.com/DFE-Digital/login.dfe.public-api/tree/develop/Postman/.
В качестве службы, встроенной в систему входа в систему DfE, вы можете использовать API для приглашения пользователей в эту службу.
Запрос выглядит так
POST https://environment-url/services/{service-id}/invitations Authorization: bearer {jwt-token} { "sourceId": "user_id_in_your_service", "given_name": "John", "family_name": "Smith", "email": "[email protected]", "callback": "https://me.service.url/users/signup-complete" }
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
идентификатор службы | URL-адрес | Да | Идентификатор входа DfE для службы, к которой вы приглашаете пользователя. |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который вам будет предоставлен. |
идентификатор источника | Тело | Да | Идентификатор пользователя в вашей системе. Будет включен в ответ обратного канала |
собственное имя | Тело | Да | Имя пользователя |
фамилия | Тело | Да | Фамилия пользователя |
электронная почта | Тело | Да | Адрес электронной почты пользователя. Это также уникальный идентификатор пользователя в DfE Sign-in. |
организация | Тело | Идентификатор входа в систему DfE, с которым должен быть связан пользователь. | |
перезвонить | Тело | URL-адрес, на который должен быть отправлен ответ обратного канала. Подробности ответа обратного канала см. ниже. | |
userRedirect | Тело | URL-адрес, на который пользователь, проходящий регистрацию, должен вернуться после завершения. Если этот параметр опущен, будет использоваться перенаправление по умолчанию для вашего клиента. | |
пригласитьSubjectOverride | Тело | Переопределяет тему электронного письма с приглашением. | |
приглашениеBodyOverride | Тело | Переопределяет содержимое электронного письма с приглашением. |
Возможные коды ответа:
Код состояния HTTP | Причина |
---|---|
202 | Ваш запрос принят |
400 | Ваш запрос недействителен. Дополнительная информация будет указана в теле ответа. |
401 | Ваш JWT отсутствует или недействителен. |
404 | Идентификатор службы в URI не существует. |
500 | На сервере произошла ошибка. Убедитесь, что секреты, такие как секреты, ключи API или токены, настроены правильно. Если проблема не устранена, обратитесь в службу поддержки за помощью. |
Когда запрос сделан, пользователь может существовать или не существовать в системе; и может иметь или не иметь запрошенные желаемые сопоставления организации и услуг. По этой причине все данные пользователя отправляются через ответ обратного канала. Это может произойти сразу же, если пользователь найден (по электронной почте) при входе в систему DfE; или как только пользователь примет электронное письмо с приглашением, которое будет отправлено ему.
Ответ обратного канала выглядит так:
POST https://callback.url/from/request Authorization: bearer {jwt-token} { "sub": "some-uuid", "sourceId: "source-id-from-request" }
Элементы данных в запросе:
Имя | Расположение | Описание |
---|---|---|
JWT-токен | Заголовок | Токен jwt, подписанный тем же секретом, что и запрос. |
суб | Тело | Идентификатор входа DfE для пользователя. Это не изменится и будет включено в ответ OIDC в качестве дополнительной претензии. |
идентификатор источника | Тело | SourceId, использованный в исходном запросе |
Объявления могут быть опубликованы и неопубликованы для организации.
Объявления могут публиковаться:
POST https://environment-url/organisations/announcements Authorization: bearer {jwt-token} { "messageId": "your-unique-idenitifer", "urn": "12345", "type": 1, "title": "Title of announcement", "summary": "summary of announcement", "body": "body of announcement", "publishedAt": "2019-01-31T20:30:40Z", "expiresAt": "2020-01-31T20:30:40Z" }
Структура объявления следующая:
Атрибут | Необходимый | Описание | Тип |
---|---|---|---|
идентификатор сообщения | Да | Идентификатор сообщения в исходной системе. Должно быть уникальным | UUID |
урна | Y (или uid) | Учреждение УРН | Числовой |
жидкость | Y (или урна) | UID группы | UUID |
тип | Да | Числовой код типа сообщения (см. ниже) | Целое число |
заголовок | Да | Название объявления. Максимальное количество символов: 255. | Текст или HTML |
краткое содержание | Да | Краткое содержание объявления. Максимальное количество символов: 340. | Текст или HTML |
тело | Да | Тело объявления. Максимальное количество символов: лимит 5000 | Текст или HTML |
опубликовано в | Да | Объявление о дате/времени опубликовано на | ИСО8601 |
истекает в | Объявление даты/времени истекает в | ИСО8601 |
возможные коды ответа:
Код состояния HTTP | Причина |
---|---|
202 | Ваш запрос принят |
400 | Ваш запрос недействителен. Дополнительная информация будет указана в теле ответа. |
401 | Ваш JWT отсутствует или недействителен. |
500 | На сервере произошла ошибка. Убедитесь, что такие секреты, как секреты, ключи API или токены, настроены правильно. Если проблема не устранена, обратитесь в службу поддержки за помощью. |
Допустимые типы объявлений:
код | значение |
---|---|
1 | Предупреждение об установлении записи |
2 | Проблема с записью об учреждении |
4 | Предупреждение об управленческой записи |
5 | Проблема с записью управления |
Объявления впоследствии могут быть отменены следующими способами:
DELETE https://environment-url/organisations/announcements/your-unique-idenitifer Authorization: bearer {jwt-token}
Где your-unique-idenitifer
— это идентификатор сообщения, который был отправлен при публикации сообщения.
Возможные коды ответа:
Код состояния HTTP | Причина |
---|---|
204 | Объявление снято с публикации |
401 | Ваш JWT отсутствует или недействителен. |
404 | Идентификатор сообщения в URI не существует. |
500 | На сервере произошла ошибка. Убедитесь, что секреты, такие как секреты, ключи API или токены, настроены правильно. Если проблема не устранена, обратитесь в службу поддержки за помощью. |
Если ваше приложение включено, вы можете создавать дочерние приложения через API. Эти дочерние приложения предназначены для использования, когда у вас есть сторонние приложения, которые будут использовать поток согласия OIDC, чтобы позволить им вызывать API в вашем приложении в контексте пользователя.
Дочерние приложения могут быть созданы:
POST https://environment-url/services Authorization: bearer {jwt-token} { "name": "The display name of the application", "description": "A description of what the application does", "consentTitle": "Override for the content at the top of the Consent Screen", "consentBody": "Override for the content of the Consent Screen", "redirectUris": [ "https://endpoint.one/auth/cb", "https://endpoint.two/login/callback" ] }
Примечание относительно переопределения шаблона согласия
Два параметра позволяют переопределить контент, отображаемый пользователям на экране согласия, заголовок и тело (все остальное является статическим в соответствии с текущим дизайном формы). Значение переопределения — это строка, имеющая два (необязательных) динамических значения. например, consentTitle="Do you want to allow {{applicationName}} to send data to us for {{roleScope}}"
Структура заявления следующая:
Атрибут | Необходимый | Описание |
---|---|---|
имя | Да | Удобное имя приложения. Это будет использоваться при запросе согласия пользователя. |
описание | Н | Описание приложения |
перенаправитьUris | Да | Массив URI перенаправления, который можно использовать во время входа в систему и получения согласия OIDC. |
Возможные коды ответа:
Код состояния HTTP | Причина |
---|---|
201 | Ваше дочернее приложение создано. |
400 | Ваш запрос недействителен. Дополнительная информация будет указана в теле ответа. |
403 | У вашего приложения нет разрешения на создание дочерних приложений. |
При успешном создании дочернего приложения вы получите ответ вида:
{ "name": "The display name of the application", "description": "A description of what the application does", "clientId": "child-application-clientid", "clientSecret": "child-application-clientsecret", "redirectUris": [ "https://endpoint.one/auth/cb", "https://endpoint.two/login/callback" ] }
name
, description
и redirectUris
являются подтверждением того, что было получено по вашему запросу. clientId
и clientSecret
— это то, что дочернему приложению необходимо будет использовать при выполнении процессов OIDC. Вам также понадобится clientId
для дальнейшего управления приложением.
Если секрет дочернего приложения будет скомпрометирован, вы можете запросить его восстановление следующим образом:
POST https://environment-url/services/client-id-of-child-application/regenerate-secret Authorization: bearer {jwt-token}
Возможные коды ответа:
Код состояния HTTP | Причина |
---|---|
200 | Секрет был восстановлен. |
403 | Указанный идентификатор клиента не является дочерним для вашего приложения. |
404 | Невозможно найти приложение с указанным идентификатором клиента |
При успешной регенерации секрета вы получите ответ вида:
{ "clientSecret": "regenerated-client-secret" }
Дочерние приложения следуют явному потоку согласия, который в конечном итоге дает код авторизации (грант), который можно обменять на недолговечный токен доступа и долгосрочный токен обновления, чтобы позволить владельцам дочерних приложений управлять жизненным циклом выданных токенов, которые мы предоставляем. удобный API для перечисления грантов и проблем с токенами для управляемого дочернего приложения.
Затем эти токены можно проверить и отозвать, используя стандартные конечные точки подключения Open id (интропекция и отзыв).
Чтобы получить список грантов для конкретной детской услуги:
GET https://environment-url/services/{service-id}/grants
Чтобы получить список токенов, выданных для данного гранта на обслуживание детей:
GET https://environment-url/services/{service-id}/grants/{grant-id}/tokens
Вы можете использовать этот API, чтобы получить доступ пользователя к сервису для организации. Запрос выглядит так
GET https://environment-url/services/{service-id}/organisations/{organisation-id}/users/{user-id} Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
идентификатор службы | URL-адрес | Да | Идентификатор входа DfE для службы. |
идентификатор организации | URL-адрес | Да | Идентификатор входа в систему DfE для организации. |
ID пользователя | URL-адрес | Да | Идентификатор входа DfE для пользователя. |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который вам будет предоставлен. |
Это вернет ответ в следующем формате
{ "userId": "user-id", "serviceId": "service-id", "organisationId": "organisation-id", "roles": [ { "id": "role-id", "name": "The name of the role", "code": "The code of the role", "numericId": "9999", "status": { "id": 1 } } ], "identifiers": [ { "key": "identifier-key", "value": "identifier-value" } ] }
Примечание. Если у Пользователя нет указанной Услуги или он не входит в указанную Организацию, ему будет возвращен код состояния 404 (Не найден) .
Вы можете использовать этот API для получения организаций, связанных с пользователем. Запрос выглядит так:
GET https://environment-url/users/{user-id}/organisations Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
ID пользователя | URL-адрес | Да | Идентификатор входа DfE для пользователя. |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который вам будет предоставлен. |
Это вернет ответ в следующем формате
[ { "id": "org-id", "name": "Organisation name", "category": { "id": "004", "name": "Early Year Setting" }, "urn": "org-urn", "uid": null, "ukprn": null, "establishmentNumber": null, "status": { "id": 1, "name": "Open" }, "closedOn": null, "address": null, "telephone": null, "statutoryLowAge": null, "statutoryHighAge": null, "legacyId": "legacy-id", "companyRegistrationNumber": null }, ]
Вы можете использовать эту конечную точку API для получения ролей, связанных с вашей службой или одной из ваших дочерних служб. Запрос выглядит так:
GET https://environment-url/services/{client-id}/roles Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
идентификатор клиента | URL-адрес | Да | Идентификатор клиента входа DfE для службы. |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который вам будет предоставлен. |
Возможные коды ответа:
Код состояния HTTP | Причина |
---|---|
200 | Список ролей (возможно, пустой) для запрошенного идентификатора клиента был успешно получен. |
403 | Указанный идентификатор клиента не является вашей службой или дочерним элементом вашей службы. |
404 | Невозможно найти службу с указанным идентификатором клиента. |
Это вернет ответ в следующем формате:
[ { "name": "Role 1 Name", "code": "Role1Code", "status": "Active" }, { "name": "Role 2 Name", "code": "Role2Code", "status": "Inactive" } ]
или следующее, если роли не найдены:
[]
Вы можете использовать этот API для получения организаций, связанных с пользователем. Запрос выглядит так:
GET https://environment-url/users/{user-id}/v2/organisations Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
ID пользователя | URL-адрес | Да | Идентификатор входа DfE для пользователя. |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который вам будет предоставлен. |
Это вернет ответ в следующем формате
[ { "id": "org-id", "name": "Organisation name", "category": { "id": "001", "name": "Establishment" }, "urn": null, "uid": null, "upin": "111111", "ukprn": "21133510", "establishmentNumber": null, "status": { "id": 1, "name": "Open" }, "closedOn": null, "address": "Organisation address", "telephone": null, "statutoryLowAge": null, "statutoryHighAge": null, "legacyId": "1111", "companyRegistrationNumber": null, "DistrictAdministrativeCode": null, "DistrictAdministrative_code": null, "providerTypeName": "Commercial and Charitable Provider", "ProviderProfileID": "7777777", "OpenedOn": null, "SourceSystem": "PIMS", "GIASProviderType": null, "PIMSProviderType": "Private Limited Company", "PIMSProviderTypeCode": 11, "PIMSStatus": "1", "masteringCode": null, "PIMSStatusName": "", "GIASStatus": null, "GIASStatusName": null, "MasterProviderStatusCode": 1, "MasterProviderStatusName": "Active", "LegalName": "Org Legal Name" }, ]
Вы можете получить список пользователей без фильтров, как определено в токене авторизации (атрибут iss).
Запрос выглядит так:
GET https://environment-url/users?page=1&pageSize=25 Authorization: bearer {jwt-token}
Переменные page и pageSize являются необязательными и по умолчанию имеют значения 1 и 25 соответственно. Эти переменные позволяют вызывающей стороне перебирать страницы результатов (используя атрибуты в теле ответа для расчета количества записей и страниц).
Тело ответа содержит следующие атрибуты (пример ответа ниже):
Имя | Описание |
---|---|
пользователи | Массив сведений о пользователе (включая объект дочерней организации). |
количество записей | Общее количество зарегистрированных записей |
страница | Текущий номер страницы |
число страниц | Общее количество страниц |
Пример ответа
{ "пользователи": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "organization": { "id": "13F20E54-79EA-4146 -8E39-18197576F023", «имя»: «Отдел образования», «Категория»: «002», «Тип»: ноль, «URN»: ноль, «UID»: ноль, «УКПРН»: ноль, «Номер учреждения»: «001», «Статус»: 1, «Закрыто»: ноль, «Адрес»: ноль, «фаза образования»: ноль, «statutoryLowAge»: ноль, «statutoryHighAge»: ноль, «телефон»: ноль, «regionCode»: ноль, «legacyId»: «1031237», «companyRegistrationNumber»: «1234567», «ProviderProfileID»: «», «UPIN» : "", "PIMSProviderType": "Департамент центрального правительства", "PIMSStatus": "", "DistrictAdministrativeName": "", "OpenedOn": "2007-09-01T00:00:00.0000000Z", "SourceSystem": "", "ProviderTypeName": "Государственный орган", "GIASProviderType" : "", "PIMSProviderTypeCode": "", "createAt": "2019-02-20T14:27:59.020Z", "updatedAt": "2019-02-20T14:28:38.223Z" }, "roleName": "Approver", "roleId": 10000, "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "Джонсон", "givenName": "Роджер" } ], «numberOfRecords»: 1, «page»: 1, «numberOfPages»: 1}
Вы можете получить список пользователей с фильтрами, определенными в токене авторизации (атрибут iss).
Запрос выглядит так:
GET https://environment-url/users?page=1&pageSize=25&status=0&from=2021%2F02%2F11%2002%3A22%3A06&to=2021%2F11%2F03%2002%3A22%3A06 Authorization: bearer {jwt-token}
Переменные page и pageSize являются необязательными и по умолчанию имеют значения 1 и 25 соответственно. Эти переменные позволяют вызывающей стороне перебирать страницы результатов (используя атрибуты в теле ответа для расчета количества записей и страниц). Статус from и to является необязательным, на данный момент статус принимает 0. диапазон дат принимает только 7 дней. Даты должны быть в форме URL-кодирования, как показано в примере.
Проверка диапазона дат. Отправлять сообщение об ошибке, если диапазон дат превышает 7 дней. Только с даты в фильтре пользователи обновляются через 7 дней после даты с. Только на сегодняшний день в фильтре пользователи получают обновления за 7 дней до текущей даты. Если дата не указана, пользователи получают обновления за период с настоящего момента до 7 дней до нее.
Тело ответа содержит следующие атрибуты (пример ответа ниже):
Имя | Описание |
---|---|
пользователи | Массив сведений о пользователе (включая объект дочерней организации). |
количество записей | Общее количество зарегистрированных записей |
страница | Текущий номер страницы |
число страниц | Общее количество страниц |
предупреждение (необязательно) | появляется только при выборке пользователей только за 7 дней |
Пример ответа
{ "пользователи": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "organization": { "id": "13F20E54-79EA-4146 -8E39-18197576F023", «имя»: «Отдел образования», «Категория»: «002», «Тип»: ноль, «URN»: ноль, «UID»: ноль, «УКПРН»: ноль, «Номер учреждения»: «001», «Статус»: 1, «Закрыто»: ноль, «Адрес»: ноль, «фаза образования»: ноль, «statutoryLowAge»: ноль, «statutoryHighAge»: ноль, «телефон»: ноль, «regionCode»: ноль, «legacyId»: «1031237», «companyRegistrationNumber»: «1234567», «ProviderProfileID»: «», «UPIN» : "", "PIMSProviderType": "Департамент центрального правительства", "PIMSStatus": "", "DistrictAdministrativeName": "", "OpenedOn": "2007-09-01T00:00:00.0000000Z", "SourceSystem": "", "ProviderTypeName": "Государственный орган", "GIASProviderType" : "", "PIMSProviderTypeCode": "", "createAt": "2019-02-20T14:27:59.020Z", "updatedAt": "2019-02-20T14:28:38.223Z" }, "roleName": "Approver", "roleId": 10000, "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "Джонсон", "givenName": "Роджер" } ], "numberOfRecords": 1, "page": 1, "numberOfPages": 1, "предупреждение": "Можно получить данные только за 7 дней"}
Чтобы интерпретировать идентификатор категории, см. здесь.
Вы можете получить список утверждающих для организаций, входящих в сферу действия ваших услуг (на основе условий ролевой политики), если у вашей службы есть на это разрешение.
Запрос выглядит так:
GET https://environment-url/users/approvers?page=1&pageSize=25 Authorization: bearer {jwt-token}
Переменные page и pageSize являются необязательными и по умолчанию имеют значения 1 и 25 соответственно. Эти переменные позволяют вызывающей стороне перебирать страницы результатов (используя атрибуты в теле ответа для расчета количества записей и страниц).
Тело ответа содержит следующие атрибуты (пример ответа ниже):
Имя | Описание |
---|---|
пользователи | Массив сведений о пользователе (включая объект дочерней организации). |
количество записей | Общее количество зарегистрированных записей |
страница | Текущий номер страницы |
число страниц | Общее количество страниц |
Пример ответа
возможные коды ответа:
Код состояния HTTP | Причина |
---|---|
200 | Ваш запрос принят |
400 | Ваш запрос недействителен. Дополнительная информация будет указана в теле ответа. |
401 | Ваш JWT отсутствует или недействителен. |
403 | У вашего приложения нет разрешения на получение утверждающих для организаций. |
500 | На сервере произошла ошибка. Убедитесь, что секреты, такие как секреты, ключи API или токены, настроены правильно. Если проблема не устранена, обратитесь в службу поддержки за помощью. |
{ "пользователи": [ { "organization": { "id": "13F20E54-79EA-4146-8E39-18197576F023", "name": "Отдел образования", "category": { "id": "002", "name": " Местная власть" }, «urn»: ноль, «uid»: ноль, «ukprn»: ноль, «учреждениеNumber»: «001», «статус»: { «id»: 1, «имя»: «Открыть» }, "closedOn": ноль, "адрес": ноль, "телефон": ноль, "statutoryLowAge": ноль, "statutoryHighAge": ноль, "legacyId": "1031237", "companyRegistrationNumber": "1234567", "ProviderProfileID" ": "", "UPIN": "", "PIMSProviderType": "Департамент центрального правительства", "PIMSStatus": "", "DistrictAdministrativeName": "", "OpenedOn": "2007-09-01T00:00:00.0000000Z", "SourceSystem": "", "ProviderTypeName": "Правительство" Body", "GIASProviderType": "", "PIMSProviderTypeCode": "" }, "roleId": 10000, "roleName": "Утверждающий", "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "Джонсон", "givenName": "Роджер" } ], «numberOfRecords»: 1, «page»: 1, «numberOfPages»: 1}
Вы можете использовать этот API, чтобы фильтровать пользователей организаций по ролям. Запрос выглядит так:
GET https://environment-url/organisations/{UKPRN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
УПРН | URL-адрес | Да | УПРН для организации |
роли | URL-адрес | Н | Коды ролей пользователей для фильтрации списка пользователей организации |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который вам будет предоставлен. |
Возможные коды ответа включают в себя:
Код состояния HTTP | Причина |
---|---|
200 | Роли успешно получены для запрошенной организации. |
400 | Ваш запрос недействителен. Дополнительная информация будет указана в теле ответа. |
401 | Ваш JWT отсутствует или недействителен. |
403 | У вашего приложения нет разрешения на получение пользователей для этой организации. |
404 | Для запрошенной организации не найдено пользователей с указанными ролями, в результате чего массив пуст. |
500 | На сервере произошла ошибка. Убедитесь, что такие секреты, как секреты, ключи API или токены, настроены правильно. Если проблема не устранена, обратитесь в службу поддержки за помощью. |
Это вернет ответ в следующем формате
{ "ukprn": "organisation-ukprn-id", "users": [ { "email": "[email protected]", "firstName": "user1", "lastName": "test", "userStatus": 1, "roles": [ "role1" ] }, { "email": "[email protected]", "firstName": "user2", "lastName": "test", "roles": [ "role1", "role2" ] } ] }
Получение пользователей организации по отфильтрованным критериям
Вы также можете использовать приведенный выше API для получения пользователей организации на основе отфильтрованных критериев, таких как адрес электронной почты или идентификатор пользователя. Запрос выглядит так
GET https://environment-url/organisations/{UKPRN}/[email protected] Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
УПРН | URL-адрес | Да | УПРН для организации |
электронная почта | URL-адрес | Н | Адрес электронной почты пользователя для фильтрации |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который будет вам предоставлен. |
Формат ответа остается таким же, как и предыдущий вызов API, что позволяет фильтровать по определенным критериям.
Вы можете использовать этот API, чтобы фильтровать пользователей организаций по ролям. Запрос выглядит так:
GET https://environment-url/organisations/{UPIN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
УПИН | URL-адрес | Да | УПИН для организации |
роли | URL-адрес | Н | Коды ролей пользователей для фильтрации списка пользователей организации |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который будет вам предоставлен. |
Возможные коды ответа включают в себя:
Код состояния HTTP | Причина |
---|---|
200 | Роли успешно получены для запрошенной организации. |
400 | Ваш запрос недействителен. Дополнительная информация будет указана в теле ответа. |
401 | Ваш JWT отсутствует или недействителен. |
403 | У вашего приложения нет разрешения на получение пользователей для этой организации. |
404 | Для запрошенной организации не найдено пользователей с указанными ролями, в результате чего массив пуст. |
500 | На сервере произошла ошибка. Убедитесь, что секреты, такие как секреты, ключи API или токены, настроены правильно. Если проблема не устранена, обратитесь в службу поддержки за помощью. |
Это вернет ответ в следующем формате
{ "upin": "organisation-upin-id", "users": [ { "email": "[email protected]", "firstName": "user1", "lastName": "test", "userStatus": 1, "roles": [ "role1" ] }, { "email": "[email protected]", "firstName": "user2", "lastName": "test", "roles": [ "role1", "role2" ] } ] }
Получение пользователей организации по отфильтрованным критериям
Вы также можете использовать приведенный выше API для получения пользователей организации на основе отфильтрованных критериев, таких как адрес электронной почты или идентификатор пользователя. Запрос выглядит так
GET https://environment-url/organisations/{UPIN}/[email protected] Authorization: bearer {jwt-token}
Переменные элементы данных:
Имя | Расположение | Необходимый | Описание |
---|---|---|---|
УПИН | URL-адрес | Да | УПИН для организации |
электронная почта | URL-адрес | Н | Адрес электронной почты пользователя для фильтрации |
JWT-токен | Заголовок | Да | Токен JWT для авторизации должен быть подписан с использованием вашего секрета API, который будет вам предоставлен. |
Формат ответа остается таким же, как и предыдущий вызов API, что позволяет фильтровать по определенным критериям.
идентификатор | Описание |
---|---|
001 | Заведение (см. Типы заведений ниже) |
002 | Местные власти |
003 | Другие устаревшие организации |
004 | Настройка раннего года |
008 | Другие заинтересованные стороны |
009 | Поставщики обучения |
010 | Мультиакадемический фонд |
011 | Правительство |
012 | Другие заинтересованные стороны GIAS |
013 | Единый академический трест |
050 | Поставщики программного обеспечения |
051 | Дальнейшее образование |
идентификатор | Описание |
---|---|
001 | Общественная школа |
002 | Школа добровольной помощи |
003 | Добровольная контролируемая школа |
005 | Базовая школа |
006 | Городской технологический колледж |
007 | Общественная специальная школа |
008 | Необслуживаемая специальная школа |
010 | Другая независимая специальная школа |
011 | Другая независимая школа |
012 | Фонд специальной школы |
014 | Отдел направления учеников |
015 | Детский сад Лос-Анджелеса |
018 | Дальнейшее образование |
024 | Безопасные единицы |
025 | Оффшорные школы |
026 | Служба Детское Образование |
027 | Разное |
028 | Спонсор Академии под руководством |
029 | Высшее учебное заведение |
030 | Валлийский истеблишмент |
031 | Центры шестого класса |
032 | Учреждение специального поста 16 |
033 | Специальный спонсор Академии под руководством |
034 | Конвертер Академии |
035 | Бесплатные школы |
036 | Специальные бесплатные школы |
037 | Британские зарубежные школы |
038 | Бесплатные школы – альтернативное обеспечение |
039 | Бесплатные школы – 16–19 |
040 | Университетский педагогический колледж |
041 | Школы-студии |
042 | Конвертер альтернативных предложений Академии |
043 | Спонсор альтернативного обеспечения Академии под руководством |
044 | Специальный конвертер Академии |
045 | Конвертер Академии 16-19 лет |
046 | Спонсор Академии 16-19 лет |
047 | Чайлдре
Расширять
Дополнительная информация
Связанные приложения
Рекомендуем вам
Связанные новости
Все
|