Ads Manager API
Base URL: https://adsmanager.com.br/api/v1

Documentação para Integradores

API REST multitenant — Google Ads, Meta Ads e LinkedIn Ads. Autenticação via Bearer token.

https://adsmanager.com.br/api/v1

🚀 ADS MANAGER API - Documentação Completa v1.0

📋 Índice

  1. Visão Geral
  2. Autenticação
  3. Endpoints Básicos
  4. Endpoints Avançados
  5. Endpoints de Analytics
  6. Exemplos de Uso
  7. Códigos de Erro
  8. Rate Limits
  9. Changelog

🎯 Visão Geral

A Ads Manager API é uma API RESTful profissional que permite acesso completo aos dados de campanhas, métricas, keywords e anúncios das plataformas:

Base URL

https://adsmanager.com.br/api/v1

Formato de Resposta

Todas as respostas são em JSON:

{
  "success": true,
  "data": { ... }
}

🔐 Autenticação

Obter Token de API

  1. Acesse: https://adsmanager.com.br/settings
  2. Clique na aba "API"
  3. Clique em "Criar Novo Token"
  4. Copie o token (será exibido apenas uma vez!)

Usar o Token

Inclua o token no header Authorization de todas as requisições:

Authorization: Bearer seu_token_aqui

Exemplo

curl -H "Authorization: Bearer adsm_1098d12d..." \
  https://adsmanager.com.br/api/v1/clients

📊 Endpoints Básicos

1. Listar Clientes

Lista todos os clientes da sua agência.

GET /api/v1/clients

Resposta:

{
  "success": true,
  "data": {
    "total": 75,
    "clients": [
      {
        "id": "6884f0170242d672246527bc",
        "name": "BIOTERAPICA",
        "email": "contato@bioterapica.com",
        "phone": "(11) 99999-9999",
        "created_at": "2025-07-26T15:11:19Z"
      }
    ]
  }
}

2. Listar Contas de Anúncios

Lista todas as contas de anúncios de um cliente.

GET /api/v1/clients/{client_id}/accounts

Resposta:

{
  "success": true,
  "data": {
    "client_id": "6884f0170242d672246527bc",
    "total_accounts": 5,
    "accounts": {
      "google_ads": [
        {
          "account_id": "123-456-7890",
          "account_name": "Conta Google Ads Principal",
          "currency": "BRL",
          "status": "active"
        }
      ],
      "meta_ads": [
        {
          "account_id": "1563628453988276",
          "account_name": "Conta Meta Ads",
          "currency": "BRL",
          "status": "active"
        }
      ],
      "linkedin_ads": []
    }
  }
}

3. Dashboard Completo

Retorna TODOS os dados estruturados do dashboard.

GET /api/v1/accounts/{platform}/{account_id}/dashboard

Parâmetros Query:

| Parâmetro | Tipo | Obrigatório | Padrão | Descrição | |-----------|------|-------------|--------|-----------| | start_date | string | Não | 30 dias atrás | Data inicial (YYYY-MM-DD) | | end_date | string | Não | Hoje | Data final (YYYY-MM-DD) |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/dashboard?start_date=2026-01-01&end_date=2026-01-15"

Resposta: Ver estrutura completa


🎯 Endpoints Avançados

4. Listar Campanhas

Lista todas as campanhas com métricas detalhadas.

GET /api/v1/accounts/{platform}/{account_id}/campaigns

Parâmetros Query:

| Parâmetro | Tipo | Padrão | Descrição | |-----------|------|--------|-----------| | start_date | string | 30 dias atrás | Data inicial | | end_date | string | Hoje | Data final | | status | string | - | Filtrar por status (ACTIVE, PAUSED) | | sort_by | string | spend | Ordenar por (spend, clicks, conversions, ctr) | | order | string | desc | Ordem (asc, desc) | | limit | number | 100 | Limite de resultados |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/campaigns?sort_by=conversions&limit=20"

Resposta:

