Para obtener la información de un usuario de una escuela de Teachlr Organizaciones usando un campo identificador, se debe realizar una petición de tipo GET al API de Teachlr Organizaciones utilizando el siguiente URL:
Identificador | Corresponde a |
Correo electrónico | |
username | Nombre de usuario |
employee_number | Número de empleado |
external_id | ID externo (inicio de sesión con token) |
alternative_id | ID alternativo (inicio de sesión alternativo) |
Cabe mencionar que con sólo incluir uno de ellos es suficiente, ya que estos valores son únicos por usuario.
Adicionalmente, se pueden especificar otros parámetros en la cadena de consulta, esto es, agregando al final del URL una estructura como la siguiente:
&teaching=false&certificates=true
Los distintos
parámetros que se pueden especificar y sus posibles valores se detallan a
continuación:
Parámetro | courses |
Valor | true | false |
Valor por defecto | true |
Significado | Mostrar la información de los cursos que el usuario está enseñando y aprendiendo |
Ejemplo | courses=false (no incluir los cursos) |
Nota: dentro de cada uno de los cursos que el usuario está aprendiendo, se incluye también la información sobre el certificado obtenido, si lo hubiere.
Parámetro | certificates |
Valor | true | false |
Valor por defecto | false |
Significado | Mostrar la información de los certificados obtenidos por el usuario |
Ejemplo | certificates=true (incluir la información de los certificados) |
Nota: con el parámetro certificates en true la respuesta del API mostrará la información de todos los certificados que tiene el usuario, pero de forma separada del listado de cursos. La información de los certificados dentro de cada uno de los cursos que el usuario está aprendiendo se seguirá mostrando.
Los parámetros a continuación sólo tienen efecto si no se envía el parámetro courses (ya que por defecto su valor es true) o si se envía el parámetro courses con valor true:
Parámetro | teaching |
Valor | true | false |
Valor por defecto | true |
Significado | Mostrar la información de los cursos que el usuario está enseñando |
Ejemplo | teaching=false (no incluir la información de cursos enseñando) |
Parámetro | learning |
Valor | true | false |
Valor por defecto | true |
Significado | Mostrar la información de los cursos que el usuario está aprendiendo |
Ejemplo | learning=false (no incluir la información de cursos aprendiendo) |
Caso de ejemplo:
Se desea obtener la información del usuario cuyo nombre de usuario es «pedroperez» de la escuela https://escueladeprueba.teachlr.com, incluyendo también la información de los certificados de forma separada.
La petición al API de Teachlr Organizaciones se debe hacer al siguiente URL:
https://api.teachlr.com/escueladeprueba/api/users/query?username=pedroperez&certificates=true
Una implementación utilizando la función $.ajax() de jQuery sería como sigue:
$.ajax({
url: "https://api.teachlr.com/escueladeprueba/api/users/query?username=
pedroperez&certificates=true",
dataType: "json",
type: "GET",
contentType: "application/json",
headers: {
"Authorization": "key_0123456789ABCDEFGHIJK"
},
success: function(data) {
// la petición fue exitosa
console.log('data', data);
},
error: function(xhr, status, err) {
// falló la petición
console.log('xhr', xhr);
console.log('status', status);
console.log('err', err);
}
});
Posibles respuestas del API:
Status: 200 OK
{
"id": 670,
"email": "pedroperez@dominio.com",
"username": "pedroperez",
"last_login_at": "2020-01-28 16:58:40",
"last_activity_at": "2020-01-28 20:56:17",
"created_at": "2016-07-25 15:23:14",
"num_visit": 2219,
"first_login_at": "2016-07-25 15:23:14",
"register_type": "invitation",
"phone": "04169998877",
"organization_id": 1,
"subscriber": false,
"temp_email": false,
"employee_number": "E01121979",
"alternative_id": null,
"external_id": null,
"name": "Pedro",
"last_name": "Pérez",
"about": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",
"job": "Analista/programador",
"picture": {
"thumb": "https://d2j3j1vpt0.../avatars/O04-32x32.jpg",
"small": "https://d2j3j1vpt0.../avatars/O04-64x64.jpg",
"medium": "https://d2j3j1vpt0.../avatars/O04-98x98.jpg",
"large": "https://d2j3j1vpt0.../avatars/O04-198x198.jpg"
},
"department": "Informática",
"country": "Venezuela",
"organization_name": "MARIPEREZ, S.A.",
"city": "Caracas",
"identification_number": "14425125",
"language": "es",
"country_iso_code": "VE",
"learning": [
{
"id": 1105,
"title": "Nemo enim ip",
"headline": "Ut enim ad minima veniam",
"description": "<p>Voluptatem et sit totam rerum sint aut quos accusan</p>",
"cover": {
"thumb": "https://d2j3j1vpt0.../covers/1487605210-118x66.jpg",
"small": "https://d2j3j1vpt0.../covers/1487605210-222x125.jpg",
"medium": "https://d2j3j1vpt0.../covers/1487605210-236x132.jpg",
"large": "https://d2j3j1vpt0.../covers/1487605210-506x285.jpg"
},
"slug": "nemo-enim-ip",
"subscribed_at": "2016-07-27 20:57:59",
"last_visit_at": "2017-10-17 14:53:42",
"completation": "100",
"is_completed": true,
"completed_at": "2016-07-27 20:58:33",
"url": "https://escueladeprueba.teachlr.com/#courses-online/nemo-enim-ip",
"certificate": {
"organization_name": "Escuela de prueba",
"hash": "4c0b69dd3945",
"granted_at": "2016-07-27 16:58:33",
"use_custom_certif": false,
"url": "https://escueladeprueba.teachlr.com/#certificate/4c0b69dd3945",
"instructors": "Daniel Fuentes, Héctor López"
}
},
{
"id": 3048,
"title": "At vero eos et accusamus et",
"headline": "Quis autem vel eum iure.",
"description": "<p>Lorem ipsum dolor sit amet, consectetuer adipis.<p>",
"cover": {
"thumb": "https://d2j3j1vpt0.../img/course_cover-118x66.jpg",
"small": "https://d2j3j1vpt0.../img/course_cover-222x125.jpg",
"medium": "https://d2j3j1vpt0.../img/course_cover-236x132.jpg",
"large": "https://d2j3j1vpt0.../img/course_cover-506x285.jpg"
},
"slug": "at-vero-eos",
"subscribed_at": "2018-02-26 19:27:57",
"last_visit_at": "2018-10-17 13:20:34",
"completation": "50",
"is_completed": false,
"completed_at": null,
"url": "https://escueladeprueba.teachlr.com/#courses-online/at-vero-eos",
"certificate": null
},
{
"id": 247,
"title": "Curabi ullam",
"headline": "Ut enim ad minima veniam",
"description": "<p>Donec pede justo, fringilla vel, aliquet nec</p>",
"cover": {
"thumb": "https://d2j3j1vpt0.../covers/1452121219-118x66.jpg",
"small": "https://d2j3j1vpt0.../covers/1452121219-222x125.jpg",
"medium": "https://d2j3j1vpt0.../covers/1452121219-236x132.jpg",
"large": "https://d2j3j1vpt0.../covers/1452121219-506x285.jpg"
},
"slug": "curabi-ullam",
"subscribed_at": "2019-10-12 13:04:18",
"last_visit_at": "2019-10-16 11:36:41",
"completation": "75",
"is_completed": true,
"completed_at": "2019-10-16 09:35:24",
"url": "https://escueladeprueba.teachlr.com/#courses-online/curabi-ullam",
"certificate": {
"organization_name": "Escuela de prueba",
"hash": "2a05aa14d2df",
"granted_at": "2019-10-16 09:35:24",
"use_custom_certif": false,
"url": "https://escueladeprueba.teachlr.com/#certificate/2a05aa14d2df",
"instructors": "Antonio González, Luisa Campos"
}
}
],
"teaching": [
{
"id": 40,
"title": "Done quam feli",
"headline": "Donec pede justo, fringilla vel, aliquet nec, vulputate eget",
"description": "<p>In enim justo, rhoncus ut, imperdiet a, venenatis.</p>",
"cover": {
"thumb": "https://d2j3j1vpt0.../covers/2457412546-118x66.jpg",
"small": "https://d2j3j1vpt0.../covers/2457412546-222x125.jpg",
"medium": "https://d2j3j1vpt0.../covers/2457412546-236x132.jpg",
"large": "https://d2j3j1vpt0.../covers/2457412546-506x285.jpg"
},
"slug": "done-quam-feli",
"url": "https://escueladeprueba.teachlr.com/#courses-online/done-quam-feli"
},
{
"id": 157,
"title": "Maecenas temp",
"headline": "Nam quam nunc, blandit vel, luctus pulvinar.",
"description": "<p>Maecenas nec odio et ante tincidunt tempus.</p>",
"cover": {
"thumb": "https://d2j3j1vpt0.../img/course_cover-118x66.jpg",
"small": "https://d2j3j1vpt0.../img/course_cover-222x125.jpg",
"medium": "https://d2j3j1vpt0.../img/course_cover-236x132.jpg",
"large": "https://d2j3j1vpt0.../img/course_cover-506x285.jpg"
},
"slug": "maecenas-temp",
"url": "https://escueladeprueba.teachlr.com/#courses-online/maecenas-temp"
}
],
"certificates": [
{
"organization_name": "Escuela de prueba",
"hash": "4c0b69dd3945",
"granted_at": "2016-07-27 16:58:33",
"use_custom_certif": false,
"url": "https://escueladeprueba.teachlr.com/#certificate/4c0b69dd3945",
"instructors": "Daniel Fuentes, Héctor López",
"course": {
"id": 1105,
"title": "Nemo enim ip",
"headline": "Ut enim ad minima veniam",
"description": "<p>Voluptatem et sit totam rerum sint aut quos accusan</p>",
"cover": {
"thumb": "https://d2j3j1vpt0.../covers/1487605210-118x66.jpg",
"small": "https://d2j3j1vpt0.../covers/1487605210-222x125.jpg",
"medium": "https://d2j3j1vpt0.../covers/1487605210-236x132.jpg",
"large": "https://d2j3j1vpt0.../covers/1487605210-506x285.jpg"
},
"slug": "nemo-enim-ip",
"url": "https://escueladeprueba.teachlr.com/#courses-online/nemo-enim-ip"
}
},
{
"organization_name": "Escuela de prueba",
"hash": "2a05aa14d2df",
"granted_at": "2019-10-16 09:35:24",
"use_custom_certif": false,
"url": "https://escueladeprueba.teachlr.com/#certificate/2a05aa14d2df",
"instructors": "Antonio González, Luisa Campos",
"course": {
"id": 247,
"title": "Curabi ullam",
"headline": "Ut enim ad minima veniam",
"description": "<p>Donec pede justo, fringilla vel, aliquet nec</p>",
"cover": {
"thumb": "https://d2j3j1vpt0.../covers/1452121219-118x66.jpg",
"small": "https://d2j3j1vpt0.../covers/1452121219-222x125.jpg",
"medium": "https://d2j3j1vpt0.../covers/1452121219-236x132.jpg",
"large": "https://d2j3j1vpt0.../covers/1452121219-506x285.jpg"
},
"slug": "curabi-ullam",
"url": "https://escueladeprueba.teachlr.com/#courses-online/curabi-ullam"
}
}
],
"groups": [
{
"id": 33,
"name": "Grupo sobre palabras",
"description": "Muy lejos, más allá de las montañas de palabras...",
"created_at": "2017-03-09 12:48:39",
"is_public": true
},
{
"id": 51,
"name": "Nel blu dipinto di blu",
"description": "Domenico Modugno 1958",
"created_at": "2018-07-29 15:25:39",
"is_public": false
},
{
"id": 24,
"name": "grupo 20",
"description": null,
"created_at": "2017-02-20 16:57:17",
"is_public": false
}
]
}
Esta respuesta se obtiene cuando la petición fue exitosa. La respuesta de ejemplo muestra la información del usuario con tres (3) cursos aprendiendo, de los cuales ha obtenido el certificado de dos de ellos; dos (2) cursos enseñando y, separadamente, el listado de certificados que tiene (2).
Status: 400 Bad Request
[«Bad request»]
Esta respuesta se obtiene cuando la petición falla.
Status: 401 Unauthorized
[«Unauthorized»]
Esta respuesta se obtiene cuando la llave (key) enviada en la cabecera «Authorization» de la petición no es válida.
Status: 404 Not Found
[«Not Found»]
Esta respuesta se obtiene cuando el parámetro username enviado no existe o el URL al cual se está haciendo la petición está incorrecto.
Leave A Comment?