Asignar contenido

Del catálogo a la asignación masiva a un equipo.

Asignar contenido son dos pasos: encontrar qué asignar, y asignárselo a un conjunto de personas.

1. Encontrar el contenido

Cada organización tiene acceso a distintos catálogos según su plan:

CatálogoEndpointQué trae
Crehana/learning/content/knowledge-hub/catalog/v2/crehana/Contenido producido por Crehana
Elevate/learning/content/knowledge-hub/catalog/v2/elevate/Catálogo Elevate
Terceros/learning/content/knowledge-hub/catalog/v2/third-party/Contenido licenciado de proveedores externos
$curl "https://www.crehana.com/api/v5/rest/org/acme/learning/content/knowledge-hub/catalog/v2/crehana/?first=20" \
> -H "Api-Key: $API_KEY" -H "Secret-Access: $SECRET_ACCESS"

De la respuesta te interesa el identificador de cada curso: es lo que va en content_value al asignar.

2. Asignar a varios usuarios

$curl -X POST https://www.crehana.com/api/v5/rest/org/acme/learning/content/knowledge-hub/enrollments/v2/assign-course/ \
> -H "Api-Key: $API_KEY" -H "Secret-Access: $SECRET_ACCESS" \
> -H "Content-Type: application/json" \
> -d '{
> "content_value": "abc123",
> "centralized_user_list_ids": [101, 102, 103]
> }'

Para un track —una secuencia ordenada de cursos sobre un mismo tema— el endpoint es assign-track/ y recibe los mismos campos.

Los dos aceptan además send_email_to_all_selected_users. Si asignás en lote conviene decidirlo explícitamente: es la diferencia entre una notificación por persona o ninguna.

Estos endpoints devuelven 422 cuando la llamada no termina asignando a ningún usuario, aunque el cuerpo sea válido y la respuesta anterior haya sido 200. Pasa, por ejemplo, si todos los usuarios de la lista ya tenían el curso asignado.

No lo trates como un error de validación: significa “no había nada que hacer”.

Asignar a un equipo entero

No hay un endpoint que asigne por área o por cargo. El patrón es resolver primero el conjunto de usuarios y después asignar:

1

Listá los usuarios

GET /users/user-organizations/ te devuelve cada usuario con su área, sede y cargo.

2

Filtrá del lado tuyo

Quedate con los que correspondan al equipo que buscás.

3

Asigná en lotes

Mandá los user_ids en grupos en vez de uno por request.

Verificar el resultado

Los reportes de la sección Reports muestran qué se asignó y cómo va el progreso:

GET /org/{slug}/reports/learning/general-v2/

Si estás empezando, usá general-v2 y no general: expone campos que la primera versión no tiene. La v1 sigue funcionando por compatibilidad.