{
  "success": true,
  "data": {
    "period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-15"
    },
    "total_campaigns": 15,
    "campaigns": [
      {
        "campaign_id": "987654321",
        "campaign_name": "Campanha de Vendas Q1",
        "status": "ACTIVE",
        "spend": 15234.56,
        "clicks": 1250,
        "impressions": 45000,
        "conversions": 85.5,
        "ctr": 2.78,
        "cpc": 12.19,
        "cpm": 338.55,
        "conversion_rate": 6.84,
        "cost_per_conversion": 178.13
      }
    ]
  }
}

5. Detalhes de uma Campanha

Retorna detalhes completos de uma campanha específica.

GET /api/v1/accounts/{platform}/{account_id}/campaigns/{campaign_id}

Parâmetros Query:

| Parâmetro | Tipo | Padrão | Descrição | |-----------|------|--------|-----------| | start_date | string | 30 dias atrás | Data inicial | | end_date | string | Hoje | Data final |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/campaigns/987654321"

Resposta:

{
  "success": true,
  "data": {
    "campaign_id": "987654321",
    "campaign_name": "Campanha de Vendas Q1",
    "status": "ACTIVE",
    "objective": "CONVERSIONS",
    "budget": 50000.00,
    "period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-15"
    },
    "summary": {
      "spend": 15234.56,
      "clicks": 1250,
      "impressions": 45000,
      "conversions": 85.5,
      "ctr": 2.78,
      "cpc": 12.19,
      "cpm": 338.55,
      "conversion_rate": 6.84,
      "cost_per_conversion": 178.13
    },
    "daily_metrics": [
      {
        "date": "2026-01-01",
        "spend": 1000.00,
        "clicks": 85,
        "impressions": 3000,
        "conversions": 5.5
      }
    ]
  }
}

6. Keywords com Melhor Performance

Retorna as keywords com melhor performance (apenas Google Ads).

GET /api/v1/accounts/google_ads/{account_id}/keywords/top-performing

Parâmetros Query:

| Parâmetro | Tipo | Padrão | Descrição | |-----------|------|--------|-----------| | start_date | string | 30 dias atrás | Data inicial | | end_date | string | Hoje | Data final | | metric | string | conversions | Métrica para ordenar (conversions, clicks, ctr, quality_score) | | limit | number | 50 | Número de keywords | | min_impressions | number | 100 | Mínimo de impressões |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/keywords/top-performing?metric=conversions&limit=20"

Resposta:

{
  "success": true,
  "data": {
    "period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-15"
    },
    "metric": "conversions",
    "total_keywords": 20,
    "keywords": [
      {
        "keyword": "comprar produto online",
        "spend": 2500.00,
        "clicks": 450,
        "impressions": 15000,
        "conversions": 35.5,
        "ctr": 3.00,
        "cpc": 5.56,
        "conversion_rate": 7.89,
        "cost_per_conversion": 70.42,
        "quality_score": 8
      }
    ]
  }
}

7. Anúncios com Melhor Performance

Retorna os anúncios com melhor performance.

GET /api/v1/accounts/{platform}/{account_id}/ads/top-performing

Parâmetros Query:

| Parâmetro | Tipo | Padrão | Descrição | |-----------|------|--------|-----------| | start_date | string | 30 dias atrás | Data inicial | | end_date | string | Hoje | Data final | | metric | string | conversions | Métrica para ordenar (conversions, clicks, ctr, engagement) | | limit | number | 50 | Número de anúncios | | min_impressions | number | 100 | Mínimo de impressões |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/meta_ads/1563628453988276/ads/top-performing?metric=ctr&limit=20"

Resposta:

{
  "success": true,
  "data": {
    "period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-15"
    },
    "metric": "ctr",
    "total_ads": 20,
    "ads": [
      {
        "ad_id": "23851234567890",
        "ad_name": "Anúncio Carrossel Produto A",
        "campaign_name": "Campanha de Vendas Q1",
        "spend": 3500.00,
        "clicks": 850,
        "impressions": 18000,
        "conversions": 45.5,
        "engagement": 1200,
        "ctr": 4.72,
        "cpc": 4.12,
        "conversion_rate": 5.35,
        "cost_per_conversion": 76.92,
        "engagement_rate": 6.67
      }
    ]
  }
}

