Última atualização
Alertas
Regras de alerta que disparam em eventos de LIVE (webhook, e-mail, no app, Telegram).
Toda operação se autentica com uma chave de API (Authorization: Bearer <key>) e os erros usam o envelope comum descrito em Erros. Gerado a partir do documento OpenAPI da API.
Listar regras de alerta
/v1/alerts/rulesTodas as regras do espaço de trabalho com seus canais. Os segredos de assinatura nunca são retornados de novo.
Requisição
curl "https://api.toktokdata.live/v1/alerts/rules" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Resposta
{ "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 }}Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.
Criar uma regra de alerta
/v1/alerts/rulesUma regra monitora um criador (ou uma região inteira) em busca de tipos de evento e entrega aos seus canais. O segredo de assinatura de um canal de webhook é retornado uma única vez, em webhookSecrets.
Corpo da requisição
| Name | Type | Description |
|---|---|---|
nameRequired | string | Exibido nas notificações. |
creatorUniqueIdOptional | string | null | Monitora um criador; omita para monitorar toda a região. |
regionOptional | string | null | |
eventTypesOptional | ("gift" | "envelope" | "goodyBag" | "*")[] | |
minDiamondCountOptional | integer | null | Ignora eventos que valem menos diamantes que isso. |
enabledOptional | boolean | Default: true |
channelsOptional | object[] |
Requisição
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"}]}'Resposta
{ "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": []}Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.
Atualizar uma regra de alerta
/v1/alerts/rules/{rule_id}Envie apenas os campos a alterar; channels substitui a lista inteira.
Parâmetros de caminho
| Name | Type | Description |
|---|---|---|
rule_idRequired | string | ID da regra de alerta (UUID). |
Corpo da requisição
| Name | Type | Description |
|---|---|---|
nameOptional | string | Exibido nas notificações. |
creatorUniqueIdOptional | string | null | Monitora um criador; omita para monitorar toda a região. |
regionOptional | string | null | |
eventTypesOptional | ("gift" | "envelope" | "goodyBag" | "*")[] | |
minDiamondCountOptional | integer | null | Ignora eventos que valem menos diamantes que isso. |
enabledOptional | boolean | Default: true |
channelsOptional | object[] |
Requisição
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}'Resposta
{ "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 } ]}Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.
Excluir uma regra de alerta
/v1/alerts/rules/{rule_id}Exclui a regra e seus canais. Não retorna corpo.
Parâmetros de caminho
| Name | Type | Description |
|---|---|---|
rule_idRequired | string | ID da regra de alerta (UUID). |
Requisição
curl -X DELETE "https://api.toktokdata.live/v1/alerts/rules/7d01133d-6ecb-5101-a9c0-e23e4755bad9" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Resposta
204 sem corpo.
Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.
Enviar uma notificação de teste
/v1/alerts/rules/{rule_id}/testEntrega um evento sintético a todos os canais ativos da regra.
Parâmetros de caminho
| Name | Type | Description |
|---|---|---|
rule_idRequired | string | ID da regra de alerta (UUID). |
Requisição
curl -X POST "https://api.toktokdata.live/v1/alerts/rules/7d01133d-6ecb-5101-a9c0-e23e4755bad9/test" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Resposta
{ "enqueued": 1}Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.