Una campagna chiama un elenco di contatti con un agente, entro un orario di chiamata e un limite di contemporaneità (max_concurrency, fino a 100 chiamate alla volta, e mai più del limite di chiamate contemporanee del tuo spazio di lavoro), e riprova con chi non è riuscita a raggiungere.
curl https://evasay.com/api/v1/voice/campaigns \
-X POST \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"name": "Appointment reminders",
"agent_id": "AGENT_ID",
"phone_number_id": "PHONE_NUMBER_ID",
"timezone": "America/New_York",
"window_start": "09:00",
"window_end": "18:00",
"max_concurrency": 2,
"max_attempts": 2,
"retry_delay_min": 60,
"consent_confirmed": true,
"contacts": [
{ "phone": "+14155550100", "name": "Alex", "appointment": "Tuesday 3 pm" }
]
}'
I contatti possono essere anche testo CSV con il numero di telefono nella prima colonna. consent_confirmed: true è obbligatorio: con esso confermi che tutte le persone dell'elenco hanno accettato di essere chiamate, anche da una voce IA, ed EvaSay conserva questa conferma insieme alla campagna (consent_confirmed_at). La campagna viene creata come bozza; avviala con POST /api/v1/voice/campaigns/{id}/start, e usa pause o cancel allo stesso modo. L'agente deve essere pubblicato prima dell'avvio di una campagna.