Criar campanha e enfileirar os envios
Cria uma campanha e transforma cada destinatário em um job na fila da instância.
curl -X POST "https://seu-dominio/campaigns" \
-H "x-api-key: $VERTICE_API_KEY" \
-H "content-type: application/json" \
-d '{"instanceId":"uuid","name":"Black Friday","numbers":["5511999999999"],"text":"Olá!","delayMessage":3,"scheduledAt":"2026-11-27T12:00:00.000Z"}'
const response = await fetch('https://seu-dominio/campaigns', {
method: 'POST',
headers: {
'x-api-key': process.env.VERTICE_API_KEY ?? '',
'content-type': 'application/json',
},
body: JSON.stringify({
"instanceId": "uuid",
"name": "Black Friday",
"numbers": [
"5511999999999"
],
"text": "Olá!",
"delayMessage": 3,
"scheduledAt": "2026-11-27T12:00:00.000Z"
}),
});
const payload = await response.json();
console.log(payload);
Conceituação
Cria uma campanha e transforma cada destinatário em um job na fila da instância. Aceita agendamento e intervalo entre mensagens.
Cada destinatário vira um job independente na fila da instância. O progresso é calculado por status e o cancelamento afeta apenas jobs pendentes.
Atributos
Header
x-api-key
string
obrigatório
API key do workspace (vtc_live_...). Também aceita Authorization: Bearer.
content-type
string
obrigatório
application/json.
Body
instanceId
string
obrigatório
ID da instância que executará a operação.
name
string
obrigatório
Nome exibido do recurso, contato, enquete ou grupo.
numbers
array<string>
obrigatório
Lista de telefones com DDI/DDD.
text
string
obrigatório
Corpo da mensagem. Respeite o limite de 65.536 caracteres.
delayMessage
integer
opcional
Atraso em segundos antes de enviar (1 a 15).
scheduledAt
string
opcional
Data e hora ISO 8601 para iniciar a campanha.
Request Body
{
"instanceId": "uuid",
"name": "Black Friday",
"numbers": [
"5511999999999"
],
"text": "Olá!",
"delayMessage": 3,
"scheduledAt": "2026-11-27T12:00:00.000Z"
}
Resposta
{
"data": {
"id": "cmp_...",
"name": "Black Friday",
"status": "queued",
"recipients": 120,
"stats": {
"total": 120,
"queued": 120,
"sent": 0,
"failed": 0
}
}
}
Respostas de sucesso são envelopadas em data.