Páginas da documentação

Desenvolvedores · Referência · v1.2.0

Conta e conta de anúncio

Quem é o token, a conta de anúncio vinculada, o que ela oferece às campanhas (Pixels, formulários, perfis do Instagram), a saúde, o saldo e os alertas.

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

Conferir o token

A conta que o token opera, quem o criou e os escopos. Bom primeiro teste da integração.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/me" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": {
        "token": {
            "id": "01jbw9t3b7e1h5m9q3v7z1d5gk",
            "name": "Loja virtual",
            "prefix": "lgo_x7Kp2mQa",
            "abilities": [
                "campaigns:read",
                "campaigns:write",
                "media:write",
                "reports:read",
                "ai:draft",
                "webhooks:manage",
                "account:manage",
                "leads:read",
                "leads:write",
                "brain:read",
                "brain:manage"
            ],
            "expires_at": "2027-10-28T15:00:00+00:00",
            "created_at": "2026-10-28T15:00:00+00:00"
        },
        "account": {
            "id": "01jbw8r5x9a3d7g1k5n9s3w7b1",
            "name": "Loja Exemplo",
            "timezone": "America/Sao_Paulo",
            "is_managed_client": false
        },
        "user": {
            "id": 42,
            "name": "Ana Souza",
            "email": "[email protected]"
        },
        "rate_limit": {
            "requests_per_minute": 120
        }
    }
}

Erros: token_invalid, token_revoked, token_expired, subscription_inactive, payment_overdue

GET /ad-account campaigns:read

Conta de anúncio vinculada

Onde as campanhas são criadas: moeda, fuso, verba diária mínima, Pixel padrão e a Página do Facebook da conexão. Cada conta opera uma única conta de anúncio, escolhida em Integrações no painel.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/ad-account" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": {
        "id": 12,
        "name": "Loja Exemplo · Meta",
        "platform": "meta",
        "platform_ad_account_id": "act_1234567890",
        "currency": "BRL",
        "timezone": "America/Sao_Paulo",
        "minimum_daily_budget_cents": 600,
        "default_pixel_id": "123456789012345",
        "payment_method_missing": false,
        "page": {
            "id": "998877665544",
            "name": "Loja Exemplo"
        },
        "connection_status": "connected",
        "last_synced_at": "2026-10-28T14:40:00+00:00"
    }
}

Erros: ad_account_not_linked

GET /ad-account/pixels campaigns:read

Pixels da conta

Pixels (conjuntos de dados) que a conta de anúncio enxerga, para tracking.pixel_id: o Pixel que marca "Eventos do site" nos anúncios de qualquer objetivo (e que as conversões otimizam). is_default marca o padrão da conta, usado quando a campanha não envia tracking.pixel_id.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/ad-account/pixels" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": [
        {
            "id": "123456789012345",
            "label": "Pixel da loja · 123456789012345",
            "is_default": true
        }
    ]
}

Erros: ad_account_not_linked

GET /ad-account/lead-forms campaigns:read

Formulários de cadastro

Formulários instantâneos da conta. Use platform_form_id em lead_form_id para uma nova campanha receber os leads no mesmo formulário.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/ad-account/lead-forms" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": [
        {
            "id": 7,
            "platform_form_id": "1122334455667788",
            "name": "Tabela de preços",
            "status": "ACTIVE",
            "questions": [
                {
                    "type": "FULL_NAME"
                },
                {
                    "type": "EMAIL"
                },
                {
                    "type": "PHONE"
                }
            ],
            "privacy_policy_url": "https://imobiliaria.exemplo.com.br/privacidade",
            "last_synced_at": "2026-10-28T14:40:00+00:00"
        }
    ]
}

Erros: ad_account_not_linked

GET /ad-account/instagram-accounts campaigns:read

Perfis do Instagram

Perfis do Instagram com que a conta de anúncio pode anunciar. Use o id em instagram_account_id para o anúncio sair com outro perfil que não o ligado à Página. page_backed indica um perfil criado a partir da Página. Cache de 10 minutos.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/ad-account/instagram-accounts" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": [
        {
            "id": "17841400000000001",
            "username": "lojaexemplo",
            "picture_url": "https://scontent.cdninstagram.com/perfil.jpg",
            "page_backed": false
        }
    ]
}

Erros: ad_account_not_linked, platform_quota_exceeded, platform_unavailable

GET /ad-account/instagram-posts campaigns:read

Posts do Instagram

Posts do Instagram ligado à conta, dos mais novos para os mais antigos, para escolher o que impulsionar em POST /boosts (use o id em post.id com post.source instagram). Pagine com cursor (meta.next_cursor). Gasta a cota de consultas à plataforma.

Parâmetros

cursor string meta.next_cursor da página anterior.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/ad-account/instagram-posts" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": [
        {
            "id": "17900000000000001",
            "caption": "Chegou a coleção de verão!",
            "media_type": "IMAGE",
            "media_url": "https://scontent.cdninstagram.com/post.jpg",
            "thumbnail_url": "https://scontent.cdninstagram.com/post.jpg",
            "permalink": "https://www.instagram.com/p/AbC123/",
            "published_at": "2026-10-20T14:00:00+0000"
        }
    ],
    "meta": {
        "instagram_user_id": "17841400000000001",
        "username": "lojaexemplo",
        "next_cursor": "QVFIUz..."
    }
}

Erros: ad_account_not_linked, platform_quota_exceeded, platform_unavailable

GET /ad-account/health campaigns:read

Saúde da conta de anúncio

