O que é

Automações de Marketing são fluxos que rodam sozinhos: quando um lead muda de etapa no CRM ou envia um formulário, o fluxo manda e-mails e WhatsApps, espera, confere condições, move de etapa e cria tarefas.

Pela API, você cria e publica os fluxos e acompanha o desempenho, com as mesmas regras do editor do painel.

O que dá para fazer hoje

  • Listar e consultar automações com a definição do editor.
  • Criar, salvar o rascunho e publicar uma nova versão.
  • Ativar e desativar a entrada de leads.
  • Acompanhar o desempenho e reenviar disparos que falharam.

Ciclo de uma automação

SituaçãoComo chega
RascunhoCriar; editar gera rascunho à parte e a versão publicada segue no ar
AtivoPublicar uma versão
InativoDesativar; para de inscrever leads

Importante

  • Salvar o rascunho nunca coloca no ar.
  • Publicar e criar exigem Idempotency-Key.
  • O fluxo precisa de um único bloco de início.
  • Só ativa quem já tem versão publicada (409).

Disponibilidade na API

Endpoints de Automações

Crie, publique e acompanhe os fluxos de automação de marketing. Os exemplos abaixo são gerados pelo contrato OpenAPI oficial.

GET /api/v1/automation-flows

Lista as automações

Exige `automations:read` e Automações de Marketing (ver).

Parâmetros

NomeTipoObrigatórioDescrição
statusquerystringNãoSituação.
searchquerystringNãoParte do nome.
per_pagequeryintegerNãoItens por página.

Exemplo de requisição

cURL
curl "$MICORE_BASE_URL/automation-flows" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": [
        {
            "id": 1,
            "name": "string",
            "description": null,
            "status": "Rascunho",
            "trigger_type": null,
            "published_version": 1,
            "has_draft": true,
            "definition": {
                "graph": {
                    "nodes": [
                        []
                    ],
                    "edges": [
                        []
                    ]
                },
                "trigger": [],
                "settings": []
            },
            "created_at": "2026-10-20T10:00:00-03:00",
            "updated_at": "2026-10-20T10:00:00-03:00"
        }
    ],
    "links": [],
    "meta": []
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
POST /api/v1/automation-flows

Cria uma automação

Nasce em rascunho, sem versão publicada. Exige `automations:write` e Automações de Marketing (criar).

Parâmetros

NomeTipoObrigatórioDescrição
Idempotency-KeyheaderstringSimIdentificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar.

Corpo da requisição

CampoTipoObrigatórioDescrição
namestringSimAté 255 caracteres.
descriptionstring | nullNãoAté 1000 caracteres.

Exemplo de requisição

cURL
curl -X POST "$MICORE_BASE_URL/automation-flows" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: board-request-0001" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","description":null}'

Exemplo de resposta JSON

Resposta · 201
{
    "data": {
        "id": 1,
        "name": "string",
        "description": null,
        "status": "Rascunho",
        "trigger_type": null,
        "published_version": 1,
        "has_draft": true,
        "definition": {
            "graph": {
                "nodes": [
                    []
                ],
                "edges": [
                    []
                ]
            },
            "trigger": [],
            "settings": []
        },
        "created_at": "2026-10-20T10:00:00-03:00",
        "updated_at": "2026-10-20T10:00:00-03:00"
    }
}

Respostas possíveis

201 Automação criada (ou reapresentada pela mesma chave)401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado409 Chave em processamento ou reutilizada com outro conteúdo, ou ação não permitida no estado atual do recurso (`invalid_transition`)422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
GET /api/v1/automation-flows/{flow}

Consulta uma automação

Com a definição do editor (rascunho, se houver, senão a publicada): blocos, ligações, gatilho e regras. Exige `automations:read`.

Exemplo de requisição

cURL
curl "$MICORE_BASE_URL/automation-flows/{flow}" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 1,
        "name": "string",
        "description": null,
        "status": "Rascunho",
        "trigger_type": null,
        "published_version": 1,
        "has_draft": true,
        "definition": {
            "graph": {
                "nodes": [
                    []
                ],
                "edges": [
                    []
                ]
            },
            "trigger": [],
            "settings": []
        },
        "created_at": "2026-10-20T10:00:00-03:00",
        "updated_at": "2026-10-20T10:00:00-03:00"
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
PATCH /api/v1/automation-flows/{flow}

