Skip to main content

API de Progreso del Jugador

Esta página presupone las reglas comunes en Convenciones de la API — autenticación, los dos formatos de error, lotes y resolución de identidad. Aquí queda solo lo específico del progreso.
La API de Progreso del Jugador permite que su backend lea dónde está cada colaborador en la gamificación de su empresa: en qué nivel está, cuánto XP tiene, cuántas monedas puede gastar y cuál es su posición en el ranking. Fue hecha para la franja superior de una pantalla de inicio — la que saluda a la persona y muestra cómo va.
La escalera de niveles la configura su empresa: cuántos niveles, los nombres, qué exige cada uno y cómo se ve cada uno. Esta API devuelve lo que esté configurado — no conoce ninguna escalera específica.

Cómo funciona

  1. Usted recibe una API Key con el alcance progress:read
  2. Su backend consulta uno o varios colaboradores (por CPF o correo)
  3. SalesOS responde con la escalera una sola vez arriba, y luego el estado de cada persona

Autenticación


Referencia del endpoint

Una acción: progress_status.

Esquema de la solicitud

string
requerido
Debe ser "progress_status"
array
requerido
Lista de referencias de colaboradores (máximo 500)
string
Período del XP y del ranking: daily, weekly, monthly o all_time. Ausente = all_time.
string
Universo del ranking: tenant (toda la empresa) u org_unit (la unidad de la propia persona). Ausente = tenant.

Ejemplo

Respuesta (200):

Campos

La escalera (nivel superior)

La cantidad de niveles es de su empresa, no una constante. Construya la pantalla a partir del arreglo. Una escalera puede tener nueve peldaños donde otra tiene diez, y ambas son correctas.

Por colaborador


Apariencia del nivel

La identidad visual del nivel — el color, y lo que su empresa configure — viene en appearance.
appearance puede venir null, y null no significa “sin color”. Significa que nadie ha configurado uno todavía. En ese caso use su propio fallback, pero no fije una paleta indexada por nombre de nivel: el día en que la empresa renombre un nivel o cambie los colores, la pantalla con paleta fija seguirá mostrando la anterior, sin ningún error.
Lea el color desde la respuesta incluso cuando hoy parezca constante. Es precisamente por eso que viaja en el payload en vez de vivir en su app.

Períodos

El XP se guarda en cuatro períodos, y la pantalla suele mostrar uno de ellos. Como “200 XP” en un diseño no dice cuál, esta API devuelve los cuatro más el que usted pidió.
Un período desconocido se rechaza con 400, no se responde con ceros. Una respuesta en cero haría que su pantalla afirmara que la persona no tiene XP — una ausencia que no es cierta.
Un período que nunca se midió viene ausente, no como 0. En el ejemplo anterior falta weekly: esa persona no tiene fila de puntuación semanal. En cambio daily: 0 es distinto — se midió, y dio cero.Trate los dos casos por separado. Escribir “0 XP esta semana” para un período ausente le dice a la persona que no puntuó, cuando la verdad es que nadie calculó ese período para ella.

Ranking

Una posición solo significa algo junto a su universo, así que scope, period y total viajan siempre con ella.
total es contra cuántas personas se midió la posición. “#12 de 240” se lee muy distinto de “#12 de 13” — muéstrelo.

Manejo de errores

Vea Convenciones de la API para los dos formatos y la tabla de códigos.
Cuerpo inválido, lote por encima de 500, CPF sin 11 dígitos, un elemento sin cpf ni email, o period / ranking_scope desconocido.
API Key válida, pero sin el alcance progress:read.
Una empresa sin escalera configurada no es un error. La respuesta llega con levels: [] y estado 200.

Límites de uso


Próximos pasos

API de Misiones

El progreso que genera el XP mostrado aquí

API de Campañas

Donde se gastan las monedas