Confere na Meta o que pode impedir ou atrapalhar os anúncios: situação da conta, forma de pagamento, limite de gasto, Página, Instagram, termos de cadastro, Pixel e WhatsApp. status geral: ok, attention ou blocked; cada checagem: ok, warning, error, missing ou unknown, com o link de correção. Bom para conferir antes de criar campanhas. Cache de 10 minutos.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/ad-account/health" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": {
        "status": "attention",
        "checked_at": "2026-10-28T15:00:00Z",
        "checks": [
            {
                "id": "payment",
                "label": "Forma de pagamento",
                "status": "ok",
                "status_label": "Tudo certo",
                "title": "Payment method",
                "message": "",
                "fix_label": null,
                "fix_url": null
            },
            {
                "id": "pixel",
                "label": "Pixel",
                "status": "warning",
                "status_label": "Atenção",
                "title": "Pixel",
                "message": "O Pixel não recebe eventos há 7 dias.",
                "fix_label": "Abrir o Gerenciador de Eventos",
                "fix_url": "https://business.facebook.com/events_manager2"
            }
        ]
    }
}

Erros: ad_account_not_linked, platform_quota_exceeded, platform_unavailable

GET /ad-account/finance campaigns:read

Saldo e limite de gasto

Total gasto, saldo, limite de gasto (null = sem limite) e a forma de pagamento da conta de anúncio, em centavos na moeda dela. Cache de 10 minutos.

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/ad-account/finance" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": {
        "currency": "BRL",
        "balance_cents": 0,
        "amount_spent_cents": 1834590,
        "spend_cap_cents": 5000000,
        "funding_source": "Mastercard *4985"
    }
}

Erros: ad_account_not_linked, platform_quota_exceeded, platform_unavailable

PATCH /ad-account account:manage

Alterar o limite de gasto

Define o limite de gasto da conta de anúncio: ao chegar nele, a Meta pausa todas as campanhas. null remove o limite. Responde o saldo atualizado.

Corpo

spend_cap_cents obrigatório integer Limite em centavos (mínimo 100) ou null para remover.

Exemplo

cURL
curl -X PATCH "https://leadgo.com.br/api/v1/ad-account" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "spend_cap_cents": 5000000
}'

Resposta 200

HTTP 200
{
    "data": {
        "currency": "BRL",
        "balance_cents": 0,
        "amount_spent_cents": 1834590,
        "spend_cap_cents": 5000000,
        "funding_source": "Mastercard *4985"
    }
}

Erros: validation_failed, ad_account_not_linked, platform_quota_exceeded, platform_rejected

GET /alerts campaigns:read

Alertas da conta

O que pede atenção na conta de anúncio, os mais graves primeiro: anúncio reprovado, problema de entrega, pagamento, verba no limite, gasto sem resultado e conta restrita. Atualizados de hora em hora e pelos avisos da Meta; cada alerta novo também chega pelo webhook alert.created.

Parâmetros

status string open (padrão) ou all (inclui resolvidos e dispensados, os 100 mais recentes).

Exemplo

cURL
curl -X GET "https://leadgo.com.br/api/v1/alerts" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": [
        {
            "id": 31,
            "kind": "spend_no_results",
            "kind_label": "Gasto sem resultado",
            "severity": "warning",
            "title": "Gastando sem resultado",
            "message": "A campanha gastou em 3 dos últimos 7 dias sem nenhuma conversão.",
            "entity": {
                "level": "campaign",
                "platform_id": "120212345678900001",
                "name": "Promoção de outubro"
            },
            "fix": {
                "label": "Abrir no Gerenciador",
                "url": "https://adsmanager.facebook.com/adsmanager/manage/campaigns"
            },
            "status": "open",
            "detected_at": "2026-10-28T09:00:00+00:00",
            "dismissed_at": null,
            "resolved_at": null
        }
    ]
}

Erros: validation_failed, ad_account_not_linked

POST /alerts/{id}/dismiss account:manage

Dispensar alerta

Esconde o alerta (status dismissed). Se o problema continuar, ele volta depois de 30 dias.

Exemplo

cURL
curl -X POST "https://leadgo.com.br/api/v1/alerts/{id}/dismiss" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 200

HTTP 200
{
    "data": {
        "id": 31,
        "kind": "spend_no_results",
        "kind_label": "Gasto sem resultado",
        "severity": "warning",
        "title": "Gastando sem resultado",
        "message": "A campanha gastou em 3 dos últimos 7 dias sem nenhuma conversão.",
        "entity": {
            "level": "campaign",
            "platform_id": "120212345678900001",
            "name": "Promoção de outubro"
        },
        "fix": {
            "label": "Abrir no Gerenciador",
            "url": "https://adsmanager.facebook.com/adsmanager/manage/campaigns"
        },
        "status": "dismissed",
        "detected_at": "2026-10-28T09:00:00+00:00",
        "dismissed_at": "2026-10-28T16:00:00+00:00",
        "resolved_at": null
    }
}

Erros: not_found, platform_unavailable

POST /ad-account/sync campaigns:read

Sincronizar com a Meta

Pede uma sincronização das campanhas (status, conjuntos, anúncios). As rotinas já sincronizam de hora em hora; use depois de mudar algo direto no Gerenciador de Anúncios. No máximo uma a cada 5 minutos.

Exemplo

cURL
curl -X POST "https://leadgo.com.br/api/v1/ad-account/sync" \
  -H "Authorization: Bearer $LEADGO_TOKEN" \
  -H "Accept: application/json"

Resposta 202

HTTP 202
{
    "data": {
        "queued": true
    }
}

Erros: ad_account_not_linked, sync_too_soon