API de Inicialização de Automação
Esta página detalha o endpoint da API REST para iniciar uma automação do Datallog. Isso é útil para integrar fluxos de trabalho do Datallog com outros serviços ou acioná-los programaticamente.
Endpoint
Para iniciar uma automação, envie uma requisição POST para o seguinte endpoint:
POST https://mwm.datallog.com/api/start-automation/<project_name>/<automation_name>Autenticação
Todas as requisições à API devem ser autenticadas usando um token bearer. Você deve incluir os cabeçalhos Authorization e X-Api-Key com seu token de API.
Authorization: Token <YOUR_AUTHORIZATION_TOKEN>
X-Api-Key: <YOUR_X_API_KEY>TIP
Você pode gerar e gerenciar seus tokens de API na seção Settings (Configurações) do seu painel Datallog.
Parâmetros de Caminho
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
<project_name> | string | Sim | O nome do seu projeto, conforme criado com o comando datallog create-project. |
<automation_name> | string | Sim | O nome da automação dentro do projeto, conforme criado com o comando datallog create-automation. |
Corpo da Requisição
O corpo da requisição deve ser um objeto JSON com os seguintes campos opcionais:
interface StartAutomation {
webhook?: string;
webhook_header?: Record<string, string>;
seed?: Record<string, any>;
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
webhook | string | Não | Uma URL específica para a qual o resultado final desta execução será enviado. Se este campo for omitido ou deixado em branco, o webhook padrão configurado para a automação será usado. |
webhook_header | Record<string, string> | Não | Um objeto JSON de pares chave-valor representando cabeçalhos HTTP personalizados a serem enviados com a requisição do webhook. Isso pode ser usado para autenticação ou para passar metadados. |
seed | Record<string, any> | Não | Os dados JSON iniciais passados como argumento para o @core_task da automação. Este é o equivalente na API ao uso do argumento --seed ou --seed-file ao executar uma automação com a CLI do Datallog. |
TIP
Os dados de seed que você fornece aqui são passados diretamente para o primeiro argumento da sua função @core_task. Por exemplo, se você enviar {"seed": {"message": "Olá da API"}}, o parâmetro seed na sua função Python será {'message': 'Olá da API'}.
Exemplos
Vamos supor que temos um projeto chamado my-first-datallog-project e uma automação chamada hello-automation, conforme mostrado no guia de Introdução.
Exemplo 1: Execução básica com dados de seed
Este exemplo inicia a automação e fornece dados iniciais para o core_task.
cURL
curl -X POST \
https://mwm.datallog.com/api/start-automation/my-first-datallog-project/hello-automation \
-H "Authorization: <YOUR_AUTHORIZATION_TOKEN>" \
-H "X-Api-Key: <YOUR_X_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"seed": {
"message": "Hello from the API!"
}
}'Python (requests)
import requests
import json
authorization_token = "<YOUR_AUTHORIZATION_TOKEN>"
x_api_key = "<YOUR_X_API_KEY>"
project_name = "my-first-datallog-project"
automation_name = "hello-automation"
url = f"https://mwm.datallog.com/api/start-automation/{project_name}/{automation_name}"
headers = {
"Authorization": authorization_token,
"X-Api-Key": x_api_key,
"Content-Type": "application/json"
}
payload = {
"seed": {
"message": "Hello from the API!"
}
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.status_code)
print(response.json())Exemplo 2: Execução com um webhook personalizado
Este exemplo inicia a automação e direciona a saída final para um endpoint personalizado com um header de autenticação específico.
cURL
curl -X POST \
https://mwm.datallog.com/api/start-automation/my-first-datallog-project/hello-automation \
-H "Authorization: <YOUR_AUTHORIZATION_TOKEN>" \
-H "X-Api-Key: <YOUR_X_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"webhook": "https://my-service.com/datallog-results",
"webhook_header": {
"x-api-key": "my-secret-service-key"
},
"seed": {
"message": "Data for my custom webhook"
}
}'Respostas
Resposta de Sucesso
Em uma requisição bem-sucedida para iniciar a automação, a API retornará um código de status 202 Accepted. O corpo conterá um execution_id único que você pode usar para rastrear o status da execução.
- Código:
200 OK
Descrição: A automação foi iniciada com sucesso. - Corpo:
{
"status": "success",
"message": "Automation 'hello-automation' started successfully.",
"execution_id": "exec_abc123def456"
}Respostas de Erro
Se a requisição falhar, a API retornará um código de erro apropriado e uma mensagem descritiva.
Código:
403 Forbidden
Motivo: O usuário não tem permissão para acessar o projeto ou automação especificados.json{ "message":"This Project does not exist. consult API" }Código:
403 Forbidden
Motivo: O usuário não tem permissão para acessar o projeto ou automação especificados.json{ "message": "This Automation does not exist. consult API." }Código:
401 Unauthorized
Motivo: A requisição não incluiu credenciais de autenticação válidas.json{ "detail": "Authentication credentials were not provided." }