API Pública (1.0)

Intro

API pública para consulta de perfil y catálogos de la Plataforma iDDi. Esta API puede ser usada por cualquier desarrollador que requiera verificar el estatus del perfil de un QR de Identidad Universitaria.

La API es RESTful, tiene URLs de recursos predecibles. Devuelve códigos de respuesta HTTP para indicar errores. También acepta y devuelve JSON en el cuerpo HTTP. Puedes usar tu biblioteca HTTP / REST de cualquier lenguaje de programación, o puedes usar uno de los SDK de iDDi (actualmente disponible en PHP y Javascript).

Esta referencia de API proporciona información sobre los endpoints disponibles y cómo interactuar con ellos. Para obtener más información sobre la API, consulta https://iddi.uan.mx/docs/documentacion-tecnica/uso-de-la-api.html.

Autenticación

Cuando un desarrollador se registra para obtener acceso a la API de iDDi, se le otorga su primera clave de API secreta (API-Key). Se pueden generar claves API adicionales y eliminar claves API (ya que se puede necesitar rotar las claves en el futuro). Se autentica en la API proporcionando la clave en el encabezado de la solicitud.

Para consultar la API se pueden utilizar dos formas de autenticación: API-Key y AccessToken en forma de JWT (JSON Web Tokens).

  • API-Key: utilizada para solicitudes realizadas desde el lado del servidor. Nunca comparta estas claves. Se deben mantener de manera secreta y segura.
  • JWT: access tokens de corta duración a los que se les puede asignar una fecha de vencimiento específica.

Nunca se deben compartir las claves secretas. Se deben mantener vigiladas y seguras.

Se puede crear un AccessToken dentro de la página de Desarrolladores, que se encuentra aquí: https://developers.iddi.uan.mx/account/api-keys

Los AccessToken caducan en máximo 3 meses. Esto es para limitar los riesgos asociados con los sistemas que se ejecutan sin ser monitoreados.

Para más información, consultar la documentación sobre el uso de la API: https://iddi.uan.mx/docs/documentacion-tecnica/uso-de-la-api.html#seguridad

Paginación

Para todos los métodos que devuelven más de un solo objeto, proporcionamos paginación. Se puede usar enviando los siguientes parámetros de consulta.

Atributo Tipo Descripción
limit Integer El número total de objetos que se deben devolver. El valor predeterminado es 50. Tiene un máximo de 500.
page Integer Desplazamiento de página actual. Aumentar este número multiplicará por limit. Por defecto es 1.

Rate Limit

Para garantizar que la experiencia de uso de la API sea rápida para todos los clientes, implementamos el Rate Limit. Si se llega a los límites permitidos, se presentará un mensaje de error. Si el sistema cliente necesita aumentar los límites para un caso específico, se debe contactar a la Secretaría de Docencia.

Errores

La API utiliza códigos de respuesta HTTP para indicar el éxito o el fallo de una solicitud. Los códigos dentro del rango 2xx (success) se consideran peticiones completadas con éxito. Los códigos dentro de los rangos 4xx (fail) y 5xx (error) indicarán que se ha producido un error.

Utilizamos los siguientes códigos HTTP para gestionar los errores comunes.

Código de error Significado
400 Solicitud incorrecta: se ha pasado una solicitud con formato incorrecto.
401 No autorizado: compruebe cabecera Autorization. El Bearer token proporcionado no es válido.
403 Prohibido: su API-Key no puede acceder a este recurso
404 No encontrado: no se pudo encontrar el recurso especificado.
405 Método no permitido: intentó acceder a un endpoint con un método no válido.
406 No aceptable: solicitud con un formato json inválido.
422 Entidad no procesable: hay un problema de validación con la solicitud. Se proporcionan los campos y mensajes de error dentro de la respuesta.
429 Demasiadas solicitudes: la tasa de envío de mensajes es demasiado rápida. Recomendamos ralentizar sus solicitudes.
500, 502, 503, 504 Hay un problema con el servidor. Estos son raros y se enviará un mensaje sobre el error.

https://auth0.com/docs/api/management/v2

Authentication

accessToken

Security scheme type: HTTP
HTTP Authorization Scheme bearer
Bearer format "TOKEN"

APIKey

Para autenticarse en la API, se debe pasar un JWT AccessToken en la cabecera Authorization en forma de Bearer <accessToken>.

Security scheme type: API Key
Header parameter name: Authorization

Perfil

Perfil básico, estatus escolar/administrativo, estatus de la iDentidad Digital del Usuario. QR, vigencia y estatus de iDDi movil.

Perfil por folio

get /perfil/{folio}

Servidor productivo principal.

https://api.iddi.uan.mx/v1/iddi/perfil/{folio}

Pruebas para consultas (stagging).

https://api.iddi.uan.mx/v1-stag/iddi/perfil/{folio}

MockServer - Prism

http://127.0.0.1:3100/perfil/{folio}

Obtiene el Perfil básico del usuario y su estatus usando el folio de la credencial.

Es neccesario enviar como parámetro además del folio, la firma digital del QR para certificar que es un folio de una credencial emitida por iDDi.

Para solicitar el Perfil extendido se requiere el scope perfil:extendido en el Access Token

Authorizations:
accessToken (perfilperfil:extendido)
path Parameters
folio
required
string

Folio de la credencial

query Parameters
perfil_extendido
boolean

Solicita el perfil extendido de esta credencial.

Requiere scope perfil:extendido.

firma_digital
required
string

EL componente de firma digital (último campo) del QR de una Credencial

Responses

200

Success

400

ID proporcionado inválido

401

No autorizado

404

Recurso no encontrado

422

Excepción de validación

default

Hubo un problema al procesar tu solicitud, por favor inténtalo de nuevo o inténtalo más tarde.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5dbd3c",
  • "nombre": "VALENTINA JOSEFINA",
  • "ap_paterno": "LADRON DE GUEVARA",
  • "ap_materno": "ESPINOSA DE LOS MONTEROS",
  • "email": "iddi@uan.edu.mx",
  • "telefono": "(311) 211 8800",
  • "foto_aceptada": true,
  • "iddi_qr": true,
  • "iddi_movil": false,
  • "perfiles":
    [
    ]
}