8. Comparação de Performance

Compara performance entre dois períodos.

GET /api/v1/accounts/{platform}/{account_id}/performance/comparison

Parâmetros Query:

| Parâmetro | Tipo | Obrigatório | Descrição | |-----------|------|-------------|-----------| | current_start | string | Sim | Início do período atual | | current_end | string | Sim | Fim do período atual | | previous_start | string | Não | Início do período anterior (calculado automaticamente se não informado) | | previous_end | string | Não | Fim do período anterior (calculado automaticamente se não informado) |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/performance/comparison?current_start=2026-01-01&current_end=2026-01-15"

Resposta:

{
  "success": true,
  "data": {
    "current_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-15",
      "metrics": {
        "spend": 15234.56,
        "clicks": 1250,
        "impressions": 45000,
        "conversions": 85.5,
        "ctr": 2.78,
        "cpc": 12.19,
        "conversion_rate": 6.84
      }
    },
    "previous_period": {
      "start_date": "2025-12-17",
      "end_date": "2025-12-31",
      "metrics": {
        "spend": 12500.00,
        "clicks": 1100,
        "impressions": 42000,
        "conversions": 75.0,
        "ctr": 2.62,
        "cpc": 11.36,
        "conversion_rate": 6.82
      }
    },
    "comparison": {
      "spend": {
        "current": 15234.56,
        "previous": 12500.00,
        "change": 2734.56,
        "change_percent": 21.88
      },
      "conversions": {
        "current": 85.5,
        "previous": 75.0,
        "change": 10.5,
        "change_percent": 14.00
      }
    }
  }
}

📊 Endpoints de Analytics

10. Demografia

Retorna dados demográficos completos (idade, gênero, localização, dispositivos).

GET /api/v1/accounts/{platform}/{account_id}/demographics

Parâmetros Query:

| Parâmetro | Tipo | Obrigatório | Descrição | |-----------|------|-------------|-----------| | start_date | string | Não | Data inicial (YYYY-MM-DD) - padrão: 30 dias atrás | | end_date | string | Não | Data final (YYYY-MM-DD) - padrão: hoje | | breakdown | string | Não | Tipo de quebra: age, gender, location, device, all (padrão: all) |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/demographics?breakdown=all"

Resposta:

{
  "success": true,
  "data": {
    "account_id": "123456789",
    "platform": "google_ads",
    "period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-31"
    },
    "demographics": {
      "age": [
        {
          "age_range": "18-24",
          "impressions": 6750,
          "clicks": 187,
          "conversions": 12.5,
          "cost": 1500.00,
          "ctr": 2.77,
          "conversion_rate": 6.68
        },
        {
          "age_range": "25-34",
          "impressions": 15750,
          "clicks": 437,
          "conversions": 29.2,
          "cost": 3500.00,
          "ctr": 2.77,
          "conversion_rate": 6.68
        }
      ],
      "gender": [
        {
          "gender": "male",
          "impressions": 23400,
          "clicks": 650,
          "conversions": 43.3,
          "cost": 5200.00,
          "ctr": 2.78,
          "conversion_rate": 6.66
        },
        {
          "gender": "female",
          "impressions": 20700,
          "clicks": 575,
          "conversions": 38.3,
          "cost": 4600.00,
          "ctr": 2.78,
          "conversion_rate": 6.66
        }
      ],
      "location": [
        {
          "location": "São Paulo, SP",
          "city": "São Paulo",
          "state": "SP",
          "impressions": 12500,
          "clicks": 347,
          "conversions": 23.1,
          "cost": 2780.00,
          "ctr": 2.78,
          "conversion_rate": 6.66
        }
      ],
      "device": [
        {
          "device": "mobile",
          "impressions": 29250,
          "clicks": 812,
          "conversions": 54.1,
          "cost": 6500.00,
          "ctr": 2.78,
          "conversion_rate": 6.66
        },
        {
          "device": "desktop",
          "impressions": 13500,
          "clicks": 375,
          "conversions": 25.0,
          "cost": 3000.00,
          "ctr": 2.78,
          "conversion_rate": 6.67
        }
      ]
    }
  }
}

