RoomScope

Ú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

GET/v1/alerts/rules

Todas as regras do espaço de trabalho com seus canais. Os segredos de assinatura nunca são retornados de novo.

Escopowebhook:manageCréditosGrátis

Requisição

curl "https://api.toktokdata.live/v1/alerts/rules" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "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

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.

Criar uma regra de alerta

POST/v1/alerts/rules

Uma 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.

Escopowebhook:manageCréditosGrátis

Corpo da requisição

Corpo da requisição · POST /v1/alerts/rules
NameTypeDescription
nameRequired
stringExibido nas notificações.
creatorUniqueIdOptional
string | nullMonitora um criador; omita para monitorar toda a região.
regionOptional
string | null
eventTypesOptional
("gift" | "envelope" | "goodyBag" | "*")[]
minDiamondCountOptional
integer | nullIgnora 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

201 Created
{  "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

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.

Atualizar uma regra de alerta

PATCH/v1/alerts/rules/{rule_id}

Envie apenas os campos a alterar; channels substitui a lista inteira.

Escopowebhook:manageCréditosGrátis

Parâmetros de caminho

Parâmetros de caminho · PATCH /v1/alerts/rules/{rule_id}
NameTypeDescription
rule_idRequired
stringID da regra de alerta (UUID).

Corpo da requisição

Corpo da requisição · PATCH /v1/alerts/rules/{rule_id}
NameTypeDescription
nameOptional
stringExibido nas notificações.
creatorUniqueIdOptional
string | nullMonitora um criador; omita para monitorar toda a região.
regionOptional
string | null
eventTypesOptional
("gift" | "envelope" | "goodyBag" | "*")[]
minDiamondCountOptional
integer | nullIgnora 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

200 OK
{  "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

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.

Excluir uma regra de alerta

DELETE/v1/alerts/rules/{rule_id}

Exclui a regra e seus canais. Não retorna corpo.

Escopowebhook:manageCréditosGrátis

Parâmetros de caminho

Parâmetros de caminho · DELETE /v1/alerts/rules/{rule_id}
NameTypeDescription
rule_idRequired
stringID 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

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.

Enviar uma notificação de teste

POST/v1/alerts/rules/{rule_id}/test

Entrega um evento sintético a todos os canais ativos da regra.

Escopowebhook:manageCréditosGrátis

Parâmetros de caminho

Parâmetros de caminho · POST /v1/alerts/rules/{rule_id}/test
NameTypeDescription
rule_idRequired
stringID 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

200 OK
{  "enqueued": 1}

Erros

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.
Esta página foi útil?