diff --git a/account/members.mdx b/account/members.mdx index 8622b837..ef2d7ded 100644 --- a/account/members.mdx +++ b/account/members.mdx @@ -22,9 +22,9 @@ To invite a team member to your Trophy organization, open up the organization ma > -Hit _Invite_ and add the email address of the team member(s) you want to invite. If you're an account admin, you can add other admins, otherwise you'll only be able to add other members. +Click _Invite_ and add the email address of the team member(s) you want to invite. If you're an account admin, you can add other admins, otherwise you'll only be able to add other members. -Once you're happy, hit _Send invitations_ and each team member will receive an email invitation to Trophy. +Once you're happy, click _Send invitations_ and each team member will receive an email invitation to Trophy. ## Manage User Roles {#manage-user-roles} diff --git a/admin-api/endpoints/rewards/create-reward-triggers.mdx b/admin-api/endpoints/rewards/create-reward-triggers.mdx new file mode 100644 index 00000000..dc697578 --- /dev/null +++ b/admin-api/endpoints/rewards/create-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: Create reward triggers +openapi: "/openapi/admin.json POST /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/create-rewards.mdx b/admin-api/endpoints/rewards/create-rewards.mdx new file mode 100644 index 00000000..982e1e53 --- /dev/null +++ b/admin-api/endpoints/rewards/create-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Create rewards +openapi: "/openapi/admin.json POST /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/delete-reward-triggers.mdx b/admin-api/endpoints/rewards/delete-reward-triggers.mdx new file mode 100644 index 00000000..ca9e3220 --- /dev/null +++ b/admin-api/endpoints/rewards/delete-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: Delete reward triggers +openapi: "/openapi/admin.json DELETE /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/delete-rewards.mdx b/admin-api/endpoints/rewards/delete-rewards.mdx new file mode 100644 index 00000000..639707f2 --- /dev/null +++ b/admin-api/endpoints/rewards/delete-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Delete rewards +openapi: "/openapi/admin.json DELETE /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/get-a-reward-trigger.mdx b/admin-api/endpoints/rewards/get-a-reward-trigger.mdx new file mode 100644 index 00000000..ce6e0502 --- /dev/null +++ b/admin-api/endpoints/rewards/get-a-reward-trigger.mdx @@ -0,0 +1,10 @@ +--- +title: Get a reward trigger by ID +openapi: "/openapi/admin.json GET /rewards/{rewardId}/triggers/{id}" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/get-a-reward.mdx b/admin-api/endpoints/rewards/get-a-reward.mdx new file mode 100644 index 00000000..74f41ab0 --- /dev/null +++ b/admin-api/endpoints/rewards/get-a-reward.mdx @@ -0,0 +1,10 @@ +--- +title: Get a reward by ID +openapi: "/openapi/admin.json GET /rewards/{id}" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/list-reward-triggers.mdx b/admin-api/endpoints/rewards/list-reward-triggers.mdx new file mode 100644 index 00000000..12c5417a --- /dev/null +++ b/admin-api/endpoints/rewards/list-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: List reward triggers +openapi: "/openapi/admin.json GET /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/list-rewards.mdx b/admin-api/endpoints/rewards/list-rewards.mdx new file mode 100644 index 00000000..f0e4b88b --- /dev/null +++ b/admin-api/endpoints/rewards/list-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: List rewards +openapi: "/openapi/admin.json GET /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/update-reward-triggers.mdx b/admin-api/endpoints/rewards/update-reward-triggers.mdx new file mode 100644 index 00000000..ed360b95 --- /dev/null +++ b/admin-api/endpoints/rewards/update-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: Update reward triggers +openapi: "/openapi/admin.json PATCH /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/admin-api/endpoints/rewards/update-rewards.mdx b/admin-api/endpoints/rewards/update-rewards.mdx new file mode 100644 index 00000000..7834b300 --- /dev/null +++ b/admin-api/endpoints/rewards/update-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Update rewards +openapi: "/openapi/admin.json PATCH /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/api-reference/endpoints/rewards/redeem-a-reward.mdx b/api-reference/endpoints/rewards/redeem-a-reward.mdx new file mode 100644 index 00000000..3b9e92d0 --- /dev/null +++ b/api-reference/endpoints/rewards/redeem-a-reward.mdx @@ -0,0 +1,10 @@ +--- +title: Redeem a reward +openapi: "/openapi/application.json POST /rewards/{key}/redeem" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/api-reference/endpoints/users/get-a-users-rewards.mdx b/api-reference/endpoints/users/get-a-users-rewards.mdx new file mode 100644 index 00000000..286742e3 --- /dev/null +++ b/api-reference/endpoints/users/get-a-users-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Get a user's rewards +openapi: "/openapi/application.json GET /users/{id}/rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Rate Limits** + + \ No newline at end of file diff --git a/docs.json b/docs.json index b5036328..066c7a09 100644 --- a/docs.json +++ b/docs.json @@ -96,6 +96,7 @@ "features/streaks", "features/points", "features/leaderboards", + "features/rewards", "features/emails", "features/push-notifications" ] @@ -197,6 +198,12 @@ "api-reference/endpoints/leaderboards/get-leaderboard" ] }, + { + "group": "Rewards", + "pages": [ + "api-reference/endpoints/rewards/redeem-a-reward" + ] + }, { "group": "Users", "pages": [ @@ -213,6 +220,7 @@ "api-reference/endpoints/users/get-a-users-points-boosts", "api-reference/endpoints/users/get-a-users-points-summary", "api-reference/endpoints/users/get-a-users-leaderboard", + "api-reference/endpoints/users/get-a-users-rewards", "api-reference/endpoints/users/get-a-users-wrapped", "api-reference/endpoints/users/get-user-preferences", "api-reference/endpoints/users/update-user-preferences" @@ -316,6 +324,21 @@ "admin-api/endpoints/leaderboards/delete-leaderboards" ] }, + { + "group": "Rewards", + "pages": [ + "admin-api/endpoints/rewards/list-rewards", + "admin-api/endpoints/rewards/get-a-reward", + "admin-api/endpoints/rewards/update-rewards", + "admin-api/endpoints/rewards/create-rewards", + "admin-api/endpoints/rewards/delete-rewards", + "admin-api/endpoints/rewards/list-reward-triggers", + "admin-api/endpoints/rewards/get-a-reward-trigger", + "admin-api/endpoints/rewards/update-reward-triggers", + "admin-api/endpoints/rewards/create-reward-triggers", + "admin-api/endpoints/rewards/delete-reward-triggers" + ] + }, { "group": "Tenants", "pages": [ @@ -391,6 +414,13 @@ "webhooks/events/leaderboards/leaderboard-finished" ] }, + { + "group": "Rewards", + "pages": [ + "webhooks/events/rewards/reward-awarded", + "webhooks/events/rewards/reward-redeemed" + ] + }, { "group": "Emails", "pages": [ @@ -507,6 +537,7 @@ "es/features/streaks", "es/features/points", "es/features/leaderboards", + "es/features/rewards", "es/features/emails", "es/features/push-notifications" ] @@ -608,6 +639,12 @@ "es/api-reference/endpoints/leaderboards/get-leaderboard" ] }, + { + "group": "Recompensas", + "pages": [ + "es/api-reference/endpoints/rewards/redeem-a-reward" + ] + }, { "group": "Usuarios", "pages": [ @@ -624,6 +661,7 @@ "es/api-reference/endpoints/users/get-a-users-points-boosts", "es/api-reference/endpoints/users/get-a-users-points-summary", "es/api-reference/endpoints/users/get-a-users-leaderboard", + "es/api-reference/endpoints/users/get-a-users-rewards", "es/api-reference/endpoints/users/get-a-users-wrapped", "es/api-reference/endpoints/users/get-user-preferences", "es/api-reference/endpoints/users/update-user-preferences" @@ -727,6 +765,21 @@ "es/admin-api/endpoints/leaderboards/delete-leaderboards" ] }, + { + "group": "Recompensas", + "pages": [ + "es/admin-api/endpoints/rewards/list-rewards", + "es/admin-api/endpoints/rewards/get-a-reward", + "es/admin-api/endpoints/rewards/update-rewards", + "es/admin-api/endpoints/rewards/create-rewards", + "es/admin-api/endpoints/rewards/delete-rewards", + "es/admin-api/endpoints/rewards/list-reward-triggers", + "es/admin-api/endpoints/rewards/get-a-reward-trigger", + "es/admin-api/endpoints/rewards/update-reward-triggers", + "es/admin-api/endpoints/rewards/create-reward-triggers", + "es/admin-api/endpoints/rewards/delete-reward-triggers" + ] + }, { "group": "Clientes", "pages": [ @@ -802,6 +855,13 @@ "es/webhooks/events/leaderboards/leaderboard-finished" ] }, + { + "group": "Recompensas", + "pages": [ + "es/webhooks/events/rewards/reward-awarded", + "es/webhooks/events/rewards/reward-redeemed" + ] + }, { "group": "Correos", "pages": [ diff --git a/es/account/members.mdx b/es/account/members.mdx index 9fd44f4e..7451d593 100644 --- a/es/account/members.mdx +++ b/es/account/members.mdx @@ -24,9 +24,9 @@ Para invitar a un miembro del equipo a tu organización de Trophy, abre el cuadr > -Pulsa _Invitar_ y añade la dirección de correo electrónico de los miembros del equipo que deseas invitar. Si eres administrador de la cuenta, puedes añadir otros administradores; de lo contrario, solo podrás añadir otros miembros. +Haz clic en _Invitar_ y añade la dirección de correo electrónico de los miembros del equipo que deseas invitar. Si eres administrador de la cuenta, puedes añadir otros administradores; de lo contrario, solo podrás añadir otros miembros. -Cuando estés conforme, pulsa _Enviar invitaciones_ y cada miembro del equipo recibirá una invitación por correo electrónico a Trophy. +Cuando estés conforme, haz clic en _Enviar invitaciones_ y cada miembro del equipo recibirá una invitación por correo electrónico a Trophy. ## Gestionar roles de usuario {#manage-user-roles} diff --git a/es/admin-api/endpoints/rewards/create-reward-triggers.mdx b/es/admin-api/endpoints/rewards/create-reward-triggers.mdx new file mode 100644 index 00000000..f5bcf2f8 --- /dev/null +++ b/es/admin-api/endpoints/rewards/create-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: Crear activadores de recompensa +openapi: "/openapi/admin.json POST /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/create-rewards.mdx b/es/admin-api/endpoints/rewards/create-rewards.mdx new file mode 100644 index 00000000..e9db56a7 --- /dev/null +++ b/es/admin-api/endpoints/rewards/create-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Crear recompensas +openapi: "/openapi/admin.json POST /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/delete-reward-triggers.mdx b/es/admin-api/endpoints/rewards/delete-reward-triggers.mdx new file mode 100644 index 00000000..4bd1c457 --- /dev/null +++ b/es/admin-api/endpoints/rewards/delete-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: Eliminar desencadenadores de recompensa +openapi: "/openapi/admin.json DELETE /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/delete-rewards.mdx b/es/admin-api/endpoints/rewards/delete-rewards.mdx new file mode 100644 index 00000000..222f1e68 --- /dev/null +++ b/es/admin-api/endpoints/rewards/delete-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Eliminar recompensas +openapi: "/openapi/admin.json DELETE /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/get-a-reward-trigger.mdx b/es/admin-api/endpoints/rewards/get-a-reward-trigger.mdx new file mode 100644 index 00000000..a7028e8c --- /dev/null +++ b/es/admin-api/endpoints/rewards/get-a-reward-trigger.mdx @@ -0,0 +1,10 @@ +--- +title: Obtener un activador de recompensa por ID +openapi: "/openapi/admin.json GET /rewards/{rewardId}/triggers/{id}" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/get-a-reward.mdx b/es/admin-api/endpoints/rewards/get-a-reward.mdx new file mode 100644 index 00000000..63531248 --- /dev/null +++ b/es/admin-api/endpoints/rewards/get-a-reward.mdx @@ -0,0 +1,10 @@ +--- +title: Obtener una recompensa por ID +openapi: "/openapi/admin.json GET /rewards/{id}" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/list-reward-triggers.mdx b/es/admin-api/endpoints/rewards/list-reward-triggers.mdx new file mode 100644 index 00000000..55383b44 --- /dev/null +++ b/es/admin-api/endpoints/rewards/list-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: Listar desencadenantes de recompensas +openapi: "/openapi/admin.json GET /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/list-rewards.mdx b/es/admin-api/endpoints/rewards/list-rewards.mdx new file mode 100644 index 00000000..b8d8d57d --- /dev/null +++ b/es/admin-api/endpoints/rewards/list-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Listar recompensas +openapi: "/openapi/admin.json GET /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/update-reward-triggers.mdx b/es/admin-api/endpoints/rewards/update-reward-triggers.mdx new file mode 100644 index 00000000..de63d55d --- /dev/null +++ b/es/admin-api/endpoints/rewards/update-reward-triggers.mdx @@ -0,0 +1,10 @@ +--- +title: Actualizar los activadores de recompensas +openapi: "/openapi/admin.json PATCH /rewards/{rewardId}/triggers" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/admin-api/endpoints/rewards/update-rewards.mdx b/es/admin-api/endpoints/rewards/update-rewards.mdx new file mode 100644 index 00000000..1e98e9c0 --- /dev/null +++ b/es/admin-api/endpoints/rewards/update-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Actualizar recompensas +openapi: "/openapi/admin.json PATCH /rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/api-reference/endpoints/rewards/redeem-a-reward.mdx b/es/api-reference/endpoints/rewards/redeem-a-reward.mdx new file mode 100644 index 00000000..29598b00 --- /dev/null +++ b/es/api-reference/endpoints/rewards/redeem-a-reward.mdx @@ -0,0 +1,10 @@ +--- +title: Canjear una recompensa +openapi: "/openapi/application.json POST /rewards/{key}/redeem" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/api-reference/endpoints/users/get-a-users-rewards.mdx b/es/api-reference/endpoints/users/get-a-users-rewards.mdx new file mode 100644 index 00000000..8a78ec77 --- /dev/null +++ b/es/api-reference/endpoints/users/get-a-users-rewards.mdx @@ -0,0 +1,10 @@ +--- +title: Obtener las recompensas de un usuario +openapi: "/openapi/application.json GET /users/{id}/rewards" +--- + +import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx"; + +**Límites de velocidad** + + \ No newline at end of file diff --git a/es/features/achievements.mdx b/es/features/achievements.mdx index ac653da5..f03286e3 100644 --- a/es/features/achievements.mdx +++ b/es/features/achievements.mdx @@ -3,7 +3,7 @@ title: Logros description: Aprende a usar Logros en una experiencia de producto gamificada con Trophy. og:description: Usa logros de métrica, API, racha, aniversario y compuestos para recompensar a los usuarios por su progreso continuo y animarlos a descubrir - nuevas partes de tu aplicación. + nuevas partes de tu app. icon: trophy --- @@ -40,7 +40,7 @@ Mira a Charlie mientras explica el uso de logros en una aplicación NextJS: ## Tipos de Logros {#achievement-types} -Trophy ofrece cinco tipos de logros: [Métrica](#metric-achievements), [API](#api-achievements), [Racha](#streak-achievements), [Aniversario](#anniversary-achievements) y [Logros compuestos](#composite-achievements), detallados a continuación. +Trophy ofrece cinco tipos de logros: [Métrica](#metric-achievements), [API](#api-achievements), [Racha](#streak-achievements), [Aniversario](#anniversary-achievements) y [Logros compuestos](#composite-achievements), que se detallan a continuación. ### Logros de Métrica {#metric-achievements} @@ -59,7 +59,7 @@ En este caso crearías una métrica llamada _Tarjetas Volteadas_ y crearías log Dado que estos logros están directamente vinculados a la métrica _Tarjetas Volteadas_, Trophy rastreará automáticamente cuándo los usuarios desbloquean estos logros a medida que [incrementan la métrica](/es/features/events#tracking-metric-events). -Cuando se desbloquean logros, Trophy incluye información sobre los logros desbloqueados en la respuesta del [API de Eventos](/es/api-reference/endpoints/events/submit-a-metric-event) y activa automáticamente [Emails de Logros](/es/features/emails#achievement-emails) si están configurados. +Cuando se desbloquean logros, Trophy incluye información sobre ellos en la respuesta de la [API de eventos](/es/api-reference/endpoints/events/submit-a-metric-event) y, si está configurado, activa automáticamente los [correos de logros](/es/features/emails#achievement-emails). @@ -85,35 +85,35 @@ Puedes crear tantos logros de racha como desees para duraciones de racha cada ve Al igual que los logros de métrica y API, puedes agregar un nombre personalizado y asignar una insignia a los logros de racha. -### Logros de Aniversario {#anniversary-achievements} +### Logros de aniversario {#anniversary-achievements} -Los logros de aniversario se desbloquean automáticamente cuando un usuario alcanza un aniversario específico de su fecha de registro. +Los logros de aniversario se desbloquean automáticamente cuando un usuario cumple un aniversario concreto de su fecha de registro. -Crea un logro para cada año que quieras celebrar, por ejemplo 1 año, 2 años y 5 años. Trophy desbloquea cada logro cuando se alcanza el [`signUpDate`](/es/features/users#optional-attributes) del usuario más ese número de años. +Crea un logro por cada año que quieras celebrar, por ejemplo 1 año, 2 años y 5 años. Trophy desbloquea cada logro cuando se alcanza el [`signUpDate`](/es/features/users#optional-attributes) del usuario más ese número de años. -Los usuarios sin `signUpDate` no son elegibles. Establece `signUpDate` cuando [identifiques](/es/features/users#identifying-users) o [actualices](/es/features/users#keeping-users-up-to-date) usuarios para que Trophy pueda detectar aniversarios. +Los usuarios sin `signUpDate` no son elegibles. Define `signUpDate` cuando [identifiques](/es/features/users#identifying-users) o [actualices](/es/features/users#keeping-users-up-to-date) a los usuarios para que Trophy pueda detectar los aniversarios. -Trophy evalúa el aniversario en el día calendario según la [`tz`](/es/features/users#optional-attributes) del usuario. Establece `tz` para que el logro se desbloquee en el día local correcto. +Trophy evalúa el aniversario en el día del calendario de la [`tz`](/es/features/users#optional-attributes) del usuario. Define `tz` para que el logro se desbloquee en el día local correcto. -Al igual que otros tipos de logros, los logros de aniversario pueden activar [Correos de Logros](/es/features/emails#achievement-emails) cuando se desbloquean. +Al igual que otros tipos de logros, los logros de aniversario pueden activar [correos de logros](/es/features/emails#achievement-emails) cuando se desbloquean. -### Logros Compuestos {#composite-achievements} +### Logros compuestos {#composite-achievements} -Los logros compuestos se desbloquean automáticamente cuando un usuario ha completado todos los logros prerequisito que selecciones. Son ideales para crear recompensas por niveles o maestría que reconocen a los usuarios que han alcanzado un conjunto específico de hitos. +Los logros compuestos se desbloquean automáticamente cuando un usuario ha completado todos los logros requisitos que selecciones. Son ideales para crear recompensas escalonadas o de nivel de maestría que reconozcan a los usuarios que han alcanzado un conjunto específico de hitos. -Por ejemplo, podrías crear un logro compuesto "Maestro del Estudio" que se desbloquea cuando un usuario ha completado: -- 1,000 tarjetas de estudio +Por ejemplo, podrías crear un logro compuesto "Maestro del estudio" que se desbloquee cuando un usuario haya completado: +- 1000 tarjetas de estudio - Racha de 7 días -- Completar la incorporación +- Onboarding completo -Los logros compuestos son útiles para crear rutas de progresión y fomentar que los usuarios interactúen en diferentes áreas de tu aplicación. Al igual que otros tipos de logros, pueden activar [Correos de Logros](/es/features/emails#achievement-emails) cuando se desbloquean. +Los logros compuestos son útiles para crear rutas de progresión y animar a los usuarios a participar en distintas áreas de tu app. Al igual que otros tipos de logros, pueden activar [correos de logros](/es/features/emails#achievement-emails) cuando se desbloquean. -## Crear Logros {#creating-achievements} +## Crear logros {#creating-achievements} -Para crear nuevos logros, dirígete a la [página de logros](https://app.trophy.so/achievements) en el panel de Trophy y haz clic en el botón **Nuevo Logro**: +Para crear nuevos logros, ve a la [página de logros](https://app.trophy.so/achievements) en el panel de Trophy y haz clic en el botón **Nuevo logro**: -También puedes crear, actualizar y eliminar logros mediante programación con la [API de administración](/es/admin-api/endpoints/achievements/create-achievements). +También puedes crear, actualizar y eliminar logros mediante programación con la [Admin API](/es/admin-api/endpoints/achievements/create-achievements). @@ -128,79 +128,79 @@ También puedes crear, actualizar y eliminar logros mediante programación con l - - Ingresa un nombre para el logro. Este se devolverá desde las API y estará disponible para su uso en correos electrónicos y otras áreas de Trophy cuando sea apropiado. + + Introduce un nombre para el logro. Las API lo devolverán y estará disponible para usarlo en correos electrónicos y en otras áreas de Trophy cuando corresponda. - - Ingresa una breve descripción del logro. Esta se devolverá desde las API - y estará disponible para su uso en correos electrónicos y otras áreas de Trophy - cuando sea apropiado. + + Introduce una breve descripción del logro. Las API la devolverán + y estará disponible para usarla en correos electrónicos y en otras áreas de Trophy + cuando corresponda. - - Puedes agregar una insignia subiendo una imagen o ingresando una URL de imagen personalizada. - La URL se devuelve en las respuestas de la API y se usa en correos electrónicos y otras áreas de - Trophy cuando sea apropiado. + + Puedes añadir una insignia subiendo una imagen o introduciendo una URL de imagen personalizada. + La URL se devuelve en las respuestas de la API y se usa en correos electrónicos y en otras áreas de + Trophy cuando corresponda. Elige cómo quieres que se desbloquee este logro. -- Al elegir **Métrica** el logro se desbloqueará automáticamente cuando el total de métricas del usuario alcance el valor de activación del logro. +- Si eliges **Métrica**, el logro se desbloqueará automáticamente cuando el total de la métrica del usuario alcance el valor de activación del logro. -- Al elegir **Racha** el logro se desbloqueará automáticamente cuando la longitud de la racha del usuario alcance el valor de activación del logro. +- Si eliges **Racha**, el logro se desbloqueará automáticamente cuando la duración de la racha del usuario alcance el valor de activación del logro. -- Al elegir **Aniversario** el logro se desbloqueará automáticamente cuando el usuario alcance el aniversario especificado de su [`signUpDate`](/es/features/users#optional-attributes). +- Si eliges **Aniversario**, el logro se desbloqueará automáticamente cuando el usuario alcance el aniversario especificado de su [`signUpDate`](/es/features/users#optional-attributes). -- Al elegir **Llamada API** el logro solo se desbloqueará cuando sea marcado explícitamente como completado por tu código mediante una solicitud a la [API de completar logro](/es/api-reference/endpoints/achievements/mark-an-achievement-as-completed). +- Si eliges **Llamada a la API**, el logro solo se desbloqueará cuando tu código lo marque explícitamente como completado mediante una solicitud a la [API para completar logros](/es/api-reference/endpoints/achievements/mark-an-achievement-as-completed). -- Al elegir **Compuesto** el logro se desbloqueará automáticamente cuando el usuario haya completado todos los logros prerequisito que selecciones. +- Si eliges **Compuesto**, el logro se desbloqueará automáticamente cuando el usuario haya completado todos los logros prerrequisito que selecciones. - - Una vez que hayas elegido el tipo de activador para el logro, necesitas configurar los ajustes del activador. + + Una vez que hayas elegido el tipo de activador para el logro, debes configurar sus ajustes. -- Si elegiste el activador **Métrica**, deberás seleccionar la métrica y el valor total del usuario que debe desbloquear el logro al alcanzarse. +- Si elegiste el activador **Métrica**, deberás seleccionar la métrica y el valor total del usuario que, al alcanzarse, desbloqueará el logro. -- Si elegiste el activador **Racha**, deberás establecer la longitud de la racha que debe desbloquear el logro. +- Si elegiste el activador **Racha**, deberás definir la duración de la racha que desbloqueará el logro. -- Si elegiste el activador **Aniversario**, deberás establecer el número de años después del registro que debe desbloquear el logro. +- Si elegiste el activador **Aniversario**, deberás definir el número de años desde el registro que desbloqueará el logro. -- Si elegiste el activador **Llamada API**, deberás elegir una referencia única `key` que usarás para completar el logro a través de la [API](/es/api-reference/endpoints/achievements/mark-an-achievement-as-completed). +- Si elegiste el activador **Llamada a la API**, deberás definir una referencia única `key` que usarás para completar el logro mediante la [API](/es/api-reference/endpoints/achievements/mark-an-achievement-as-completed). -- Si elegiste el activador **Compuesto**, deberás seleccionar los logros prerequisitos que deben completarse todos para que este logro se desbloquee. El logro compuesto se desbloqueará automáticamente cuando un usuario complete el último prerequisito. +- Si elegiste el activador **Compuesto**, deberás seleccionar los logros prerrequisito que deben completarse para desbloquear este logro. El logro compuesto se desbloqueará automáticamente cuando un usuario complete el último prerrequisito. - + Puedes asignar filtros de atributos a un logro para restringir aún más quién puede desbloquearlo y cuándo. -- Para limitar un logro de **Métrica** a que solo se aplique a eventos con [atributos de evento personalizados](/es/features/events#custom-event-attributes) específicos, añade uno o más filtros en la sección **Atributos de Evento**. +- Para limitar un logro de tipo **Métrica** de modo que solo se aplique a eventos con [atributos de evento personalizados](/es/features/events#custom-event-attributes) específicos, añade uno o más filtros en la sección **Atributos de evento**. -- Para limitar cualquier tipo de logro a que solo se aplique a un usuario con uno o más [atributos de usuario personalizados](/es/features/users#custom-user-attributes) específicos, añade atributos y los valores deseados en la sección **Atributos de Usuario**. +- Para limitar cualquier tipo de logro de modo que solo se aplique a usuarios con uno o más [atributos de usuario personalizados](/es/features/users#custom-user-attributes) específicos, añade los atributos y los valores deseados en la sección **Atributos de usuario**. - Cuando estableces múltiples filtros de atributos de evento, todos deben coincidir para que el - logro de métrica se aplique. En las respuestas de API, `eventAttributes` es el - campo canónico e `eventAttribute` está obsoleto por compatibilidad heredada. + Si estableces varios filtros de atributos de evento, todos deben coincidir para que se aplique el + logro de métrica. En las respuestas de la API, `eventAttributes` es el + campo canónico e `eventAttribute` está obsoleto y se mantiene por compatibilidad con versiones anteriores. - + Guarda el nuevo logro. -## Gestión de Logros {#managing-achievements} +## Gestión de logros {#managing-achievements} -Trophy cuenta con herramientas integradas para ayudarte a probar y controlar qué logros se pueden desbloquear, por quién y cuándo, sin afectar la producción. +Trophy incluye herramientas integradas para ayudarte a probar y controlar qué logros se pueden desbloquear, quién puede hacerlo y cuándo, sin afectar a producción. -### Estados de los Logros {#achievement-statuses} +### Estados de los logros {#achievement-statuses} -Aquí tienes una descripción general de los diferentes estados de los logros y lo que significan. +Esta es una descripción general de los distintos estados de los logros y de lo que significan. **Inactivo** @@ -208,17 +208,17 @@ Todos los logros se crean como inactivos. Los logros inactivos no se pueden comp **Activo** -Cuando activas un logro, lo haces 'en vivo'. Los usuarios pueden completarlo y se devolverá desde todas las API de logros. +Cuando activas un logro, pasa a estar «en vivo». Los usuarios pueden completarlo y se devuelve en todas las API de logros. **Bloqueado** -Cuando bloqueas un logro, los usuarios que aún no lo hayan desbloqueado ya no podrán desbloquearlo, pero los usuarios que ya lo hayan desbloqueado no se verán afectados. +Cuando bloqueas un logro, los usuarios que aún no lo han desbloqueado ya no podrán hacerlo, pero los usuarios que ya lo desbloquearon no se verán afectados. -Los logros bloqueados solo se devuelven en las API para usuarios que ya los han conseguido. +Los logros bloqueados solo se devuelven en las API para los usuarios que ya los han conseguido. -### Flujo de Trabajo de Logros {#achievement-workflow} +### Flujo de trabajo de los logros {#achievement-workflow} -Los logros se pueden mover a través de diferentes estados según el siguiente flujo de trabajo: +Los logros pueden pasar por distintos estados según el siguiente flujo de trabajo: ```mermaid flowchart LR @@ -233,19 +233,19 @@ flowchart LR ``` -## Completar Logros {#completing-achievements} +## Cómo completar logros {#completing-achievements} -Si estás usando logros basados en métricas, no es necesario _completar_ logros explícitamente. Una vez que hayas configurado el [seguimiento de métricas](/es/features/events#tracking-metric-events) en tu código, todos los logros vinculados a la métrica se rastrearán automáticamente. +Si utilizas logros de métrica, no es necesario _completar_ los logros de forma explícita. Una vez que hayas configurado el [seguimiento de métricas](/es/features/events#tracking-metric-events) en tu código, se hará un seguimiento automático de todos los logros vinculados a la métrica. -De manera similar, si estás usando logros de racha, todos los logros relacionados con la racha del usuario se desbloquearán automáticamente cuando un usuario alcance la longitud de racha respectiva. +Del mismo modo, si utilizas logros de racha, todos los logros relacionados con la racha del usuario se desbloquearán automáticamente cuando este alcance la longitud de racha correspondiente. -Los logros de aniversario también se completan automáticamente. Se desbloquean cuando un usuario alcanza el aniversario configurado de su [`signUpDate`](/es/features/users#optional-attributes). Los usuarios sin un `signUpDate` no pueden desbloquearlos. +Los logros de aniversario también se completan automáticamente. Se desbloquean cuando un usuario alcanza el aniversario configurado de su [`signUpDate`](/es/features/users#optional-attributes). Los usuarios que no tengan `signUpDate` no pueden desbloquearlos. -Los logros compuestos también se completan automáticamente. Se desbloquean tan pronto como un usuario haya completado todos sus logros prerequisito. No se necesitan llamadas API adicionales. +Los logros compuestos también se completan automáticamente. Se desbloquean en cuanto un usuario ha completado todos los logros que son requisito previo. No se necesitan llamadas adicionales a la API. -Sin embargo, si estás utilizando logros de API, tendrás que marcarlos como completados para cada usuario según corresponda. Para hacer esto, puedes usar la [API de Completar Logro](/es/api-reference/endpoints/achievements/mark-an-achievement-as-completed) utilizando el `key` del logro que deseas completar. +Sin embargo, si usas logros de API, tendrás que marcarlos como completados para cada usuario según corresponda. Para ello, puedes usar la [API de completar logro](/es/api-reference/endpoints/achievements/mark-an-achievement-as-completed) con el `key` del logro que quieras completar. -Esto devolverá una respuesta que contiene detalles del logro que se completó y que se puede usar en cualquier flujo de trabajo posterior a la finalización, como mostrar una notificación en la aplicación. +Esto devolverá una respuesta con los detalles del logro completado, que puedes usar en cualquier flujo de trabajo posterior a la finalización, como mostrar una notificación dentro de la aplicación. {/* vale off */} @@ -266,21 +266,21 @@ Esto devolverá una respuesta que contiene detalles del logro que se completó y {/* vale on */} -## Retroactividad de Logros {#backdating-achievements} +## Aplicación retroactiva de logros {#backdating-achievements} -De forma predeterminada, cada vez que cambias un logro al [estado](#managing-achievements) 'Activo', Trophy verificará si algún usuario existente cumple con los requisitos del logro y lo completará automáticamente en segundo plano. +De forma predeterminada, cada vez que cambias un logro al [estado](#managing-achievements) 'Activo', Trophy comprueba si algún usuario existente cumple los requisitos del logro y se lo completa en segundo plano. -Esto significa que cuando lances nuevos logros en producción, o edites un logro activo existente, la retroactividad ocurrirá automáticamente. +Esto significa que, cuando lanzas nuevos logros a producción o editas un logro activo existente, la aplicación retroactiva se realiza automáticamente. -Lo mismo se aplica cuando estableces o cambias el [`signUpDate`](/es/features/users#optional-attributes) de un usuario. Si el usuario ya califica para algún logro de aniversario activo, Trophy los completa de forma silenciosa. +Lo mismo ocurre cuando estableces o cambias el [`signUpDate`](/es/features/users#optional-attributes) de un usuario. Si el usuario ya cumple los requisitos de algún logro de aniversario activo, Trophy lo completa de forma silenciosa. - Cuando los logros se completan de esta manera, los usuarios no reciben ninguna - notificación de que esto ha sucedido. Esto es para evitar que los cambios en tus - logros en Trophy resulten en que los usuarios reciban muchas notificaciones. + Cuando los logros se completan de esta manera, los usuarios no reciben + ninguna notificación. Así se evita que los cambios en tus logros de Trophy + provoquen que los usuarios reciban muchas notificaciones. -Puedes verificar cuántos usuarios han completado logros en cualquier momento en la [página de logros](https://app.trophy.so/achievements) del panel de Trophy. La columna _Usuarios_ en los logros puede actualizarse durante la retroactividad. +Puedes comprobar cuántos usuarios han completado logros en cualquier momento en la [página de logros](https://app.trophy.so/achievements) del panel de Trophy. La columna _Usuarios_ de los logros puede actualizarse durante la aplicación retroactiva. -## Uso de Insignias {#using-badges} +## Uso de insignias {#using-badges} -Puedes asignar una insignia a cualquier logro cargando una imagen—Trophy la sirve y devuelve la URL—o proporcionando tu propia URL de imagen. Las respuestas de API relevantes incluyen ese valor en `badgeUrl` para usarlo como `src` en las etiquetas ``. +Puedes asignar una insignia a cualquier logro subiendo una imagen (Trophy la aloja y devuelve la URL) o proporcionando tu propia URL de imagen. Las respuestas de API relevantes incluyen ese valor en `badgeUrl` para usarlo como `src` en las etiquetas ``. ```json Response {8} { @@ -320,18 +320,18 @@ Puedes asignar una insignia a cualquier logro cargando una imagen—Trophy la si } ``` -## Mostrar Logros {#displaying-achievements} +## Mostrar logros {#displaying-achievements} -Trophy cuenta con varias APIs que permiten mostrar logros dentro de tus aplicaciones. Aquí veremos las diferentes formas de usarlas y los tipos de interfaces que puedes construir. +Trophy ofrece varias API que permiten mostrar logros dentro de tus aplicaciones. Aquí veremos las distintas formas de usarlas y los tipos de interfaces que puedes crear. Consulta nuestra [guía completa](/es/guides/how-to-build-an-achievements-feature) sobre - cómo agregar una funcionalidad de logros a tu app para más detalles. + cómo añadir una función de logros a tu app para obtener más detalles. -### Todos los Logros {#all-achievements} +### Todos los logros {#all-achievements} -Para mostrar una vista general de alto nivel de todos los logros que los usuarios pueden completar, utiliza el [endpoint de todos los logros](/es/api-reference/endpoints/achievements/all-achievements). Usa estos datos para construir una interfaz que dé a los usuarios una idea de las rutas de progresión dentro de tu aplicación. +Para mostrar una visión general de todos los logros que los usuarios pueden completar, usa el [endpoint de todos los logros](/es/api-reference/endpoints/achievements/all-achievements). Usa estos datos para crear una interfaz que dé a los usuarios una idea de las rutas de progresión dentro de tu aplicación. -El endpoint de todos los logros devuelve una lista de todos los logros dentro de tu cuenta de Trophy. Cada logro devuelto también incluye `completions` (el número de usuarios que han completado el logro) y `rarity` (el porcentaje de usuarios que han completado el logro) como sigue: +El endpoint de todos los logros devuelve una lista de todos los logros de tu cuenta de Trophy. Cada logro devuelto también incluye `completions` (el número de usuarios que han completado el logro) e `rarity` (el porcentaje de usuarios que han completado el logro) de la siguiente manera: -### Logros de Usuario {#user-achievements} +### Logros del usuario {#user-achievements} -Si en cambio estás construyendo elementos de interfaz específicos para usuarios, entonces utiliza el [endpoint de logros de usuario](/es/api-reference/endpoints/users/get-a-users-completed-achievements) para devolver los logros que un usuario específico ha completado. +Si, en cambio, estás creando elementos de interfaz específicos de cada usuario, usa el [endpoint de logros del usuario](/es/api-reference/endpoints/users/get-a-users-completed-achievements) para obtener los logros que un usuario concreto ha completado. - También puedes incluir logros que un usuario aún no ha completado al incluir - el parámetro de consulta `includeIncomplete=true`. + También puedes incluir los logros que un usuario aún no ha completado + añadiendo el parámetro de consulta `includeIncomplete=true`. @@ -365,9 +365,9 @@ Si en cambio estás construyendo elementos de interfaz específicos para usuario /> -## Analíticas de Logros {#achievement-analytics} +## Analíticas de logros {#achievement-analytics} -Si tienes logros configurados para cualquiera de tus [Métricas](/es/features/metrics), entonces la página de analíticas de métricas muestra un gráfico que te presenta el progreso actual de todos los Usuarios de la siguiente manera: +Si tienes logros configurados para alguna de tus [Métricas](/es/features/metrics), la página de analíticas de la métrica muestra un gráfico con el progreso actual de todos los usuarios, como se muestra a continuación: -## Preguntas Frecuentes {#frequently-asked-questions} +## Preguntas frecuentes {#frequently-asked-questions} @@ -402,6 +402,10 @@ Si tienes logros configurados para cualquiera de tus [Métricas](/es/features/me -## Obtener soporte {#get-support} +## Obtener soporte {#rewarding-achievements} ¿Quieres contactar con el equipo de Trophy? Comunícate con nosotros por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! + +## Obtener soporte {#get-support} + +¿Quieres ponerte en contacto con el equipo de Trophy? Escríbenos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! diff --git a/es/features/leaderboards.mdx b/es/features/leaderboards.mdx index a94e8c40..e9f2a0c7 100644 --- a/es/features/leaderboards.mdx +++ b/es/features/leaderboards.mdx @@ -138,9 +138,9 @@ Para obtener las clasificaciones de un grupo particular de usuarios con una comb La elegibilidad controla qué usuarios pueden participar en una clasificación. Úsala cuando una clasificación deba estar abierta solo a un grupo específico de usuarios, por ejemplo, clientes de pago, una región concreta o una cohorte beta. -La elegibilidad se basa en [atributos de usuario personalizados](/es/features/users#custom-user-attributes). Un usuario solo puede participar en una clasificación, y aparecer en su ranking, si sus atributos cumplen todas las reglas de elegibilidad que definas. Las clasificaciones sin reglas de elegibilidad están abiertas a todos los usuarios. +La elegibilidad se basa en [atributos de usuario personalizados](/es/features/users#custom-user-attributes). Un usuario solo puede participar en una clasificación, y aparecer en sus rankings, si sus atributos cumplen todas las reglas de elegibilidad que establezcas. Las clasificaciones sin reglas de elegibilidad están abiertas a todos los usuarios. -Para definir reglas de elegibilidad, ve a la página de configuración de la clasificación y añade uno o más atributos de usuario, junto con los valores que deben tener los usuarios, en el campo **Atributos de usuario** de la sección **Elegibilidad**. +Para establecer reglas de elegibilidad, ve a la página de configuración de la clasificación y añade uno o más atributos de usuario, junto con los valores que deben tener los usuarios, en el campo **Atributos de usuario** de la sección **Elegibilidad**. - Cuando defines varias reglas de elegibilidad, un usuario debe cumplirlas todas + Si estableces varias reglas de elegibilidad, un usuario debe cumplirlas todas para ser elegible. -Los usuarios que no son elegibles no reciben puntuación y no aparecen en los rankings. Las posiciones se calculan solo entre los usuarios elegibles, por lo que no quedan huecos donde habría estado un usuario no elegible. Si los atributos de un usuario cambian y ya no cumplen las reglas, Trophy lo elimina de la ejecución actual de la clasificación. +Los usuarios que no son elegibles no reciben puntuación y no aparecen en los rankings. Las posiciones se calculan únicamente entre los usuarios elegibles, por lo que no quedan huecos donde habrían estado los usuarios no elegibles. Si los atributos de un usuario cambian y deja de cumplir las reglas, Trophy lo elimina de la ejecución actual de la clasificación. Las ejecuciones históricas nunca se modifican. Una vez que una ejecución ha finalizado, sus rankings quedan fijados, independientemente de cómo cambien después los atributos de los usuarios. - Las reglas de elegibilidad solo se pueden cambiar mientras una clasificación está `Inactive`. Consulta + Las reglas de elegibilidad solo se pueden cambiar mientras una clasificación está `Inactive`. Consulta los [estados de la clasificación](#leaderboard-statuses). @@ -169,14 +169,14 @@ Las ejecuciones históricas nunca se modifican. Una vez que una ejecución ha fi Los [desgloses](#ranking-breakdowns) y la elegibilidad usan atributos de usuario, pero cumplen funciones distintas: -- **Los desgloses** dividen a los participantes en grupos más pequeños. Todos los usuarios siguen clasificados, pero dentro de su propio grupo. -- **La elegibilidad** decide quién puede participar. Los usuarios que no cumplen las reglas quedan excluidos por completo. +- Los **desgloses** dividen a los participantes en grupos más pequeños. Todos los usuarios siguen apareciendo en el ranking, pero dentro de su propio grupo. +- La **elegibilidad** decide quién puede participar. Los usuarios que no cumplen las reglas quedan excluidos por completo. -Puedes usar ambas opciones en la misma clasificación, por ejemplo, para limitar una clasificación a los usuarios de pago y luego agruparlos por país. +Puedes usar ambas en la misma clasificación, por ejemplo, para limitar una clasificación a usuarios de pago y luego agruparlos por país. -## Fechas de Inicio y Fin {#start-end-dates} +## Fechas de inicio y fin {#start-end-dates} -Usa fechas de inicio y fin para controlar la ventana dentro de la cual las clasificaciones están clasificando activamente a los usuarios. +Usa las fechas de inicio y fin para controlar el periodo en el que las clasificaciones clasifican activamente a los usuarios. - Debido a las diferencias en [zonas horarias](#handling-time-zones), las clasificaciones pueden finalizarse hasta 12 horas después de la fecha de finalización en UTC para permitir que todos los usuarios alcancen la fecha de finalización según su reloj local. + Debido a las diferencias entre [zonas horarias](#handling-time-zones), las clasificaciones pueden + finalizarse hasta 12 horas después de la fecha de fin en UTC, para permitir que todos los usuarios lleguen + a la fecha de fin según su reloj local. ## Restricciones de tiempo {#time-restrictions} -Además de las [fechas de inicio y finalización](#start-end-dates), las clasificaciones se pueden configurar para tener restricciones de tiempo. +Además de las [fechas de inicio y fin](#start-end-dates), las clasificaciones se pueden configurar con restricciones de tiempo. -Cuando las restricciones de tiempo están habilitadas, las clasificaciones solo se actualizarán durante el período de tiempo configurado. +Cuando las restricciones de tiempo están habilitadas, las posiciones de la clasificación solo se actualizan durante el periodo configurado. -Las restricciones de tiempo son útiles al crear clasificaciones para eventos o promociones de tiempo limitado que se ejecutan durante un período de tiempo específico. +Las restricciones de tiempo son útiles al crear clasificaciones para eventos o promociones de duración limitada que se ejecutan durante un periodo específico. -Las restricciones de tiempo funcionan en todas las clasificaciones, incluidas las [clasificaciones recurrentes](#repeating-leaderboards). Cuando una clasificación recurrente tiene una restricción de tiempo, la restricción de tiempo se aplicará a cada ejecución de la clasificación. +Las restricciones de tiempo funcionan en todas las clasificaciones, incluidas las [clasificaciones recurrentes](#repeating-leaderboards). Cuando una clasificación recurrente tiene una restricción de tiempo, esta se aplica a cada ciclo de la clasificación. -### Configurar restricciones de tiempo {#setting-time-restrictions} +### Configuración de restricciones de tiempo {#setting-time-restrictions} -Para establecer restricciones de tiempo en una clasificación, diríjase a la página de configuración de la clasificación y active el interruptor etiquetado 'Restringir a ventana de tiempo'. Esto le dará dos campos, una hora de inicio y una hora de finalización. +Para establecer restricciones de tiempo en una clasificación, ve a la página de configuración de la clasificación y activa el interruptor con la etiqueta 'Restringir a franja horaria'. Esto mostrará dos campos: una hora de inicio y una hora de fin. -- Configurar solo una hora de inicio significa que las clasificaciones de la tabla de clasificación solo comenzarán a actualizarse después de la hora de inicio en cada día en que la clasificación esté activa. -- De manera similar, configurar solo una hora de finalización significa que las clasificaciones de la tabla de clasificación dejarán de actualizarse después de la hora de finalización en cada día en que la clasificación esté activa. -- Configurar tanto una hora de inicio como de finalización significa que las clasificaciones de la tabla de clasificación solo se actualizarán durante el período de tiempo configurado. +- Si estableces solo una hora de inicio, las posiciones de la clasificación empezarán a actualizarse únicamente después de esa hora, cada día en que la clasificación esté activa. +- Del mismo modo, si estableces solo una hora de fin, las posiciones de la clasificación dejarán de actualizarse después de esa hora, cada día en que la clasificación esté activa. +- Si estableces una hora de inicio y una de fin, las posiciones de la clasificación solo se actualizarán durante el periodo configurado. -### Consideraciones de Zona Horaria {#time-zone-considerations} +### Consideraciones sobre la zona horaria {#time-zone-considerations} -Las restricciones de tiempo en las clasificaciones se aplican en **hora local** para cada participante según su [zona horaria](/es/features/users#param-tz) configurada. +Las restricciones de tiempo en las clasificaciones se aplican en la **hora local** de cada participante, según su [zona horaria](/es/features/users#param-tz) configurada. -Esto significa que cada usuario puede participar en la clasificación en cualquier momento durante la restricción de tiempo configurada según su reloj local. +Esto significa que cada usuario puede participar en la clasificación en cualquier momento dentro de la restricción de tiempo configurada, según su reloj local. -## Límites de Participantes {#participant-limits} +## Límites de participantes {#participant-limits} -Las clasificaciones en Trophy tienen un número máximo predeterminado de participantes de **1,000**. Sin embargo, una clasificación puede configurarse para tener cualquier número arbitrario de participantes para admitir casos de uso como _Top 100_ o similares. +Las clasificaciones en Trophy tienen un número máximo de participantes predeterminado de **1000**. Sin embargo, se puede configurar una clasificación con cualquier número de participantes para admitir casos de uso como _Top 100_ o similares. -Si una clasificación ya tiene un número de participantes que coincide con su máximo configurado, los nuevos usuarios tendrán que superar la puntuación del rango más bajo para unirse a la clasificación. +Si una clasificación ya tiene un número de participantes igual al máximo configurado, los nuevos usuarios tendrán que superar la puntuación del último puesto para unirse a ella. -La única excepción a esto es cuando se utilizan [atributos de desglose](#ranking-breakdowns) para agrupar a los participantes en cohortes más pequeñas. Al usar atributos de desglose, el límite de participantes se aplica a cada grupo, no de manera general. +La única excepción es cuando se usan [atributos de desglose](#ranking-breakdowns) para agrupar a los participantes en cohortes más pequeñas. Con los atributos de desglose, el límite de participantes se aplica a cada grupo, no al total. Si una clasificación tiene reglas de [elegibilidad](#eligibility), el límite de participantes solo cuenta a los usuarios elegibles. -Si necesitas un límite de participantes mayor, considera usar [atributos de desglose](#ranking-breakdowns) para agrupar a los participantes en cohortes más pequeñas. O contáctanos en [support@trophy.so](mailto:support@trophy.so) y estaremos encantados de aumentar tus valores predeterminados. +Si necesitas un límite de participantes mayor, considera usar [atributos de desglose](#ranking-breakdowns) para agrupar a los participantes en cohortes más pequeñas. También puedes escribirnos a [support@trophy.so](mailto:support@trophy.so) y con gusto aumentaremos tus valores predeterminados. -## Creación de Clasificaciones {#creating-leaderboards} +## Creación de clasificaciones {#creating-leaderboards} -Para crear una clasificación, dirígete a la [página de clasificaciones](https://app.trophy.so/leaderboards) en el panel de Trophy y haz clic en el botón _Nueva Clasificación_. +Para crear una clasificación, ve a la [página de clasificaciones](https://app.trophy.so/leaderboards) en el panel de Trophy y haz clic en el botón _Nueva clasificación_.