11. Leads

Retorna lista de leads capturados via campanhas.

GET /api/v1/accounts/{platform}/{account_id}/leads

Parâmetros Query:

| Parâmetro | Tipo | Obrigatório | Descrição | |-----------|------|-------------|-----------| | start_date | string | Não | Data inicial (YYYY-MM-DD) - padrão: 30 dias atrás | | end_date | string | Não | Data final (YYYY-MM-DD) - padrão: hoje | | status | string | Não | Status do lead: new, contacted, qualified, converted | | limit | integer | Não | Número de resultados (padrão: 100) | | offset | integer | Não | Paginação (padrão: 0) |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/meta_ads/123456789/leads?limit=50"

Resposta:

{
  "success": true,
  "data": {
    "account_id": "123456789",
    "platform": "meta_ads",
    "period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-31"
    },
    "pagination": {
      "total": 245,
      "limit": 50,
      "offset": 0,
      "has_more": true
    },
    "summary": {
      "total_leads": 245,
      "total_cost": 18750.00,
      "average_cost_per_lead": 76.53,
      "lead_conversion_rate": 8.45
    },
    "leads": [
      {
        "campaign_id": "987654321",
        "campaign_name": "Campanha de Leads Q1",
        "date": "2026-01-31",
        "lead_conversions": 15,
        "cost": 1200.00,
        "cost_per_lead": 80.00,
        "impressions": 5000,
        "clicks": 180,
        "conversion_rate": 8.33
      }
    ]
  }
}

12. Alcance (Reach)

Retorna métricas de alcance e frequência.

GET /api/v1/accounts/{platform}/{account_id}/reach

Parâmetros Query:

| Parâmetro | Tipo | Obrigatório | Descrição | |-----------|------|-------------|-----------| | start_date | string | Não | Data inicial (YYYY-MM-DD) - padrão: 30 dias atrás | | end_date | string | Não | Data final (YYYY-MM-DD) - padrão: hoje | | breakdown | string | Não | Quebra por: campaign, daily, total (padrão: total) |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/meta_ads/123456789/reach?breakdown=campaign"

Resposta:

{
  "success": true,
  "data": {
    "account_id": "123456789",
    "platform": "meta_ads",
    "period": {
      "start_date": "2026-01-01",
      "end_date": "2026-01-31"
    },
    "breakdown": "campaign",
    "campaigns": [
      {
        "campaign_id": "987654321",
        "campaign_name": "Campanha de Awareness",
        "reach": 125000,
        "impressions": 450000,
        "frequency": 3.6,
        "social_reach": 115000,
        "social_impressions": 420000
      }
    ]
  }
}

13. Insights

Retorna insights e recomendações automáticas baseadas nos dados.

GET /api/v1/accounts/{platform}/{account_id}/insights

Parâmetros Query:

| Parâmetro | Tipo | Obrigatório | Descrição | |-----------|------|-------------|-----------| | type | string | Não | Tipo de insight: performance, budget, optimization, all (padrão: all) | | limit | integer | Não | Número de insights (padrão: 10) |

Exemplo:

curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/insights?type=performance"

Resposta:

