Skip to content

Consultar uma execução ​

Quando a automação roda em segundo plano — ou quando ela passou do orçamento de esperar o resultado —, a chamada devolve um exec_uuid e a execução continua. Esta rota é como você acompanha e pega o resultado depois.

http
GET https://mwm.datallog.com/api/v4/execution/<exec_uuid>/status
Authorization: Token <SEU_TOKEN>
X-Api-Key: <SUA_X_API_KEY>

A resposta ​

json
{
  "exec_uuid": "0199c2f1-7a3b-7e41-9f0a-3c5d2b8e6a11",
  "finished": true,
  "error": false,
  "stopped": false,
  "container_error": false,
  "result_url": "https://…",
  "logs_url": "https://…"
}
CampoO que diz
finisheda execução terminou (com ou sem erro)
errora automação levantou erro
stoppedalguém parou a execução pelo painel
container_erroro container caiu antes de a automação responder
result_urllink para baixar o resultado, ou null
logs_urllink para baixar o log, ou null

Os dois links valem 1 minuto

result_url e logs_url são endereços assinados, com validade de 60 segundos, e só aparecem depois que finished é true — e só quando a automação está configurada para guardar resultado e log. Baixe assim que receber; para pegar de novo, consulte a rota outra vez.

Consultando até terminar ​

python
import time, requests

CAB = {"Authorization": f"Token {TOKEN}", "X-Api-Key": CHAVE}
url = f"https://mwm.datallog.com/api/v4/execution/{exec_uuid}/status"

while True:
    estado = requests.get(url, headers=CAB).json()
    if estado["finished"]:
        break
    time.sleep(5)

if estado["error"] or estado["container_error"]:
    print("deu errado; o log está em", estado["logs_url"])
else:
    print(requests.get(estado["result_url"]).json())

Espere entre uma consulta e outra. A execução que você está acompanhando não anda mais rápido por ser perguntada com mais frequência, e cada consulta é uma chamada à API como qualquer outra.

Execução que não existe, ou que é de outra conta, responde 404 com {"error": "Execution not found"} — a mesma resposta nos dois casos, de propósito.