Está en la página 1de 5

Objetivo de la API

Exponer, desde SMARTFENSE, una API que permita consultar, por cada usuario, los
detalles de todas las campañas de Módulos Interactivos en las que participaron.

Dicha API debe poder consultarse en cualquier momento, y devolver siempre la


información actualizada según las últimas interacciones de los usuarios en
SMARTFENSE.

Estructura de la API
La API, al ser consultada, debe devolver un registro por cada usuario de la
plataforma.

Cada registro debe poseer la siguiente información, referida a las acciones realizadas
por cada usuario dentro de las campañas de Módulos Interactivos a las cuales fue
asignado.

Se incluyen únicamente campañas Finalizadas o En Curso. No se incluyen campañas


No iniciadas.

● Nombre del usuario


● Apellido del usuario
● Correo del usuario
● Grupos del usuario
● Áreas funcionales del usuario
● Niveles jerárquicos del usuario
● Nombre de la campaña
● Descripción de la campaña
● Estado de la campaña: En curso / Finalizada
● Fecha de Inicio de la campaña
● Fecha de Expiración de la campaña
● Campaña de prueba: Sí/No
● Tópico
● Tipo de Contenido utilizado: Predefinido/Personalizado
● Notificación: Enviar correo de notificación/No enviar correo de notificación
● URL de asignación y recordatorio: Utilizar URL de SMARTFENSE/Utilizar URL
personalizada
● Enviado: Sí/No
● Enviado: Fecha de envío.
● Comenzado: Sí/No
● Comenzado: Fecha de apertura
● Finalizado: Sí/No
● Finalizado: Fecha

Las respuestas dividen a la totalidad de registros devueltos en páginas (ver


Paginación) para que su acceso sea más eficiente y ordenado. Es por eso que,
además de los registros, se agrega la siguiente información acerca de la cantidad de
resultados y la división de los mismos en páginas:

● Cantidad de resultados totales


● Enlace a la siguiente página de resultados
● Enlace a la página anterior de resultados

Campañas de prueba
SMARTFENSE permite crear campañas de prueba, las cuales no afectan los reportes
de la plataforma para aquellos usuarios que interactúan con las mismas.

Las campañas de prueba no se deben tener en cuenta en la API.

Autenticación
Para utilizar la API, se debe solicitar autenticación por usuario y contraseña.
Únicamente deben poder loguearse con éxito los usuarios administrativos de la
instancia.

Paginación
La API devuelve los resultados paginados para una mejor performance.

La cantidad por defecto de registros por página es de 100 resultados, que es la


cantidad máxima de registros por página que se pueden solicitar. Se puede modificar
dicha cantidad mediante el parámetro “page-size”. En caso de especificar un valor
inválido para este parámetro se utilizará el valor por defecto para la cantidad de
registros por página.

También se puede indicar la página cuyos resultados se desean visualizar mediante


el parámetro "page". En caso de especificar un valor inválido para este parámetro la
plataforma devolverá una respuesta con código de error 404 (not found) y una
cadena de texto con la descripción del error en el campo “detail”.

Ejemplo:

https://instancia.takesecurity.com/api/related-training-campaigns/?page=2&page-size=
50
Nombre de los campos de la API
Nombre de los campos de la respuesta
count: Cantidad de resultados totales

next: Enlace a la URL correspondiente a la página siguiente

previous: Enlace a la URL correspondiente a la página anterior

results: lista con los registros devueltos para la página indicada

Nombre de los campos de los registros


Cada registro dentro del campo results de la respuesta posee los siguientes campos:

first_name: Nombre del usuario

last_name: Apellido del usuario

email: Email del usuario

groups: Grupos del usuario

functional_areas: Áreas funcionales del usuario

hierarchical_levels: Niveles jerárquicos del usuario

campaign_name: Nombre de la campaña.

campaign_description: Descripción de la campaña

campaign_state: Estado de la campaña: En curso / Finalizada. No se incluyen las


campañas No iniciadas, porque se encuentran calendarizadas y el usuario aún no
recibió el correo correspondiente a las mismas.

campaign_is_test: Campaña de prueba: Sí/No

campaign_date: Fecha de Inicio de la campaña

campaign_expiration_date: Fecha de Expiración de la campaña

content_name: Nombre del Tópico

content_type: Tipo de Contenido utilizado: Predefinido/Personalizado

notify_user_on_creation: Notificación: Enviar correo de notificación/No enviar correo


de notificación
user_notification_on_creation: URL de asignación y recordatorio: Utilizar URL de
SMARTFENSE/Utilizar URL personalizada

activity_sent: Enviado: Sí/No

activity_sent_date: Enviado: Fecha de envío.

activity_started: Comenzado: Sí/No

activity_started_date: Comenzado: Fecha de apertura

activity_completed: Finalizado: Sí/No

activity_completed_date: Finalizado: Fecha

Tipos de dato de la API


count: integer

next: string|null

previous: string|null

result: list of dictionaries

first_name: string

last_name: string

email: string

groups: list of strings|void list

functional_areas: list of strings|void list

hierarchical_levels: list of strings|void list

campaign_name: string

campaign_description: string

campaign_state: string

campaign_date: string

campaign_expiration_date: string

campaign_is_test: bool
content_name: string

content_type: string

activity_sent: bool

activity_sent_date: string|null

notify_user_on_creation: true

user_notification_on_creation: string

activity_started: bool

activity_started_date: string|null

activity_completed: bool

activity_completed_date: string|null

Resultado de ejemplo

{
"count": 11680,
"next":
"https://instancia.takesecurity.com/api/related-training-campaigns/?page=3&page-size=2",
"previous":
"https://instancia.takesecurity.com/api/related-training-campaigns/?page-size=2",
"results": [
{
"first_name": "Nombre",
"last_name": "Apellido",
"email": "email@dominio.com",
"groups": [
"Administración"
],
"functional_areas": [],
"hierarchical_levels": [],
"related_campaigns": [
{
"campaign_name": "",
"campaign_description": "",
"campaign_state": "Finalizada",
"campaign_date": "08/04/2021 15:30:00.00",
"campaign_expiration_date": "22/04/2021 15:30:00.00",
"campaign_is_test": false,
"content_name": "Acuerdos de confidencialidad",
"content_type": "Predefinido",
"activity_sent": true,
"activity_sent_date": "08/04/2021 15:30:18.29",
"notify_user_on_creation": true,
"user_notification_on_creation": "DEFAULT",
"activity_started": false,
"activity_started_date": null,
"activity_completed": false,
"activity_completed_date": null
}
]
}
]
}

También podría gustarte