{
  "success": true,
  "data": {
    "account_id": "123456789",
    "platform": "google_ads",
    "total_insights": 5,
    "insights": [
      {
        "type": "budget",
        "severity": "high",
        "campaign_id": "987654321",
        "campaign_name": "Campanha de Vendas",
        "title": "CPC Elevado",
        "description": "A campanha 'Campanha de Vendas' tem CPC de R$ 8.50, acima do ideal.",
        "recommendation": "Revise os lances e considere adicionar palavras-chave negativas.",
        "metrics": {
          "cpc": 8.50,
          "cost": 12500.00,
          "clicks": 1470
        }
      },
      {
        "type": "performance",
        "severity": "warning",
        "campaign_id": "123456789",
        "campaign_name": "Campanha de Branding",
        "title": "CTR Abaixo da Média",
        "description": "A campanha 'Campanha de Branding' tem CTR de 0.85%, abaixo da média de 1%.",
        "recommendation": "Considere revisar os anúncios e palavras-chave para melhorar a relevância.",
        "metrics": {
          "ctr": 0.85,
          "impressions": 45000,
          "clicks": 382
        }
      }
    ]
  }
}

💡 Exemplos de Uso

Python

import requests
from datetime import datetime, timedelta

class AdsManagerAPI:
    def __init__(self, token):
        self.token = token
        self.base_url = "https://adsmanager.com.br/api/v1"
        self.headers = {"Authorization": f"Bearer {token}"}
    
    def get_clients(self):
        response = requests.get(
            f"{self.base_url}/clients",
            headers=self.headers
        )
        return response.json()['data']
    
    def get_campaigns(self, platform, account_id, **params):
        response = requests.get(
            f"{self.base_url}/accounts/{platform}/{account_id}/campaigns",
            headers=self.headers,
            params=params
        )
        return response.json()['data']
    
    def get_top_keywords(self, account_id, metric='conversions', limit=20):
        response = requests.get(
            f"{self.base_url}/accounts/google_ads/{account_id}/keywords/top-performing",
            headers=self.headers,
            params={'metric': metric, 'limit': limit}
        )
        return response.json()['data']
    
    def get_top_ads(self, platform, account_id, metric='conversions', limit=20):
        response = requests.get(
            f"{self.base_url}/accounts/{platform}/{account_id}/ads/top-performing",
            headers=self.headers,
            params={'metric': metric, 'limit': limit}
        )
        return response.json()['data']

# Usar a API
api = AdsManagerAPI("seu_token_aqui")

# Listar clientes
clients = api.get_clients()
print(f"Total de clientes: {clients['total']}")

# Buscar campanhas
campaigns = api.get_campaigns(
    'google_ads', 
    '123456789',
    sort_by='conversions',
    limit=10
)
print(f"Top 10 campanhas: {len(campaigns['campaigns'])}")

# Top keywords
keywords = api.get_top_keywords('123456789', metric='conversions', limit=20)
for kw in keywords['keywords'][:5]:
    print(f"Keyword: {kw['keyword']} - Conversões: {kw['conversions']}")

# Top ads
ads = api.get_top_ads('meta_ads', '1563628453988276', metric='ctr', limit=20)
for ad in ads['ads'][:5]:
    print(f"Anúncio: {ad['ad_name']} - CTR: {ad['ctr']}%")

JavaScript (Node.js)

const axios = require('axios');

class AdsManagerAPI {
  constructor(token) {
    this.token = token;
    this.baseURL = 'https://adsmanager.com.br/api/v1';
    this.headers = { 'Authorization': `Bearer ${token}` };
  }

  async getClients() {
    const response = await axios.get(`${this.baseURL}/clients`, {
      headers: this.headers
    });
    return response.data.data;
  }

  async getCampaigns(platform, accountId, params = {}) {
    const response = await axios.get(
      `${this.baseURL}/accounts/${platform}/${accountId}/campaigns`,
      {
        headers: this.headers,
        params: params
      }
    );
    return response.data.data;
  }

  async getTopKeywords(accountId, metric = 'conversions', limit = 20) {
    const response = await axios.get(
      `${this.baseURL}/accounts/google_ads/${accountId}/keywords/top-performing`,
      {
        headers: this.headers,
        params: { metric, limit }
      }
    );
    return response.data.data;
  }

  async getTopAds(platform, accountId, metric = 'conversions', limit = 20) {
    const response = await axios.get(
      `${this.baseURL}/accounts/${platform}/${accountId}/ads/top-performing`,
      {
        headers: this.headers,
        params: { metric, limit }
      }
    );
    return response.data.data;
  }
}