Edita nome e descrição

Edição parcial. Exige `automations:write` e Automações de Marketing (editar).

Corpo da requisição

CampoTipoObrigatórioDescrição
namestringNãoAté 255 caracteres.
descriptionstring | nullNãoAté 1000 caracteres.

Exemplo de requisição

cURL
curl -X PATCH "$MICORE_BASE_URL/automation-flows/{flow}" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","description":null}'

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 1,
        "name": "string",
        "description": null,
        "status": "Rascunho",
        "trigger_type": null,
        "published_version": 1,
        "has_draft": true,
        "definition": {
            "graph": {
                "nodes": [
                    []
                ],
                "edges": [
                    []
                ]
            },
            "trigger": [],
            "settings": []
        },
        "created_at": "2026-10-20T10:00:00-03:00",
        "updated_at": "2026-10-20T10:00:00-03:00"
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
PUT /api/v1/automation-flows/{flow}/draft

Salva o rascunho da definição

Substitui o rascunho inteiro (blocos, ligações, gatilho e regras); a versão publicada segue no ar. Precisa de um único bloco de início (422). Exige `automations:write` e Automações de Marketing (editar).

Corpo da requisição

CampoTipoObrigatórioDescrição
namestringNão—
triggerobjectNãoGatilho: type (entry_lead_stage_changed, entry_form_submitted ou entry_hotmart_abandoned_cart) e o alvo (funnelId e stageId, formId ou productId).
nodesarray<object>Sim—
edgesarray<object>Sim—
settingsobjectNão—

Exemplo de requisição

cURL
curl -X PUT "$MICORE_BASE_URL/automation-flows/{flow}/draft" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","trigger":[],"nodes":[{"id":"string","type":"string","position":{"x":1,"y":1},"data":[]}],"edges":[{"id":"string","source":"string","sourceHandle":null,"target":"string","targetHandle":null}],"settings":{"reentry":true,"stopOnStageExit":true,"window":{"days":[1],"start":"08:00","end":"18:00"}}}'

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 1,
        "name": "string",
        "description": null,
        "status": "Rascunho",
        "trigger_type": null,
        "published_version": 1,
        "has_draft": true,
        "definition": {
            "graph": {
                "nodes": [
                    []
                ],
                "edges": [
                    []
                ]
            },
            "trigger": [],
            "settings": []
        },
        "created_at": "2026-10-20T10:00:00-03:00",
        "updated_at": "2026-10-20T10:00:00-03:00"
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
POST /api/v1/automation-flows/{flow}/publish

Publica uma nova versão

Publica a definição enviada: ela passa a valer, o rascunho é descartado e a automação fica ativa. Mesmas regras do editor. Exige `automations:write` e Automações de Marketing (editar).

Parâmetros

NomeTipoObrigatórioDescrição
Idempotency-KeyheaderstringSimIdentificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar.

Corpo da requisição

CampoTipoObrigatórioDescrição
namestringNão—
triggerobjectNãoGatilho: type (entry_lead_stage_changed, entry_form_submitted ou entry_hotmart_abandoned_cart) e o alvo (funnelId e stageId, formId ou productId).
nodesarray<object>Sim—
edgesarray<object>Sim—
settingsobjectNão—

Exemplo de requisição

cURL
curl -X POST "$MICORE_BASE_URL/automation-flows/{flow}/publish" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: board-request-0001" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","trigger":[],"nodes":[{"id":"string","type":"string","position":{"x":1,"y":1},"data":[]}],"edges":[{"id":"string","source":"string","sourceHandle":null,"target":"string","targetHandle":null}],"settings":{"reentry":true,"stopOnStageExit":true,"window":{"days":[1],"start":"08:00","end":"18:00"}}}'

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 1,
        "name": "string",
        "description": null,
        "status": "Rascunho",
        "trigger_type": null,
        "published_version": 1,
        "has_draft": true,
        "definition": {
            "graph": {
                "nodes": [
                    []
                ],
                "edges": [
                    []
                ]
            },
            "trigger": [],
            "settings": []
        },
        "created_at": "2026-10-20T10:00:00-03:00",
        "updated_at": "2026-10-20T10:00:00-03:00"
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado409 Chave em processamento ou reutilizada com outro conteúdo, ou ação não permitida no estado atual do recurso (`invalid_transition`)422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
POST /api/v1/automation-flows/{flow}/activate

