Páginas da documentação

Desenvolvedores · Guia · v1.2.0

Exemplos e ciclo de vida

Corpos completos de criação por objetivo e os status pelos quais a campanha passa.

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

Exemplos por objetivo

Tráfego para o site: O caso mais simples: leva pessoas para uma página.

POST /campaigns
{
    "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"
        }
    ]
}

Vendas no site (conversões): Otimiza para o evento do Pixel. Sem pixel_id, vale o Pixel padrão da conta (ou o único que ela enxerga).

POST /campaigns
{
    "name": "Black Friday | Vendas",
    "goal": "conversions",
    "budget": {
        "type": "daily",
        "amount_cents": 15000
    },
    "schedule": {
        "start_date": null,
        "end_date": null
    },
    "tracking": {
        "pixel_id": "123456789012345",
        "conversion_event": "PURCHASE"
    },
    "targeting": {
        "cities": [
            {
                "key": "269969",
                "name": "São Paulo, São Paulo",
                "country_code": "BR"
            }
        ],
        "interests": [
            {
                "id": "6003107902433",
                "name": "Compras online"
            }
        ]
    },
    "link_url": "https://loja.exemplo.com.br/black-friday",
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Até 50% off",
            "body": "A Black Friday começou. Estoque limitado.",
            "call_to_action": "SHOP_NOW"
        },
        {
            "media_id": "01jbx3n2p6s0d4g8j2m6q0t4wy",
            "headline": "Frete grátis hoje",
            "body": "Só até meia-noite.",
            "call_to_action": "BUY_NOW"
        }
    ]
}

Conversas no WhatsApp: Abre uma conversa no WhatsApp da empresa com a mensagem pronta. Sem link nem botão.

POST /campaigns
{
    "name": "Clínica | WhatsApp",
    "goal": "whatsapp_messages",
    "budget": {
        "amount_cents": 4000
    },
    "targeting": {
        "cities": [
            {
                "key": "2490299",
                "name": "Campinas, São Paulo",
                "country_code": "BR"
            }
        ]
    },
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Agende sua avaliação",
            "body": "Fale com a gente pelo WhatsApp e garanta seu horário."
        }
    ],
    "whatsapp": {
        "greeting": "Olá! Quer agendar uma avaliação?",
        "prefill": "Quero agendar uma avaliação.",
        "phone_number": "+5519999998888"
    }
}

Carrossel com UTMs: Várias imagens, cada uma com título e link, deslizando no mesmo anúncio. Os 4 UTMs padrão vão sempre; aqui, utm_campaign troca o valor do padrão e utm_term se soma a eles.

POST /campaigns
{
    "name": "Coleção de verão | Carrossel",
    "goal": "traffic",
    "budget": {
        "amount_cents": 6000
    },
    "link_url": "https://loja.exemplo.com.br/verao",
    "format": "carousel",
    "creatives": [
        {
            "headline": "Coleção de verão",
            "body": "Deslize e escolha a sua peça favorita.",
            "call_to_action": "SHOP_NOW"
        }
    ],
    "carousel": {
        "cards": [
            {
                "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
                "headline": "Vestidos",
                "link_url": "https://loja.exemplo.com.br/verao/vestidos"
            },
            {
                "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
                "headline": "Sandálias",
                "description": "A partir de R$ 89",
                "link_url": "https://loja.exemplo.com.br/verao/sandalias"
            }
        ]
    },
    "tracking": {
        "url_tags": [
            {
                "key": "utm_campaign",
                "value": "verao"
            },
            {
                "key": "utm_term",
                "value": "carrossel"
            }
        ]
    }
}

Arte, vídeo e carrossel na mesma campanha: Cada item de creatives é um anúncio do mesmo conjunto: arte ou vídeo com media_id, carrossel com cards (um por campanha). Envie só os itens que existirem. Do segundo item em diante, o título, o texto, a descrição e o botão que faltarem vêm do primeiro.

POST /campaigns
{
    "name": "Coleção de verão | Arte, vídeo e carrossel",
    "goal": "traffic",
    "budget": {
        "amount_cents": 9000
    },
    "link_url": "https://loja.exemplo.com.br/verao",
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Coleção de verão",
            "body": "Peças leves com frete grátis até domingo.",
            "call_to_action": "SHOP_NOW"
        },
        {
            "media_id": "01jbx3n2p6s0d4g8j2m6q0t4wy"
        },
        {
            "body": "Deslize e escolha a sua peça favorita.",
            "cards": [
                {
                    "media_id": "01jbx3p5r9t3e7h1k5n9r3v7c2",
                    "headline": "Vestidos",
                    "link_url": "https://loja.exemplo.com.br/verao/vestidos"
                },
                {
                    "media_id": "01jbx3q8v2w6a0c4f8j2m6p0s4",
                    "headline": "Sandálias",
                    "description": "A partir de R$ 89",
                    "link_url": "https://loja.exemplo.com.br/verao/sandalias"
                }
            ]
        }
    ]
}

