{ "id": 123, "name": "<string>", "description": "<string>", "status": "<string>", "type": "<string>", "createdAt": "<string>", "totalContacts": 123, "sentContacts": 123, "failedContacts": 123, "pendingContacts": 123, "progressPercentage": 123, "successRate": 123, "messageContent": "<string>", "mediaType": "<string>", "mediaUrl": "<string>", "fileName": "<string>", "evolutionInstance": "<string>", "minInterval": 123, "maxInterval": 123, "notificationPhone": "<string>", "pollData": {}, "evolutionConfig": {} }
Duplica uma campanha existente com todas as suas configurações
curl -X POST https://api.disparador.com/api/campaigns/123/duplicate \ -H "X-Access-Token: seu_token_aqui"
const response = await fetch('https://api.disparador.com/api/campaigns/123/duplicate', { method: 'POST', headers: { 'X-Access-Token': 'seu_token_aqui' } }); const duplicatedCampaign = await response.json(); console.log('Nova campanha:', duplicatedCampaign.name); console.log('ID:', duplicatedCampaign.id); console.log('Status:', duplicatedCampaign.status);
import requests url = "https://api.disparador.com/api/campaigns/123/duplicate" headers = { "X-Access-Token": "seu_token_aqui" } response = requests.post(url, headers=headers) campaign = response.json() print(f"Campanha duplicada: {campaign['name']}") print(f"Nova ID: {campaign['id']}")
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.disparador.com/api/campaigns/123/duplicate"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-Access-Token: seu_token_aqui' ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $campaign = json_decode($response, true); echo "Campanha duplicada: " . $campaign['name'];
{ "id": 456, "name": "Promoção Black Friday (cópia)", "description": null, "status": "DRAFT", "type": "TEXT", "createdAt": "2024-01-20T16:00:00", "scheduledFor": null, "startedAt": null, "completedAt": null, "pausedAt": null, "totalContacts": 150, "sentContacts": 0, "failedContacts": 0, "pendingContacts": 150, "progressPercentage": 0, "successRate": 0, "estimatedCompletion": null, "messageContent": "🎉 Black Friday chegou! Descontos de até 70%!", "mediaType": null, "mediaUrl": null, "fileName": null, "evolutionInstance": "whatsapp-01", "minInterval": 5, "maxInterval": 10, "notificationPhone": null, "pollData": null, "evolutionConfig": { "id": 1, "name": "WhatsApp Principal", "url": "https://evolution-api.exemplo.com", "instance": "whatsapp-01" } }
{ "id": 457, "name": "Lançamento Produto (cópia)", "description": null, "status": "DRAFT", "type": "MEDIA", "createdAt": "2024-01-20T16:00:00", "scheduledFor": null, "startedAt": null, "completedAt": null, "pausedAt": null, "totalContacts": 200, "sentContacts": 0, "failedContacts": 0, "pendingContacts": 200, "progressPercentage": 0, "successRate": 0, "estimatedCompletion": null, "messageContent": "Conheça nosso novo produto!", "mediaType": "image", "mediaUrl": "https://api.disparador.com/media/files/produto.jpg", "fileName": "produto.jpg", "evolutionInstance": "whatsapp-01", "minInterval": 5, "maxInterval": 10, "notificationPhone": null, "pollData": null, "evolutionConfig": { "id": 1, "name": "WhatsApp Principal", "url": "https://evolution-api.exemplo.com", "instance": "whatsapp-01" } }
{ "id": 458, "name": "Pesquisa Satisfação (cópia)", "description": null, "status": "DRAFT", "type": "POLL", "createdAt": "2024-01-20T16:00:00", "scheduledFor": null, "startedAt": null, "completedAt": null, "pausedAt": null, "totalContacts": 100, "sentContacts": 0, "failedContacts": 0, "pendingContacts": 100, "progressPercentage": 0, "successRate": 0, "estimatedCompletion": null, "messageContent": null, "mediaType": null, "mediaUrl": null, "fileName": null, "evolutionInstance": "whatsapp-01", "minInterval": 5, "maxInterval": 10, "notificationPhone": null, "pollData": { "name": "Como você avalia nosso atendimento?", "options": ["Excelente", "Bom", "Regular", "Ruim"], "selectableCount": 1 }, "evolutionConfig": { "id": 1, "name": "WhatsApp Principal", "url": "https://evolution-api.exemplo.com", "instance": "whatsapp-01" } }
{ "message": "Campanha não encontrada" }
{ "message": "Acesso negado" }
{ "message": "Access token inválido" }
{ "message": "Erro ao duplicar campanha: [detalhes do erro]" }
// Duplicar campanha de Natal do ano anterior const lastYearCampaign = await getCampaign('natal-2023'); const newCampaign = await duplicateCampaign(lastYearCampaign.id); // Atualizar mensagem e agendar await updateCampaign(newCampaign.id, { name: 'Natal 2024', message: 'Feliz Natal 2024! 🎄', scheduledFor: '2024-12-24T09:00:00', isDraft: false });
// Duplicar campanha para teste A/B const originalId = 123; const variantA = await duplicateCampaign(originalId); const variantB = await duplicateCampaign(originalId); // Modificar mensagens para teste await updateCampaign(variantA.id, { name: 'Teste A - Emoji', message: '😍 Oferta Especial!', isDraft: true }); await updateCampaign(variantB.id, { name: 'Teste B - Urgência', message: 'ÚLTIMAS HORAS! Oferta Especial!', isDraft: true });
// Usar campanha como template const templateId = 789; // Campanha modelo const campaigns = []; for (const region of ['SP', 'RJ', 'MG']) { const camp = await duplicateCampaign(templateId); await updateCampaign(camp.id, { name: `Promoção ${region}`, contacts: await getContactsByRegion(region), isDraft: true }); campaigns.push(camp); }
Was this page helpful?