Ativa a automação

Só quem já tem versão publicada (409). Exige `automations:write` e Automações de Marketing (desabilitar).

Exemplo de requisição

cURL
curl -X POST "$MICORE_BASE_URL/automation-flows/{flow}/activate" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 1,
        "name": "string",
        "description": null,
        "status": "Rascunho",
        "trigger_type": null,
        "published_version": 1,
        "has_draft": true,
        "definition": {
            "graph": {
                "nodes": [
                    []
                ],
                "edges": [
                    []
                ]
            },
            "trigger": [],
            "settings": []
        },
        "created_at": "2026-10-20T10:00:00-03:00",
        "updated_at": "2026-10-20T10:00:00-03:00"
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado409 Chave em processamento ou reutilizada com outro conteúdo, ou ação não permitida no estado atual do recurso (`invalid_transition`)422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
POST /api/v1/automation-flows/{flow}/deactivate

Desativa a automação

Para de inscrever leads novos. Exige `automations:write` e Automações de Marketing (desabilitar).

Exemplo de requisição

cURL
curl -X POST "$MICORE_BASE_URL/automation-flows/{flow}/deactivate" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 1,
        "name": "string",
        "description": null,
        "status": "Rascunho",
        "trigger_type": null,
        "published_version": 1,
        "has_draft": true,
        "definition": {
            "graph": {
                "nodes": [
                    []
                ],
                "edges": [
                    []
                ]
            },
            "trigger": [],
            "settings": []
        },
        "created_at": "2026-10-20T10:00:00-03:00",
        "updated_at": "2026-10-20T10:00:00-03:00"
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
GET /api/v1/automation-flows/{flow}/performance

Consulta o desempenho

Leads ativos, total de leads e, por bloco, quantos passaram e o que aconteceu (envios, falhas, puladas, lidas e saídas). Exige `automations:read`.

Exemplo de requisição

cURL
curl "$MICORE_BASE_URL/automation-flows/{flow}/performance" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "activeLeads": 1,
        "totalLeads": 1,
        "nodes": []
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
GET /api/v1/automation-flow-dispatches

Lista os disparos das automações

E-mails e WhatsApps enviados pelas automações, com filtro por automação e situação. Exige `automations:read`.

Parâmetros

NomeTipoObrigatórioDescrição
flow_idqueryintegerNãoAutomação.
statusquerystringNãoSituação.
per_pagequeryintegerNãoItens por página.

Exemplo de requisição

cURL
curl "$MICORE_BASE_URL/automation-flow-dispatches" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": [
        {
            "id": 1,
            "channel": null,
            "status": "pending",
            "recipient_type": null,
            "recipient_id": 1,
            "recipient_email": null,
            "subject": null,
            "error_message": null,
            "sent_at": null,
            "created_at": null,
            "flow_id": 1,
            "flow_name": "string",
            "node_id": null
        }
    ],
    "meta": []
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
POST /api/v1/automation-flow-dispatches/{dispatch}/retry

Tenta de novo um disparo que falhou

Roda de novo a partir do bloco em que parou. Só disparos com falha (409); disparo inexistente: 404. Exige `automations:write` e Automações de Marketing (editar), como a tela de disparos.

Parâmetros

NomeTipoObrigatórioDescrição
Idempotency-KeyheaderstringSimIdentificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar.

Exemplo de requisição

cURL
curl -X POST "$MICORE_BASE_URL/automation-flow-dispatches/{dispatch}/retry" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: board-request-0001"

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 1,
        "retried": true
    }
}

Respostas possíveis

200 OK401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado409 Chave em processamento ou reutilizada com outro conteúdo, ou ação não permitida no estado atual do recurso (`invalid_transition`)422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant