API para que consumidores externos interactúen con el inicio de sesión de DfE
Para utilizar cualquiera de las API siguientes, deberá proporcionar un token de portador en el encabezado de la solicitud. Este token de portador es simplemente un JWT (consulte https://jwt.io) con una carga útil simple que está firmada mediante un secreto que sólo DfE Inicia sesión y ya lo sabes.
Debe crear un JWT en el punto de uso en su aplicación de llamadas utilizando la biblioteca JWT estándar que viene con la tecnología elegida.
El cuerpo del token requerirá un emisor (su identificación de cliente de servicio) y una audiencia de la siguiente manera:
{
"iss": "REPLACE_WITH_YOUR_CLIENT_ID",
"aud": "signin.education.gov.uk"
}
El token debe estar firmado utilizando el algoritmo HS256 con su API_SECRET. En el punto de integración con DfE Sign-in, se le habrá proporcionado un API_SECRET (que no debe confundirse con su CLIENT_SECRET). Si no lo tiene, comuníquese con el equipo de DfE Sign-in y regeneraremos uno para usted (estos son servicio/entorno específico.)
Postman es una herramienta de plataforma API que se utiliza para crear y ejecutar API. Postman simplifica cada paso del ciclo de vida de la API y se utiliza ampliamente en el desarrollo y la documentación de la API pública de inicio de sesión de DfE.
Se ha proporcionado un conjunto de colecciones de Postman y sus entornos de ejecución asociados para ayudarle a aprender, probar y depurar sus integraciones con la plataforma de inicio de sesión DfE a través de la API pública.
Las herramientas de la plataforma Postman API están disponibles como cliente de escritorio, aplicación web alojada y una interfaz de línea de comandos (CLI) en https://www.postman.com/api-platform/api-client/.
La colección y los entornos Postman de la API pública de inicio de sesión de DfE están disponibles en https://github.com/DFE-Digital/login.dfe.public-api/tree/develop/Postman/.
Como servicio integrado en DfE Sign-in, puede utilizar la API para invitar a los usuarios al servicio.
La solicitud parece
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" }
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
ID de servicio | URL | Y | El identificador de inicio de sesión de DfE para el servicio al que está invitando al usuario |
token-jwt | Encabezamiento | Y | El token JWT de autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
ID de fuente | Cuerpo | Y | El identificador del usuario en su sistema. Se incluirá en la respuesta del canal secundario. |
nombre de pila | Cuerpo | Y | El nombre de los usuarios. |
apellido | Cuerpo | Y | El nombre de la familia del usuario. |
correo electrónico | Cuerpo | Y | La dirección de correo electrónico del usuario. Este también es un identificador único de un usuario en el inicio de sesión de DfE. |
organización | Cuerpo | El identificador de inicio de sesión de DfE al que el usuario debe estar asociado | |
llamar de vuelta | Cuerpo | La URL a la que se debe enviar la respuesta del canal secundario. Vea los detalles de la respuesta del canal secundario a continuación | |
redireccionamiento de usuario | Cuerpo | La URL a la que un usuario, si está realizando la incorporación, debe regresar al finalizar. Si se omite, se utilizará la redirección predeterminada para su cliente. | |
invitarSubjectOverride | Cuerpo | Anula el asunto del correo electrónico de invitación. | |
invitarBodyOverride | Cuerpo | Anula el contenido del correo electrónico de invitación. |
Los posibles códigos de respuesta son:
Código de estado HTTP | Razón |
---|---|
202 | Su solicitud ha sido aceptada |
400 | Su solicitud no es válida. Se proporcionarán detalles adicionales en el cuerpo de la respuesta. |
401 | Su JWT falta o no es válido. |
404 | La identificación del servicio en la uri no existe |
500 | Se produjo un error en el servidor. Asegúrese de que los secretos, como secretos, claves API o tokens, estén configurados correctamente. Si el problema persiste, comuníquese con el equipo de soporte para obtener ayuda. |
Cuando se realiza la solicitud, el usuario puede existir o no en el sistema; y puede o no tener la organización deseada y los mapeos de servicios solicitados. Por este motivo, todos los detalles del usuario se envían a través de una respuesta del canal secundario. Esto puede suceder inmediatamente si se encuentra al usuario (por correo electrónico) en el inicio de sesión de DfE; o una vez que el usuario acepte el correo electrónico de invitación que se le enviará.
La respuesta del canal trasero se ve así:
POST https://callback.url/from/request Authorization: bearer {jwt-token} { "sub": "some-uuid", "sourceId: "source-id-from-request" }
Los datos de la solicitud son:
Nombre | Ubicación | Descripción |
---|---|---|
token-jwt | Encabezamiento | Un token jwt, firmado con el mismo secreto que la solicitud. |
sub | Cuerpo | Identificador de inicio de sesión de DfE para el usuario. Esto no cambiará y se incluirá en la respuesta de OIDC como subreclamo. |
ID de fuente | Cuerpo | El sourceId utilizado en la solicitud original |
Los anuncios pueden ser publicados y no publicados para una organización.
Los anuncios pueden ser publicados por:
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" }
La estructura de un anuncio es la siguiente:
Atributo | Requerido | Descripción | Tipo |
---|---|---|---|
ID de mensaje | Y | Identificador del mensaje en el sistema de origen. debe ser único | UUID |
urna | Y (O fluido) | URN del establecimiento | Numérico |
fluido | Y (O urna) | ID de grupo | UUID |
tipo | Y | El código de tipo numérico del mensaje (ver más abajo) | Entero |
título | Y | Título del anuncio. Límite máximo de caracteres 255 | Texto o HTML |
resumen | Y | Resumen del anuncio. Límite máximo de caracteres 340 | Texto o HTML |
cuerpo | Y | Cuerpo del anuncio. Límite máximo de caracteres 5000 | Texto o HTML |
publicado en | Y | Anuncio de fecha/hora publicado en | ISO8601 |
expira en | El anuncio de fecha/hora debe caducar a las | ISO8601 |
Los posibles códigos de respuesta son:
Código de estado HTTP | Razón |
---|---|
202 | Su solicitud ha sido aceptada |
400 | Su solicitud no es válida. Se proporcionarán detalles adicionales en el cuerpo de la respuesta. |
401 | Su JWT falta o no es válido. |
500 | Se produjo un error en el servidor. Asegúrese de que los secretos, como secretos, claves API o tokens, estén configurados correctamente. Si el problema persiste, comuníquese con el equipo de soporte para obtener ayuda. |
Los tipos de anuncio válidos son:
código | significado |
---|---|
1 | Advertencia sobre el registro de establecimiento. |
2 | Problema con el registro de establecimiento |
4 | Advertencia sobre el historial de gobernanza |
5 | Problema con el registro de gobernanza |
Los anuncios podrán ser posteriormente despublicados por:
DELETE https://environment-url/organisations/announcements/your-unique-idenitifer Authorization: bearer {jwt-token}
Donde your-unique-idenitifer
es el ID del mensaje que se envió al publicar el mensaje.
Los posibles códigos de respuesta son:
Código de estado HTTP | Razón |
---|---|
204 | El anuncio no ha sido publicado. |
401 | Su JWT falta o no es válido. |
404 | La identificación del mensaje en la uri no existe. |
500 | Se produjo un error en el servidor. Asegúrese de que los secretos, como secretos, claves API o tokens, estén configurados correctamente. Si el problema persiste, comuníquese con el equipo de soporte para obtener ayuda. |
Si su aplicación ha sido habilitada, podrá crear aplicaciones secundarias a través de la API. Estas aplicaciones secundarias están diseñadas para usarse cuando tiene aplicaciones de terceros que utilizarán el flujo de consentimiento de OIDC para permitirles llamar a una API dentro de su aplicación en el contexto de un usuario.
Las aplicaciones secundarias pueden ser creadas por:
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" ] }
Nota sobre las anulaciones de plantillas de consentimiento
Dos parámetros permiten anular el contenido que se muestra a los usuarios en la pantalla de consentimiento, el título y el cuerpo (todo lo demás es estático según el diseño del formulario actual). El valor de anulación es una cadena que tiene dos valores dinámicos (opcionales). por ejemplo, consentTitle="Do you want to allow {{applicationName}} to send data to us for {{roleScope}}"
La estructura de una aplicación es la siguiente:
Atributo | Requerido | Descripción |
---|---|---|
nombre | Y | Un nombre fácil de usar para la aplicación. Esto se utilizará cuando se solicite el consentimiento del usuario. |
descripción | norte | Una descripción de la aplicación. |
redireccionarUris | Y | Una serie de uris de redireccionamiento que se pueden utilizar durante el flujo de inicio de sesión/consentimiento de OIDC. |
Los posibles códigos de respuesta son:
Código de estado HTTP | Razón |
---|---|
201 | Su solicitud infantil ha sido creada. |
400 | Su solicitud no es válida. Se proporcionarán detalles adicionales en el cuerpo de la respuesta. |
403 | Su aplicación no tiene permiso para crear aplicaciones secundarias |
Tras la creación exitosa de una solicitud secundaria, recibirá una respuesta como:
{ "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" ] }
El name
, description
y redirectUris
son la confirmación de lo recibido de su solicitud. clientId
y clientSecret
son lo que la aplicación secundaria necesitará usar al realizar procesos OIDC. También necesitará el clientId
para cualquier gestión posterior de la aplicación.
Si el secreto de una aplicación secundaria se ve comprometido, puede solicitar que el secreto se regenere mediante:
POST https://environment-url/services/client-id-of-child-application/regenerate-secret Authorization: bearer {jwt-token}
Los posibles códigos de respuesta son:
Código de estado HTTP | Razón |
---|---|
200 | El secreto ha sido regenerado. |
403 | La identificación del cliente especificada no es secundaria de su aplicación. |
404 | No se puede encontrar ninguna aplicación con la identificación del cliente especificada |
Tras la regeneración exitosa del secreto, recibirá una respuesta como:
{ "clientSecret": "regenerated-client-secret" }
Las aplicaciones infantiles siguen un flujo de consentimiento explícito que, en última instancia, produce un código de autorización (una concesión) que se puede intercambiar por un token de acceso de corta duración y un token de actualización de mayor duración, para permitir que los propietarios de aplicaciones infantiles administren el ciclo de vida de los tokens emitidos que proporcionamos. una API conveniente para enumerar subvenciones y problemas de tokens para una aplicación secundaria gobernada.
Luego, estos tokens se pueden inspeccionar y revocar utilizando los puntos finales estándar de conexión de identificación abierta (intropección y revocación).
Para obtener una lista de subvenciones para un servicio infantil determinado:
GET https://environment-url/services/{service-id}/grants
Para obtener una lista de tokens emitidos para una subvención de servicio infantil determinada:
GET https://environment-url/services/{service-id}/grants/{grant-id}/tokens
Puede utilizar esta API para obtener acceso de un usuario a un servicio de una organización. La solicitud parece
GET https://environment-url/services/{service-id}/organisations/{organisation-id}/users/{user-id} Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
ID de servicio | URL | Y | El identificador de inicio de sesión de DfE para el servicio. |
ID de organización | URL | Y | El identificador de inicio de sesión del DfE para la organización. |
ID de usuario | URL | Y | El identificador de inicio de sesión de DfE para el usuario. |
token-jwt | Encabezamiento | Y | El token JWT de autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
Esto devolverá una respuesta en el siguiente formato.
{ "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" } ] }
Nota: Si el Usuario no tiene el Servicio especificado o no está en la Organización indicada, devolverá el código de estado 404 (No encontrado) .
Puede utilizar esta API para obtener las organizaciones asociadas con un usuario. La solicitud se ve así
GET https://environment-url/users/{user-id}/organisations Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
ID de usuario | URL | Y | El identificador de inicio de sesión de DfE para el usuario. |
token-jwt | Encabezamiento | Y | El token JWT de autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
Esto devolverá una respuesta en el siguiente formato.
[ { "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 }, ]
Puede utilizar este punto final de API para obtener los roles asociados con su servicio o uno de sus servicios secundarios. La solicitud se ve así:
GET https://environment-url/services/{client-id}/roles Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
ID de cliente | URL | Y | El identificador del cliente de inicio de sesión de DfE para el servicio. |
token-jwt | Encabezamiento | Y | El token JWT de autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
Los posibles códigos de respuesta son:
Código de estado HTTP | Razón |
---|---|
200 | Se ha recuperado correctamente una lista (posiblemente vacía) de roles para el ID de cliente solicitado. |
403 | El ID de cliente especificado no es su servicio ni un elemento secundario de su servicio. |
404 | No se puede encontrar ningún servicio con el ID de cliente especificado. |
Esto devolverá una respuesta en el siguiente formato:
[ { "name": "Role 1 Name", "code": "Role1Code", "status": "Active" }, { "name": "Role 2 Name", "code": "Role2Code", "status": "Inactive" } ]
o lo siguiente si no se encontraron roles:
[]
Puede utilizar esta API para obtener las organizaciones asociadas con un usuario. La solicitud se ve así
GET https://environment-url/users/{user-id}/v2/organisations Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
ID de usuario | URL | Y | El identificador de inicio de sesión de DfE para el usuario. |
token-jwt | Encabezamiento | Y | El token JWT de autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
Esto devolverá una respuesta en el siguiente formato.
[ { "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" }, ]
Puede obtener una lista de usuarios sin filtros según lo definido en el token de autorización (atributo iss)
La solicitud se ve así:
GET https://environment-url/users?page=1&pageSize=25 Authorization: bearer {jwt-token}
Las variables página y tamaño de página son opcionales y por defecto son 1 y 25 respectivamente; estas variables permiten a la persona que llama iterar sobre páginas de resultados (usando atributos en el cuerpo de la respuesta para calcular el número de registros y páginas).
El cuerpo de la respuesta contiene los siguientes atributos (respuesta de ejemplo a continuación):
Nombre | Descripción |
---|---|
usuarios | Una serie de detalles del usuario (incluido un objeto de organización secundaria) |
número de registros | Número total de registros reportados |
página | Número de página actual |
número de páginas | Número total de páginas |
Ejemplo de respuesta
{ "usuarios": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "organización": { "id": "13F20E54-79EA-4146 -8E39-18197576F023", "nombre": "Departamento para Educación", "Categoría": "002", "Tipo": nulo, "URN": nulo, "UID": nulo, "UKPRN": nulo, "EstablishmentNumber": "001", "Estado": 1, "ClosedOn": nulo, "Dirección": nulo, "phaseOfEducation": nulo, "statutoryLowAge": nulo, "statutoryHighAge": nulo, "teléfono": nulo, "regionCode": nulo, "legacyId": "1031237", "companyRegistrationNumber": "1234567", "ProviderProfileID": "", "UPIN": "", "PIMSProviderType": "Departamento del Gobierno Central", "PIMSStatus": "", "DistrictAdministrativeName" : "", "Abierto el": "2007-09-01T00:00:00.0000000Z", "SourceSystem": "", "ProviderTypeName": "Organismo gubernamental", "GIASProviderType": "", "PIMSProviderTypeCode": "", "createdAt": "2019- 02-20T14:27:59.020Z", "actualizadoEn": "2019-02-20T14:28:38.223Z" }, "roleName": "Aprobador", "roleId": 10000, "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "Johnson", "givenName": "Entendido" } ], "númeroDeRegistros": 1, "página": 1, "númeroDePáginas": 1}
Puede obtener una lista de usuarios con filtros según lo definido en el token de autorización (atributo iss)
La solicitud se ve así:
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}
Las variables página y tamaño de página son opcionales y por defecto son 1 y 25 respectivamente; estas variables permiten a la persona que llama iterar sobre páginas de resultados (usando atributos en el cuerpo de la respuesta para calcular el número de registros y páginas). El estado, desde y hasta son opcionales. El estado acepta 0 por el momento. El rango de fechas solo acepta fechas de 7 días. Las fechas deben estar codificadas en URL como se muestra en el ejemplo.
Validación de rango de fechas Enviar mensaje de error cuando el rango de fechas sea mayor a 7 días. Solo desde la fecha en el filtro los usuarios se actualizan 7 días después de la fecha desde. Solo hasta la fecha en el filtro los usuarios se actualizan 7 días antes de la fecha. Cuando no se especifica una fecha, los usuarios se actualizan desde ahora hasta 7 días antes.
El cuerpo de la respuesta contiene los siguientes atributos (respuesta de ejemplo a continuación):
Nombre | Descripción |
---|---|
usuarios | Una serie de detalles del usuario (incluido un objeto de organización secundario) |
número de registros | Número total de registros reportados |
página | Número de página actual |
número de páginas | Número total de páginas |
advertencia (opcional) | aparece solo cuando se obtienen solo 7 días de usuarios |
Ejemplo de respuesta
{ "usuarios": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "organización": { "id": "13F20E54-79EA-4146 -8E39-18197576F023", "nombre": "Departamento para Educación", "Categoría": "002", "Tipo": nulo, "URN": nulo, "UID": nulo, "UKPRN": nulo, "EstablishmentNumber": "001", "Estado": 1, "ClosedOn": nulo, "Dirección": nulo, "phaseOfEducation": nulo, "statutoryLowAge": nulo, "statutoryHighAge": nulo, "teléfono": nulo, "regionCode": nulo, "legacyId": "1031237", "companyRegistrationNumber": "1234567", "ProviderProfileID": "", "UPIN": "", "PIMSProviderType": "Departamento del Gobierno Central", "PIMSStatus": "", "DistrictAdministrativeName" : "", "Abierto el": "2007-09-01T00:00:00.0000000Z", "SourceSystem": "", "ProviderTypeName": "Organismo gubernamental", "GIASProviderType": "", "PIMSProviderTypeCode": "", "createdAt": "2019- 02-20T14:27:59.020Z", "actualizadoEn": "2019-02-20T14:28:38.223Z" }, "roleName": "Aprobador", "roleId": 10000, "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "Johnson", "givenName": "Entendido" } ], "numberOfRecords": 1, "page": 1, "numberOfPages": 1, "warning": "Sólo se pueden recuperar 7 días de datos"}
Para interpretar la identificación de la categoría, consulte aquí.
Puede obtener una lista de aprobadores para organizaciones que están dentro del alcance de sus servicios (según las condiciones de la política de roles) si su servicio tiene permiso para hacerlo.
La solicitud se ve así:
GET https://environment-url/users/approvers?page=1&pageSize=25 Authorization: bearer {jwt-token}
Las variables página y tamaño de página son opcionales y por defecto son 1 y 25 respectivamente; estas variables permiten a la persona que llama iterar sobre páginas de resultados (usando atributos en el cuerpo de la respuesta para calcular el número de registros y páginas).
El cuerpo de la respuesta contiene los siguientes atributos (respuesta de ejemplo a continuación):
Nombre | Descripción |
---|---|
usuarios | Una serie de detalles del usuario (incluido un objeto de organización secundaria) |
número de registros | Número total de registros reportados |
página | Número de página actual |
número de páginas | Número total de páginas |
Ejemplo de respuesta
Los posibles códigos de respuesta son:
Código de estado HTTP | Razón |
---|---|
200 | Su solicitud ha sido aceptada |
400 | Su solicitud no es válida. Se proporcionarán detalles adicionales en el cuerpo de la respuesta. |
401 | Su JWT falta o no es válido. |
403 | Su aplicación no tiene permiso para obtener aprobadores para organizaciones |
500 | Se produjo un error en el servidor. Asegúrese de que los secretos, como secretos, claves API o tokens, estén configurados correctamente. Si el problema persiste, comuníquese con el equipo de soporte para obtener ayuda. |
{ "usuarios": [ { "organización": { "id": "13F20E54-79EA-4146-8E39-18197576F023", "nombre": "Departamento de Educación", "categoría": { "id": "002", "nombre": " Autoridad Local" }, "urna": nulo, "uid": nulo, "ukprn": nulo, "establecimientoNúmero": "001", "status": { "id": 1, "nombre": "Abrir" }, "closedOn": nulo, "dirección": nulo, "teléfono": nulo, "statutoryLowAge": nulo, "statutoryHighAge": nulo, "legacyId": "1031237", "companyRegistrationNumber": "1234567", "ProviderProfileID ": "", "UPIN": "", "PIMSProviderType": "Departamento del Gobierno Central", "PIMSStatus": "", "DistrictAdministrativeName": "", "OpenedOn": "2007-09-01T00:00:00.0000000Z", "SourceSystem": "", "ProviderTypeName": "Organismo gubernamental", "GIASProviderType": "", "PIMSProviderTypeCode" : "" }, "roleId": 10000, "roleName": "Aprobador", "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "Johnson", "givenName": "Entendido" } ], "númeroDeRegistros": 1, "página": 1, "númeroDePáginas": 1}
Puede utilizar esta API para que los usuarios de las organizaciones filtren por roles. La solicitud se ve así
GET https://environment-url/organisations/{UKPRN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
Reino Unido | URL | Y | UKPRN para la organización |
roles | URL | norte | Códigos de rol de usuario para filtrar la lista de usuarios de la organización |
token-jwt | Encabezamiento | Y | El token JWT de autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
Los posibles códigos de respuesta incluyen:
Código de estado HTTP | Razón |
---|---|
200 | Roles recuperados exitosamente para la organización solicitada |
400 | Su solicitud no es válida. Se proporcionarán detalles adicionales en el cuerpo de la respuesta. |
401 | Su JWT falta o no es válido |
403 | Su aplicación no tiene permiso para recuperar usuarios de esta organización |
404 | No se encontraron usuarios con los roles especificados para la organización solicitada, lo que resultó en una matriz vacía |
500 | Se produjo un error en el servidor. Asegúrese de que los secretos, como secretos, claves API o tokens, estén configurados correctamente. Si el problema persiste, comuníquese con el equipo de soporte para obtener ayuda. |
Esto devolverá una respuesta en el siguiente formato.
{ "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" ] } ] }
Recuperar usuarios de la organización según criterios filtrados
También puede utilizar la API anterior para recuperar usuarios de la organización según criterios filtrados, como la dirección de correo electrónico o el ID de usuario. La solicitud parece
GET https://environment-url/organisations/{UKPRN}/[email protected] Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
Reino Unido | URL | Y | UKPRN para la organización |
correo electrónico | URL | norte | La dirección de correo electrónico del usuario para filtrar. |
token-jwt | Encabezamiento | Y | El token JWT para la autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
El formato de respuesta sigue siendo el mismo que el de la llamada API anterior, lo que permite filtrar por criterios específicos.
Puede utilizar esta API para que los usuarios de las organizaciones filtren por roles. La solicitud se ve así
GET https://environment-url/organisations/{UPIN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
UPI | URL | Y | UPIN para la organización |
roles | URL | norte | Códigos de rol de usuario para filtrar la lista de usuarios de la organización |
token-jwt | Encabezamiento | Y | El token JWT para la autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
Los posibles códigos de respuesta incluyen:
Código de estado HTTP | Razón |
---|---|
200 | Roles recuperados exitosamente para la organización solicitada |
400 | Su solicitud no es válida. Se proporcionarán detalles adicionales en el cuerpo de la respuesta. |
401 | Su JWT falta o no es válido |
403 | Su aplicación no tiene permiso para recuperar usuarios de esta organización |
404 | No se encontraron usuarios con los roles especificados para la organización solicitada, lo que resultó en una matriz vacía |
500 | Se produjo un error en el servidor. Asegúrese de que los secretos, como secretos, claves API o tokens, estén configurados correctamente. Si el problema persiste, comuníquese con el equipo de soporte para obtener ayuda. |
Esto devolverá una respuesta en el siguiente formato.
{ "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" ] } ] }
Recuperar usuarios de la organización según criterios filtrados
También puede utilizar la API anterior para recuperar usuarios de la organización según criterios filtrados, como la dirección de correo electrónico o el ID de usuario. La solicitud parece
GET https://environment-url/organisations/{UPIN}/[email protected] Authorization: bearer {jwt-token}
Los elementos de datos variables son:
Nombre | Ubicación | Requerido | Descripción |
---|---|---|---|
UPI | URL | Y | UPIN para la organización |
correo electrónico | URL | norte | La dirección de correo electrónico del usuario para filtrar. |
token-jwt | Encabezamiento | Y | El token JWT para la autorización debe firmarse utilizando su secreto de API, que se le proporcionará |
El formato de respuesta sigue siendo el mismo que el de la llamada API anterior, lo que permite filtrar por criterios específicos.
identificación | Descripción |
---|---|
001 | Establecimiento (consulte Tipos de establecimiento a continuación) |
002 | Autoridad Local |
003 | Otras organizaciones heredadas |
004 | Configuración de principios de año |
008 | Otras partes interesadas |
009 | Proveedores de formación |
010 | Confianza multiacademia |
011 | Gobierno |
012 | Otras partes interesadas del GIAS |
013 | Fideicomiso de academia única |
050 | Proveedores de Software |
051 | Educación adicional |
identificación | Descripción |
---|---|
001 | escuela comunitaria |
002 | Escuela asistida voluntaria |
003 | Escuela controlada voluntaria |
005 | Escuela de la Fundación |
006 | Facultad de Tecnología de la ciudad |
007 | Escuela especial comunitaria |
008 | Escuela especial no mantenida |
010 | Otra escuela especial independiente |
011 | Otra escuela independiente |
012 | Fundación Escuela Especial |
014 | Unidad de referencia de alumnos |
015 | Escuela de párvulos de Los Ángeles |
018 | Educación adicional |
024 | Unidades seguras |
025 | Escuelas offshore |
026 | Servicio de educación infantil |
027 | Varios |
028 | Dirigido por el patrocinador de la academia |
029 | Institución de educación superior |
030 | Establecimiento galés |
031 | Centros de Sexto Grado |
032 | Institución Puesto Especial 16 |
033 | Patrocinador especial de la Academia dirigido |
034 | Convertidor de la Academia |
035 | Escuelas gratuitas |
036 | Especial Escuelas Gratuitas |
037 | Escuelas británicas en el extranjero |
038 | Escuelas Gratuitas - Provisión Alternativa |
039 | Escuelas gratuitas - 16-19 |
040 | Colegio Técnico Universitario |
041 | Escuelas de estudio |
042 | Convertidor de provisiones alternativas de Academy |
043 | Liderado por el patrocinador de provisión alternativa de la Academia |
044 | Convertidor especial de la Academia |
045 | Convertidor Academia 16-19 |
046 | Academia 16-19 dirigida por el patrocinador |
047 | niños
Expandir
Información adicional
Aplicaciones relacionadas
Recomendado para ti
Información relacionada
Todo
|