Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions admin-api/endpoints/streaks/create-pauses.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Create streak pauses for multiple users
openapi: "/openapi/admin.json POST /streaks/pauses"
---

import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx";

**Rate Limits**

<RateLimitBadge tier={1} />
10 changes: 10 additions & 0 deletions admin-api/endpoints/streaks/delete-pauses.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Delete streak pauses
openapi: "/openapi/admin.json DELETE /streaks/pauses"
---

import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx";

**Rate Limits**

<RateLimitBadge tier={1} />
4 changes: 4 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,8 @@
"group": "Streaks",
"pages": [
"admin-api/endpoints/streaks/grant-freezes",
"admin-api/endpoints/streaks/create-pauses",
"admin-api/endpoints/streaks/delete-pauses",
"admin-api/endpoints/streaks/restore-streaks"
]
},
Expand Down Expand Up @@ -646,6 +648,8 @@
"group": "Rachas",
"pages": [
"es/admin-api/endpoints/streaks/grant-freezes",
"es/admin-api/endpoints/streaks/create-pauses",
"es/admin-api/endpoints/streaks/delete-pauses",
"es/admin-api/endpoints/streaks/restore-streaks"
]
},
Expand Down
10 changes: 10 additions & 0 deletions es/admin-api/endpoints/streaks/create-pauses.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Crear pausas de racha para múltiples usuarios
openapi: "/openapi/admin.json POST /streaks/pauses"
---

import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx";

**Límites de velocidad**

<RateLimitBadge tier={1} />
10 changes: 10 additions & 0 deletions es/admin-api/endpoints/streaks/delete-pauses.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Eliminar pausas de racha
openapi: "/openapi/admin.json DELETE /streaks/pauses"
---

import { RateLimitBadge } from "../../../components/rate-limit-badge.jsx";

**Límites de velocidad**

