Alertas e assinaturas
Cria alertas por limiar num card e envios agendados por e-mail de uma aba ou card, e liga, desliga, lista e apaga cada um.
Há dois tipos de assinatura. O alerta (mode: A) vigia o valor de um card e avisa quando ele cruza um limiar, por exemplo "receita abaixo de R$ 1.000". O agendamento (mode: S) envia por e-mail, de tempos em tempos, os dados de uma aba ou de um card. Listar exige apenas view_reports; criar, alterar, apagar exigem manage_dashboards, porque a assinatura envia e-mail em nome da loja. Para disparar uma assinatura agora e ver o histórico, veja Execuções.
Listar
/api/v1/admin/dashboards/subscriptionsAdminListar assinaturas
Parâmetros de consulta
dashboard_iduuidSó assinaturas desta aba.
card_iduuidSó assinaturas deste card.
Exemplo de requisição (listar)
Resposta (listar)
200Assinaturas
Campos da resposta
subscriptionsarrayAssinaturas do painel do administrador, da mais nova para a mais antiga.
[] se não houver.subscriptions[].iduuidId da assinatura.
subscriptions[].dashboard_iduuidAba alvo (modo agendamento). Ausente se o alvo é um card.
subscriptions[].card_iduuidCard alvo. Obrigatório no alerta.
subscriptions[].modestringASA alerta, S agendamento.subscriptions[].schedulestringhourlydailyweeklymonthlyFrequência de verificação ou envio.
subscriptions[].namestringNome (até 160 caracteres).
subscriptions[].alert_ruleobjectRegra do alerta. Em agendamento vem
{"op":"","value":0} vazio.subscriptions[].recipientsarrayE-mails destinatários.
subscriptions[].vendor_iduuidPreenchido apenas em assinaturas do painel do seller.
subscriptions[].is_activebooleanSe está ligada.
subscriptions[].last_sent_atstringÚltimo envio, RFC 3339.
subscriptions[].last_valuenumberÚltimo valor medido (alertas).
subscriptions[].alert_statestringNFN normal ou F disparado (o limiar continua violado).subscriptions[].created_byuuidQuem criou.
subscriptions[].created_atstringCriação, RFC 3339.
Erros (listar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem o privilégio exigido. | {"error":"insufficient privileges","required":"view_reports"} |
| 404 | A aba ou o card alvo não existe ou não é visível para você. A mensagem vem em português (card não encontrado quando o card_id não existe). | {"error":"dashboard não encontrado"} ou {"error":"card não encontrado"} |
| 503 | O recurso de assinaturas não está configurado neste ambiente. | {"error":"assinaturas de dashboard não estão configuradas neste ambiente"} |
| 500 | Falha inesperada no servidor. | {"error":"failed to ..."} |
Criar
/api/v1/admin/dashboards/subscriptionsAdminCriar um alerta ou agendamento
Corpo da requisição
modestringobrigatórioASA alerta ou S agendamento.dashboard_iduuidAba alvo. Informe
dashboard_id ou card_id.card_iduuidCard alvo. Obrigatório no alerta.
schedulestringhourlydailyweeklymonthlyFrequência. Padrão:
hourly no alerta, daily no agendamento.namestringNome, até 160 caracteres (o excesso é cortado).
alert_ruleobjectRegra do alerta. Obrigatória no modo A.
opstringobrigatórioltltegtgteeqneComparação do valor medido com
value.valuenumberobrigatórioLimiar, na mesma unidade da coluna: dinheiro em centavos, percentuais em pontos-base.
metricstringid da métrica a comparar. Vazio usa a primeira métrica do card.windowstringPeríodo usado ao medir (
today, last7, last30, thisMonth...). Vazio usa o período do card, ou last30.cooldown_minutesintegerMinutos sem repetir o aviso enquanto o limiar segue violado.
0 ou omitido vale 60.channelsarrayinapp e/ou email. Vazio usa os dois.recipientsarrayE-mails, até 20, sem espaços nem vírgulas. Obrigatório no modo
S.Exemplo de requisição (criar)
Resposta (criar)
201Assinatura criada
Campos da resposta
(objeto)objectA assinatura criada, com os campos de Listar.
Erros (criar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem o privilégio exigido. | {"error":"insufficient privileges","required":"manage_dashboards"} |
| 400 | Corpo inválido: não é JSON, tem campo desconhecido (a leitura rejeita campos que a API não conhece) ou passa de 1 MB. | {"error":"corpo da requisição inválido","detail":"json: unknown field \"foo\""} |
| 404 | A aba ou o card alvo não existe ou não é visível para você. A mensagem vem em português (card não encontrado quando o card_id não existe). | {"error":"dashboard não encontrado"} ou {"error":"card não encontrado"} |
| 400 | Nem dashboard_id nem card_id. | {"error":"informe um dashboard ou um card"} |
| 422 | Modo, frequência, operador ou e-mail inválido; alerta sem card_id; agendamento sem destinatário; mais de 20 destinatários. A mensagem vem em português. | {"error":"informe ao menos um destinatário"} |
| 503 | O recurso de assinaturas não está configurado neste ambiente. | {"error":"assinaturas de dashboard não estão configuradas neste ambiente"} |
Ligar ou desligar
/api/v1/admin/dashboards/subscriptions/{id}AdminLigar ou desligar uma assinatura
Parâmetros de caminho
iduuidobrigatórioId da assinatura.
Corpo da requisição
is_activebooleanobrigatóriotrue liga, false desliga. Obrigatório.Exemplo de requisição (alterar)
Resposta (alterar)
200Assinatura alterada
Campos da resposta
(objeto)objectA assinatura, com os campos de Listar.
Erros (alterar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem o privilégio exigido. | {"error":"insufficient privileges","required":"manage_dashboards"} |
| 400 | Corpo inválido: não é JSON, tem campo desconhecido (a leitura rejeita campos que a API não conhece) ou passa de 1 MB. | {"error":"corpo da requisição inválido","detail":"json: unknown field \"foo\""} |
| 400 | Falta is_active. | {"error":"informe is_active"} |
| 404 | A assinatura não existe ou o alvo dela não é visível para você. | {"error":"assinatura não encontrada"} |
| 503 | O recurso de assinaturas não está configurado neste ambiente. | {"error":"assinaturas de dashboard não estão configuradas neste ambiente"} |
Apagar
/api/v1/admin/dashboards/subscriptions/{id}AdminApagar uma assinatura
Parâmetros de caminho
iduuidobrigatórioId da assinatura.
Exemplo de requisição (apagar)
Resposta (apagar)
200Assinatura apagada
Campos da resposta
messagestringConfirmação em português do servidor. O histórico de execuções também é apagado.
Erros (apagar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem o privilégio exigido. | {"error":"insufficient privileges","required":"manage_dashboards"} |
| 404 | A assinatura não existe ou o alvo dela não é visível para você. | {"error":"assinatura não encontrada"} |
| 503 | O recurso de assinaturas não está configurado neste ambiente. | {"error":"assinaturas de dashboard não estão configuradas neste ambiente"} |