Início Rápido
Comece a usar a API Sonar em 5 minutos
Início Rápido
Este guia mostra como fazer sua primeira integração com a API Sonar. Ao final, você terá criado um cliente, uma campanha e uma atividade via API.
Pré-requisitos
- Conta ativa no Sonar
- API Key gerada (veja Autenticação)
Obtenha sua API Key
- Acesse o painel do Sonar
- Navegue até Configurações → API Keys
- Clique em Criar Nova Chave
- Copie sua chave (formato:
snr_live_...)
Guarde sua API Key em segurança. Ela não será exibida novamente!
Crie seu primeiro cliente
Crie um cliente Pessoa Jurídica (uma empresa que contrata serviços de marketing):
curl -X POST https://app.sonar.marketing/api/v1/clients \
-H "Authorization: Bearer snr_live_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{
"type": "PJ",
"name": "TechStore Brasil Ltda",
"email": "marketing@techstore.com.br",
"cnpj": "12.345.678/0001-90",
"phone": "+55 11 99999-8888",
"segment": "premium",
"contact_person": "Ana Santos"
}'const response = await fetch('https://app.sonar.marketing/api/v1/clients', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SONAR_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
type: 'PJ',
name: 'TechStore Brasil Ltda',
email: 'marketing@techstore.com.br',
cnpj: '12.345.678/0001-90',
phone: '+55 11 99999-8888',
segment: 'premium',
contact_person: 'Ana Santos'
})
});
const data = await response.json();
console.log('Cliente criado:', data.data.id);import requests
import os
response = requests.post(
'https://app.sonar.marketing/api/v1/clients',
headers={
'Authorization': f'Bearer {os.environ["SONAR_API_KEY"]}',
'Content-Type': 'application/json'
},
json={
'type': 'PJ',
'name': 'TechStore Brasil Ltda',
'email': 'marketing@techstore.com.br',
'cnpj': '12.345.678/0001-90',
'phone': '+55 11 99999-8888',
'segment': 'premium',
'contact_person': 'Ana Santos'
}
)
data = response.json()
print(f"Cliente criado: {data['data']['id']}")Resposta:
{
"success": true,
"data": {
"id": "cli_abc123def456",
"type": "PJ",
"name": "TechStore Brasil Ltda",
"email": "marketing@techstore.com.br",
"cnpj": "12.345.678/0001-90",
"phone": "+55 11 99999-8888",
"segment": "premium",
"contact_person": "Ana Santos",
"status": "active",
"created_at": "2026-02-04T10:30:00Z"
}
}Crie uma campanha
Agora crie uma campanha de marketing para esse cliente:
curl -X POST https://app.sonar.marketing/api/v1/campaigns \
-H "Authorization: Bearer snr_live_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{
"title": "Campanha de Lançamento - TechStore",
"type": "midia-paga",
"client_id": "cli_abc123def456",
"budget": 15000.00,
"start_date": "2026-03-01",
"end_date": "2026-03-31",
"channels": ["google-ads", "meta-ads"],
"description": "Campanha de lançamento da nova loja online com foco em tráfego pago"
}'Resposta:
{
"success": true,
"data": {
"id": "cmp_xyz789ghi012",
"title": "Campanha de Lançamento - TechStore",
"type": "midia-paga",
"phase": "briefing",
"status": "active",
"budget": 15000.00,
"client_id": "cli_abc123def456",
"channels": ["google-ads", "meta-ads"],
"start_date": "2026-03-01",
"end_date": "2026-03-31",
"description": "Campanha de lançamento da nova loja online com foco em tráfego pago",
"created_at": "2026-02-04T10:31:00Z"
}
}Adicione uma atividade
Registre uma tarefa vinculada à campanha:
curl -X POST https://app.sonar.marketing/api/v1/activities \
-H "Authorization: Bearer snr_live_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "cmp_xyz789ghi012",
"type": "task",
"title": "Criar criativos para Meta Ads",
"description": "Desenvolver 5 variações de criativos em formato carrossel e stories",
"priority": "alta",
"due_date": "2026-02-20"
}'Resposta:
{
"success": true,
"data": {
"id": "act_123abc456def",
"type": "task",
"title": "Criar criativos para Meta Ads",
"description": "Desenvolver 5 variações de criativos em formato carrossel e stories",
"priority": "alta",
"status": "pending",
"due_date": "2026-02-20",
"campaign_id": "cmp_xyz789ghi012",
"created_at": "2026-02-04T10:32:00Z"
}
}Liste suas campanhas
Verifique as campanhas ativas:
curl -X GET "https://app.sonar.marketing/api/v1/campaigns?status=active" \
-H "Authorization: Bearer snr_live_sua_chave_aqui"Resposta:
{
"success": true,
"data": [
{
"id": "cmp_xyz789ghi012",
"title": "Campanha de Lançamento - TechStore",
"type": "midia-paga",
"phase": "briefing",
"status": "active",
"budget": 15000.00,
"client": {
"id": "cli_abc123def456",
"name": "TechStore Brasil Ltda"
},
"activities_count": 1
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"pages": 1
}
}Próximos Passos
Agora que você fez sua primeira integração, explore mais recursos:
- Campanhas - Documentação completa de gestão de campanhas
- Clientes - Gerenciar clientes PF e PJ
- Atividades - Criar e gerenciar tarefas
- Negócios - Pipeline comercial
- Webhooks - Receber notificações em tempo real
Exemplo Completo
Aqui está um exemplo de integração em JavaScript:
// sonar-client.js
class SonarClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseUrl = 'https://app.sonar.marketing/api/v1';
}
async request(endpoint, options = {}) {
const response = await fetch(`${this.baseUrl}${endpoint}`, {
...options,
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json',
...options.headers
}
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error?.message || 'Erro na requisição');
}
return response.json();
}
// Clientes
async createClient(data) {
return this.request('/clients', {
method: 'POST',
body: JSON.stringify(data)
});
}
async getClients(params = {}) {
const query = new URLSearchParams(params).toString();
return this.request(`/clients?${query}`);
}
// Campanhas
async createCampaign(data) {
return this.request('/campaigns', {
method: 'POST',
body: JSON.stringify(data)
});
}
async getCampaigns(params = {}) {
const query = new URLSearchParams(params).toString();
return this.request(`/campaigns?${query}`);
}
async updateCampaign(id, data) {
return this.request(`/campaigns/${id}`, {
method: 'PUT',
body: JSON.stringify(data)
});
}
// Atividades
async createActivity(data) {
return this.request('/activities', {
method: 'POST',
body: JSON.stringify(data)
});
}
}
// Uso
const client = new SonarClient(process.env.SONAR_API_KEY);
// Criar cliente e campanha
async function criarCampanhaCompleta(dadosCliente, dadosCampanha) {
const cliente = await client.createClient(dadosCliente);
const campanha = await client.createCampaign({
...dadosCampanha,
client_id: cliente.data.id
});
return { cliente: cliente.data, campanha: campanha.data };
}
// Exemplo
criarCampanhaCompleta(
{
type: 'PJ',
name: 'Startup XYZ',
email: 'contato@startupxyz.com',
cnpj: '98.765.432/0001-10'
},
{
title: 'Gestão de Redes Sociais - Q1 2026',
type: 'social-media',
budget: 8000.00,
channels: ['instagram', 'linkedin'],
start_date: '2026-03-01',
end_date: '2026-05-31'
}
).then(console.log);Precisa de Ajuda?
- Email: suporte@sonar.marketing
- Documentação: Você está aqui!