Última actualización
Alertas
Reglas de alerta que se activan con eventos de LIVE (webhook, correo, dentro de la app, Telegram).
Cada operación se autentica con una clave de API (Authorization: Bearer <key>) y los errores usan el sobre compartido que se describe en Errores. Generado a partir del documento OpenAPI de la API.
Listar reglas de alerta
/v1/alerts/rulesTodas las reglas del espacio de trabajo con sus canales. Los secretos de firma nunca se vuelven a devolver.
Solicitud
curl "https://api.toktokdata.live/v1/alerts/rules" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respuesta
{ "rules": [ { "id": "7d01133d-6ecb-5101-a9c0-e23e4755bad9", "name": "Envelopes from Linh", "creatorUniqueId": "linh.live", "region": null, "eventTypes": [ "envelope" ], "minScore": null, "minRate": null, "minDiamondCount": 100, "goodyBagAllowAllViewers": null, "goodyBagMaxRequiredLevel": null, "enabled": true, "createdAt": "2026-11-01T10:51:45.582Z", "updatedAt": "2026-11-01T10:51:45.582Z", "channels": [ { "id": "3d0d4dc5-6993-55ab-a1cd-ffbe7db95507", "channelType": "in_app", "target": null, "enabled": true, "hasSigningSecret": false } ] } ], "provenance": { "observedAt": "2026-11-01T10:00:00.000Z", "freshness": "near_realtime", "source": "workspace_alert_rules", "sourceKind": "derived", "coverageStatus": "observed", "methodologyVersion": "alert-rules-v1", "window": null }}Errores
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.
Crear una regla de alerta
/v1/alerts/rulesUna regla monitorea a un creador (o a toda una región) para ciertos tipos de evento y entrega a sus canales. El secreto de firma de un canal de webhook se devuelve una sola vez, en webhookSecrets.
Cuerpo de la solicitud
| Name | Type | Description |
|---|---|---|
nameRequired | string | Se muestra en las notificaciones. |
creatorUniqueIdOptional | string | null | Monitorea a un creador; omítelo para toda la región. |
regionOptional | string | null | |
eventTypesOptional | ("gift" | "envelope" | "goodyBag" | "*")[] | |
minDiamondCountOptional | integer | null | Ignora los eventos que valen menos diamantes. |
enabledOptional | boolean | Default: true |
channelsOptional | object[] |
Solicitud
curl -X POST "https://api.toktokdata.live/v1/alerts/rules" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Envelopes from Linh","creatorUniqueId":"linh.live","eventTypes":["envelope"],"minDiamondCount":100,"channels":[{"channelType":"webhook","target":"https://example.com/hooks/roomscope"}]}'Respuesta
{ "rule": { "id": "7d01133d-6ecb-5101-a9c0-e23e4755bad9", "name": "Envelopes from Linh", "creatorUniqueId": "linh.live", "region": null, "eventTypes": [ "envelope" ], "minScore": null, "minRate": null, "minDiamondCount": 100, "goodyBagAllowAllViewers": null, "goodyBagMaxRequiredLevel": null, "enabled": true, "createdAt": "2026-11-01T10:51:45.582Z", "updatedAt": "2026-11-01T10:51:45.582Z", "channels": [ { "id": "3d0d4dc5-6993-55ab-a1cd-ffbe7db95507", "channelType": "in_app", "target": null, "enabled": true, "hasSigningSecret": false } ] }, "webhookSecrets": []}Errores
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.
Actualizar una regla de alerta
/v1/alerts/rules/{rule_id}Envía solo los campos que quieres cambiar; channels reemplaza la lista completa.
Parámetros de ruta
| Name | Type | Description |
|---|---|---|
rule_idRequired | string | ID de la regla de alerta (UUID). |
Cuerpo de la solicitud
| Name | Type | Description |
|---|---|---|
nameOptional | string | Se muestra en las notificaciones. |
creatorUniqueIdOptional | string | null | Monitorea a un creador; omítelo para toda la región. |
regionOptional | string | null | |
eventTypesOptional | ("gift" | "envelope" | "goodyBag" | "*")[] | |
minDiamondCountOptional | integer | null | Ignora los eventos que valen menos diamantes. |
enabledOptional | boolean | Default: true |
channelsOptional | object[] |
Solicitud
curl -X PATCH "https://api.toktokdata.live/v1/alerts/rules/7d01133d-6ecb-5101-a9c0-e23e4755bad9" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"enabled":false}'Respuesta
{ "id": "7d01133d-6ecb-5101-a9c0-e23e4755bad9", "name": "Envelopes from Linh", "creatorUniqueId": "linh.live", "region": null, "eventTypes": [ "envelope" ], "minScore": null, "minRate": null, "minDiamondCount": 100, "goodyBagAllowAllViewers": null, "goodyBagMaxRequiredLevel": null, "enabled": true, "createdAt": "2026-11-01T10:51:45.582Z", "updatedAt": "2026-11-01T10:51:45.582Z", "channels": [ { "id": "3d0d4dc5-6993-55ab-a1cd-ffbe7db95507", "channelType": "in_app", "target": null, "enabled": true, "hasSigningSecret": false } ]}Errores
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.
Eliminar una regla de alerta
/v1/alerts/rules/{rule_id}Elimina la regla y sus canales. No devuelve cuerpo.
Parámetros de ruta
| Name | Type | Description |
|---|---|---|
rule_idRequired | string | ID de la regla de alerta (UUID). |
Solicitud
curl -X DELETE "https://api.toktokdata.live/v1/alerts/rules/7d01133d-6ecb-5101-a9c0-e23e4755bad9" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respuesta
204 sin cuerpo.
Errores
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.
Enviar una notificación de prueba
/v1/alerts/rules/{rule_id}/testEntrega un evento sintético a cada canal habilitado de la regla.
Parámetros de ruta
| Name | Type | Description |
|---|---|---|
rule_idRequired | string | ID de la regla de alerta (UUID). |
Solicitud
curl -X POST "https://api.toktokdata.live/v1/alerts/rules/7d01133d-6ecb-5101-a9c0-e23e4755bad9/test" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respuesta
{ "enqueued": 1}Errores
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.