Remarketing sem quem já comprou: Anuncia para quem visitou o site nos últimos 30 dias (público de POST /audiences) e deixa de fora os compradores, num raio de 25 km de São Paulo.

POST /campaigns
{
    "name": "Remarketing | Visitantes 30 dias",
    "goal": "traffic",
    "budget": {
        "amount_cents": 3000
    },
    "targeting": {
        "cities": [
            {
                "key": "269969",
                "name": "São Paulo, São Paulo",
                "country_code": "BR",
                "radius_km": 25
            }
        ],
        "audience_id": "23859876543210987",
        "excluded_audience_ids": [
            "23851234567890123"
        ],
        "languages": [
            "pt"
        ]
    },
    "link_url": "https://loja.exemplo.com.br/outubro",
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Ainda pensando?",
            "body": "As peças que você viu estão com 10% off até domingo.",
            "call_to_action": "SHOP_NOW"
        }
    ]
}

Público com interesses em E: Só quem tem um dos interesses principais e também um de cada grupo de narrow_interests: aqui, quem se interessa por investimento imobiliário e também por condomínio fechado ou casa de praia.

POST /campaigns
{
    "name": "Lançamento | Lotes na praia",
    "goal": "traffic",
    "budget": {
        "amount_cents": 8000
    },
    "targeting": {
        "countries": [
            "BR"
        ],
        "age_min": 35,
        "interests": [
            {
                "id": "6003012345678",
                "name": "Investimento imobiliário"
            }
        ],
        "narrow_interests": [
            [
                {
                    "id": "6003023456789",
                    "name": "Condomínio fechado"
                },
                {
                    "id": "6003034567890",
                    "name": "Casa de praia"
                }
            ]
        ]
    },
    "link_url": "https://imobiliaria.exemplo.com.br/lancamento",
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Lotes a 300 m da praia",
            "body": "Condomínio fechado com marina. Veja as condições de lançamento.",
            "call_to_action": "LEARN_MORE"
        }
    ]
}

Vendas com custo por resultado: Conversões de compra com teto de R$ 40 por venda (COST_CAP), só no feed e nos stories do Instagram.

POST /campaigns
{
    "name": "Vendas | Custo por compra R$ 40",
    "goal": "conversions",
    "budget": {
        "amount_cents": 20000
    },
    "tracking": {
        "pixel_id": "123456789012345",
        "conversion_event": "PURCHASE"
    },
    "bidding": {
        "strategy": "COST_CAP",
        "amount_cents": 4000
    },
    "placements": [
        "instagram_feed",
        "instagram_stories"
    ],
    "targeting": {
        "countries": [
            "BR"
        ],
        "age_min": 25,
        "age_max": 54
    },
    "link_url": "https://loja.exemplo.com.br/mais-vendidos",
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Os mais vendidos",
            "body": "Frete grátis acima de R$ 199.",
            "call_to_action": "SHOP_NOW"
        }
    ]
}

Cadastros com formulário instantâneo: O formulário fica no Facebook/Instagram (sem site). Use lead_form para um novo ou lead_form_id para reaproveitar um da conta.

POST /campaigns
{
    "name": "Imobiliária | Cadastros",
    "goal": "lead_generation",
    "budget": {
        "amount_cents": 6000
    },
    "special_ad_category": "HOUSING",
    "targeting": {
        "countries": [
            "BR"
        ]
    },
    "creatives": [
        {
            "media_id": "01jbx3m7k2q8f5v9w4n6c0r1ht",
            "headline": "Apartamentos na planta",
            "body": "Cadastre-se e receba a tabela de preços.",
            "call_to_action": "SIGN_UP"
        }
    ],
    "lead_form": {
        "name": "Tabela de preços",
        "fields": [
            "FULL_NAME",
            "EMAIL",
            "PHONE"
        ],
        "questions": [
            {
                "question": "Quantos quartos você procura?",
                "options": [
                    "1",
                    "2",
                    "3 ou mais"
                ]
            }
        ],
        "privacy_policy_url": "https://imobiliaria.exemplo.com.br/privacidade",
        "thank_you": {
            "title": "Recebemos seu cadastro!",
            "body": "Um corretor fala com você em até 1 hora útil."
        }
    }
}

Ciclo de vida da campanha

Status Significa
creating Na fila de publicação (o LeadGo está enviando à Meta).
failed A publicação falhou; o motivo vem em error.message. Corrija e use POST /campaigns/{id}/retry.
pending_review Na Meta, em análise dos anúncios.
active Rodando.
paused Pausada (por você, pela API, pelo Gestor IA ou na Meta).
rejected Reprovada pela Meta; veja rejection_reason nos anúncios.
error Com problema na Meta (pagamento, política...).
completed Terminou (data de término).
cancelled Excluída ou arquivada direto na Meta.

Cada mudança de status ou de verba (pela API, pelo painel ou na Meta) abre a janela de maturação do Gestor IA: por alguns dias ele só sugere, sem mexer na campanha.