Páginas da documentação

Desenvolvedores · Guia · v1.2.0

API do LeadGo

Crie campanhas de Facebook e Instagram pelo seu sistema, envie mídias, acompanhe resultados e receba avisos por webhook, com as mesmas rotinas do painel.

https://leadgo.com.br/api/v1 Baixar arquivo para IA OpenAPI 3.1 Criar token

Visão geral

A API do LeadGo cria e opera campanhas de Meta Ads (Facebook e Instagram) a partir do seu sistema: CRM, loja virtual, ERP ou automações como n8n e Make. Ela usa exatamente as mesmas rotinas do painel: as mesmas validações, a mesma fila de publicação e os mesmos avisos. Uma campanha criada pela API aparece no painel, entra no Gestor IA e pode ser editada por lá.

Endereço base
https://leadgo.com.br/api/v1
  • Requisições e respostas em JSON (UTF-8), com campos em snake_case. As mensagens de erro vêm em português.
  • Dinheiro em centavos nos campos amount_cents (5000 = R$ 50,00), na moeda da conta de anúncio. As métricas vêm em unidades (312.5 = R$ 312,50).
  • Datas no formato ISO 8601 (2026-10-28T15:00:00+00:00); datas de agenda em AAAA-MM-DD, no fuso da conta.
  • Toda resposta traz X-Request-Id. Informe-o ao suporte para acharmos a chamada.
  • Os exemplos usam cURL, com o token na variável de ambiente LEADGO_TOKEN.

Sua primeira campanha em 3 chamadas

1. Envie a imagem ou o vídeo. A resposta traz o id da mídia (por URL, aguarde o status ready ou o aviso media.ready).

POST /media
curl -X POST "https://leadgo.com.br/api/v1/media" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json" \
  -F "[email protected]"

2. Crie a campanha com o id da mídia. Use uma Idempotency-Key: se a rede cair e você repetir, ela não é criada duas vezes. Para só conferir o corpo, acrescente ?validate_only=true.

POST /campaigns
curl -X POST "https://leadgo.com.br/api/v1/campaigns" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Promoção de outubro",
    "goal": "traffic",
    "status": "paused",
    "budget": {
        "type": "daily",
        "amount_cents": 5000
    },
    "targeting": {
        "countries": [
            "BR"
        ],
        "age_min": 25,
        "age_max": 55,
        "gender": "all"
    },
    "link_url": "https://loja.exemplo.com.br/outubro",
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Outono com 30% off",
            "body": "Peças selecionadas com frete grátis até domingo.",
            "call_to_action": "SHOP_NOW"
        }
    ]
}'

3. Acompanhe a publicação. A resposta é 202 com status creating: a Meta recebe a campanha em segundos ou minutos. O resultado chega no seu webhook (campaign.published ou campaign.failed) ou consultando a campanha:

GET /campaigns/{id}
curl -X GET "https://leadgo.com.br/api/v1/campaigns/01jby0q4c8m2d6t9v3k7w5r1xa" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Depois de publicada, a Meta revisa os anúncios (status pending_review, geralmente menos de 24 h). Com status=paused (o padrão), ela fica pausada depois de aprovada: ligue com PATCH /campaigns/{id} {"status": "active"}.