<RateLimitBadge tier={1} />
60 changes: 52 additions & 8 deletions es/features/streaks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,32 @@ Si has [configurado zonas horarias](/es/features/users#param-tz) para tus usuari

En Trophy también configuras el número máximo de congelaciones que cada usuario puede tener, hasta un límite de 100. La [acumulación de congelaciones](#freeze-accumulation) solo otorgará congelaciones hasta este límite.

## Pausas de Racha {#streak-pauses}

Las pausas de racha protegen la racha de un usuario durante un rango de fechas conocido, como unas vacaciones u otra pausa planificada. Mientras una pausa cubre un período, Trophy mantiene la duración de la racha del usuario en lugar de terminarla si no cumple sus [condiciones de racha](#streak-conditions).

### Crear Pausas {#creating-pauses}

Crea pausas con la [API de administración para crear pausas de racha](/es/admin-api/endpoints/streaks/create-pauses). Puedes crear pausas para hasta 100 usuarios en una sola solicitud.

Cada pausa requiere:

- `userId`: el usuario para el que crear una pausa
- `start`: la primera fecha que cubre la pausa
- `end`: la última fecha que cubre la pausa

Las fechas de inicio en el pasado se rechazan. Si has [configurado zonas horarias](/es/features/users#param-tz) para tus usuarios, Trophy evalúa `start` contra el día de hoy en la zona horaria local de cada usuario.

### Eliminar Pausas {#deleting-pauses}

Para dejar de aplicar una pausa, elimínala con la [API de administración para eliminar pausas de racha](/es/admin-api/endpoints/streaks/delete-pauses).

### Leer Pausas {#reading-pauses}

La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-streak) devuelve las pausas próximas y actualmente activas en el campo `pauses`. Se omiten las pausas pasadas y eliminadas.

Cada período en `streakHistory` incluye `usedPause`, que es `true` cuando la racha del usuario estuvo en pausa durante ese período.

## Seguimiento de Rachas {#tracking-streaks}

Trophy calcula automáticamente las rachas para todos los usuarios en función de los [eventos de métrica](/es/features/events#tracking-metric-events) que reportes a Trophy.
Expand Down Expand Up @@ -116,6 +142,10 @@ Para obtener más información sobre cómo establecer preferencias de usuario pa

Esta sección describe algunas de las operaciones que puedes realizar para administrar las rachas de los usuarios en tu aplicación.

### Pausar la Racha de un Usuario {#pausing-a-users-streak}

Para pausar la racha de un usuario durante un rango de fechas específico, usa la [API de administración para crear pausas de racha](/es/admin-api/endpoints/streaks/create-pauses). Consulta [pausas de racha](#streak-pauses) para saber cómo funcionan las pausas, incluyendo cómo eliminarlas.

### Restaurar la Racha de un Usuario {#restoring-a-users-streak}

Para restaurar la racha de un usuario, dirígete a la página de detalles del usuario y usa la acción 'Restaurar Racha'. Restaurar la racha de un usuario la establece en la duración que tenía cuando la perdió por última vez.
Expand Down Expand Up @@ -156,7 +186,7 @@ Esto puede usarse para activar transaccionalmente elementos de UI/UX incluyendo:

### API de Rachas de Usuario {#user-streaks-api}

La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-streak) devuelve la racha actual de un usuario individual, junto con su historial reciente de rachas. Usa el parámetro de consulta `historyPeriods` para controlar cuántos períodos devolver.
La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-streak) devuelve la racha actual de un usuario individual, junto con su historial reciente de rachas y cualquier [pausa de racha](#streak-pauses) próxima o activa. Usa el parámetro de consulta `historyPeriods` para controlar cuántos períodos devolver.

{/* vale off */}

Expand All @@ -169,41 +199,55 @@ La [API de rachas de usuario](/es/api-reference/endpoints/users/get-a-users-stre
"periodEnd": "2025-04-05",
"expires": "2025-04-12",
"rank": 5,
"pauses": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"start": "2026-08-20",
"end": "2026-08-27"
}
],
"streakHistory": [
{
"periodStart": "2025-03-02",
"periodEnd": "2025-03-08",
"length": 9
"length": 9,
"usedPause": false
},
{
"periodStart": "2025-03-09",
"periodEnd": "2025-03-15",
"length": 0
"length": 0,
"usedPause": false
},
{
"periodStart": "2025-03-16",
"periodEnd": "2025-03-22",
"length": 0
"length": 0,
"usedPause": false
},
{
"periodStart": "2025-03-23",
"periodEnd": "2025-03-29",
"length": 1
"length": 1,
"usedPause": false
},
{
"periodStart": "2025-03-30",
"periodEnd": "2025-04-05",
"length": 2
"length": 2,
"usedPause": false
},
{
"periodStart": "2025-04-06",
"periodEnd": "2025-04-12",
"length": 3
"length": 3,
"usedPause": false
},
{
"periodStart": "2025-04-13",
"periodEnd": "2025-04-19",
"length": 4
"length": 4,
"usedPause": false
}
]
}
Expand Down
6 changes: 6 additions & 0 deletions es/guides/how-to-build-a-streaks-feature.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,12 @@ Trophy también admite congelación de rachas, lo que puede ayudar a evitar que

Obtén más información sobre la congelación de rachas en la [documentación dedicada de congelación de rachas](/es/features/streaks#streak-freezes).

## Pausas de Racha {#streak-pauses}

Trophy también admite pausas de racha, que protegen la racha de un usuario durante un rango de fechas conocido en lugar de terminarla.

Obtén más información sobre las pausas de racha en la [documentación dedicada de pausas de racha](/es/features/streaks#streak-pauses).

## Obtener Soporte {#get-support}

¿Quieres ponerte en contacto con el equipo de Trophy? Contáctanos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudar!
62 changes: 53 additions & 9 deletions features/streaks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,32 @@ If you've [configured time zones](/features/users#param-tz) for your users, Trop

In Trophy you also configure the maximum number of freezes that each user can have, up to a limit of 100. [Freeze accumulation](#freeze-accumulation) will only ever grant freezes up to this limit.

## Streak Pauses {#streak-pauses}

Streak pauses protect a user's streak over a known date range, such as a vacation or other planned break. While a pause covers a period, Trophy maintains the user's streak length instead of ending the streak if they miss their [streak conditions](#streak-conditions).

### Creating Pauses {#creating-pauses}

Create pauses with the [create streak pauses admin API](/admin-api/endpoints/streaks/create-pauses). You can create pauses for up to 100 users in a single request.

Each pause requires:

- `userId`: the user to create a pause for
- `start`: the first date the pause covers
- `end`: the last date the pause covers

Start dates in the past are rejected. If you've [configured time zones](/features/users#param-tz) for your users, Trophy evaluates `start` against today in each user's local timezone.

### Deleting Pauses {#deleting-pauses}

To stop a pause from applying, delete it with the [delete streak pauses admin API](/admin-api/endpoints/streaks/delete-pauses).

### Reading Pauses {#reading-pauses}

The [user streaks API](/api-reference/endpoints/users/get-a-users-streak) returns upcoming and currently active pauses in the `pauses` field. Past and deleted pauses are omitted.

Each period in `streakHistory` includes `usedPause`, which is `true` when the user's streak was paused during that period.

## Tracking Streaks {#tracking-streaks}

Trophy automatically calculates streaks for all users based on the [metric events](/features/events#tracking-metric-events) you report to Trophy.
Expand Down Expand Up @@ -116,7 +142,11 @@ To learn more about how to set user preferences for a specific user, read the de

This section outlines some of the operations you can perform to manage user's streaks in your application.

### Restoring A Users Streak {#restoring-a-users-streak}
### Pausing A User's Streak {#pausing-a-users-streak}

To pause a user's streak for a specific date range, use the [create streak pauses admin API](/admin-api/endpoints/streaks/create-pauses). See [streak pauses](#streak-pauses) for how pauses work, including how to delete them.

### Restoring A User's Streak {#restoring-a-users-streak}

To restore a user's streak, head to the user details page and use the 'Restore Streak' action. Restoring a user's streak sets it to the length it was when they last lost it.

Expand Down Expand Up @@ -158,7 +188,7 @@ This can be used to transactionally trigger UI/UX elements including:

### User Streaks API {#user-streaks-api}

The [user streaks API](/api-reference/endpoints/users/get-a-users-streak) returns the current streak for a single user, along with their recent streak history. Use the `historyPeriods` query parameter to control how many periods to return.
The [user streaks API](/api-reference/endpoints/users/get-a-users-streak) returns the current streak for a single user, along with their recent streak history and any upcoming or active [streak pauses](#streak-pauses). Use the `historyPeriods` query parameter to control how many periods to return.

{/* vale off */}

Expand All @@ -171,41 +201,55 @@ The [user streaks API](/api-reference/endpoints/users/get-a-users-streak) return
"periodEnd": "2025-04-05",
"expires": "2025-04-12",
"rank": 5,
"pauses": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"start": "2026-08-20",
"end": "2026-08-27"
}
],
"streakHistory": [
{
"periodStart": "2025-03-02",
"periodEnd": "2025-03-08",
"length": 9
"length": 9,
"usedPause": false
},
{
"periodStart": "2025-03-09",
"periodEnd": "2025-03-15",
"length": 0
"length": 0,
"usedPause": false
},
{
"periodStart": "2025-03-16",
"periodEnd": "2025-03-22",
"length": 0
"length": 0,
"usedPause": false
},
{
"periodStart": "2025-03-23",
"periodEnd": "2025-03-29",
"length": 1
"length": 1,
"usedPause": false
},
{
"periodStart": "2025-03-30",
"periodEnd": "2025-04-05",
"length": 2
"length": 2,
"usedPause": false
},
{
"periodStart": "2025-04-06",
"periodEnd": "2025-04-12",
"length": 3
"length": 3,
"usedPause": false
},
{
"periodStart": "2025-04-13",
"periodEnd": "2025-04-19",
"length": 4
"length": 4,
"usedPause": false
}
]
}
Expand Down
6 changes: 6 additions & 0 deletions guides/how-to-build-a-streaks-feature.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,12 @@ Trophy also supports streak freezes which can help prevent users from losing the

Learn more about streak freezes in the dedicated [streak freezes docs](/features/streaks#streak-freezes).

## Streak Pauses {#streak-pauses}

Trophy also supports streak pauses, which protect a user's streak over a known date range instead of ending it.

Learn more about streak pauses in the dedicated [streak pauses docs](/features/streaks#streak-pauses).

## Get Support {#get-support}

Want to get in touch with the Trophy team? Reach out to us via [email](mailto:support@trophy.so). We're here to help!
Loading
Loading