// Usar a API
const api = new AdsManagerAPI('seu_token_aqui');

async function main() {
  // Listar clientes
  const clients = await api.getClients();
  console.log(`Total de clientes: ${clients.total}`);

  // Buscar campanhas
  const campaigns = await api.getCampaigns('google_ads', '123456789', {
    sort_by: 'conversions',
    limit: 10
  });
  console.log(`Top 10 campanhas: ${campaigns.campaigns.length}`);

  // Top keywords
  const keywords = await api.getTopKeywords('123456789', 'conversions', 20);
  keywords.keywords.slice(0, 5).forEach(kw => {
    console.log(`Keyword: ${kw.keyword} - Conversões: ${kw.conversions}`);
  });

  // Top ads
  const ads = await api.getTopAds('meta_ads', '1563628453988276', 'ctr', 20);
  ads.ads.slice(0, 5).forEach(ad => {
    console.log(`Anúncio: ${ad.ad_name} - CTR: ${ad.ctr}%`);
  });
}

main();

cURL

# Listar clientes
curl -H "Authorization: Bearer seu_token" \
  https://adsmanager.com.br/api/v1/clients

# Listar campanhas
curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/campaigns?sort_by=conversions&limit=10"

# Top keywords
curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/keywords/top-performing?metric=conversions&limit=20"

# Top ads
curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/meta_ads/1563628453988276/ads/top-performing?metric=ctr&limit=20"

# Comparação de performance
curl -H "Authorization: Bearer seu_token" \
  "https://adsmanager.com.br/api/v1/accounts/google_ads/123456789/performance/comparison?current_start=2026-01-01&current_end=2026-01-15"

⚠️ Códigos de Erro

| Código | Descrição | |--------|-----------| | 200 | Sucesso | | 400 | Requisição inválida (parâmetros incorretos) | | 401 | Não autenticado (token inválido ou ausente) | | 403 | Acesso negado (sem permissão) | | 404 | Recurso não encontrado | | 429 | Rate limit excedido | | 500 | Erro interno do servidor |

Formato de erro:

{
  "success": false,
  "error": "Descrição do erro"
}

📌 Metas contratuais (painel web / sessão Flask)

Endpoints adicionados para cadastro multitenant de metas (gasto, CPL, ROAS) e preferências de alertas.
Usam autenticação por sessão (cookie do utilizador já autenticado no painel), não o prefixo /api/v1 nem Bearer token.

Base: raiz da aplicação (ex.: https://adsmanager.com.br).

| Método | Caminho | Descrição | |--------|---------|-----------| | GET | /api/clients/<client_id>/performance-targets | Lista metas (?status=active | archived | all) | | POST | /api/clients/<client_id>/performance-targets | Cria meta (JSON: scope, platform, period_kind, etc.) | | GET | /api/clients/<client_id>/performance-targets/evaluate | Todas metas activas avaliadas no período configurado | | GET | /api/clients/<client_id>/performance-targets/resolved | Meta efectiva (?platform=& account_id& division_id& subdivision_id) | | PATCH | /api/performance-targets/<target_id> | Atualização parcial | | DELETE | /api/performance-targets/<target_id> | Arquivar (status → archived) | | GET | /api/clients/<client_id>/performance-target-alerts-settings | Lê { "enabled": bool } (alertas Celery ↔ coleção alerts) | | PATCH | /api/clients/<client_id>/performance-target-alerts-settings | Corpo { "enabled": true } | false |

Detalhes de campos e riscos: docs/METAS_PERFORMANCE_CONTROLE.md.


🚦 Rate Limits


📝 Changelog

Painel web — maio 2026

v1.0 - 15/01/2026


📞 Suporte

Para dúvidas ou problemas:


Desenvolvido com ❤️ pela equipe Ads Manager

Versão: 1.0
Última atualização: 15/01/2026