Campañas y recontactos
Cargar el contacto es la mitad. La otra mitad es decir a quién hay que llamar hoy.
Qué campañas hay
El registro de llamadas trae un campaign_id, y este es el endpoint que te dice a qué se refiere. accepts_enrollment te ahorra el viaje: si viene en false, sumarle contactos ahora mismo no va a funcionar (está archivada, o no tiene lista activa).
{
"data": [
{
"id": "01M2XA9K7NQ3S5V1B8C2D4E6F8",
"name": "Campaña octubre",
"status": "active",
"dial_mode": "progressive",
"accepts_enrollment": true,
"created_at": "2026-09-01T12:00:00.000000Z",
"updated_at": "2026-09-19T09:14:22.000000Z"
}
]
}Sumar contactos
Los contactos ya tienen que existir: primero los creás, después mandás sus id. Van a la lista propia de la campaña, así que no tocás las listas que armó tu equipo.
Reenviar la misma tanda no suma nada, así que si tu proceso se cortó a la mitad podés repetirlo sin pensarlo.
curl https://api.dialsprint.com/api/v1/campaigns/01M2XA.../contacts \
-H "Authorization: Bearer $DIALSPRINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "contact_ids": ["01M2XEM2ESR7K9A0AR29EDT9WJ"] }'Qué te contesta
added son los que entraron, already_in_list los que ya estaban y skipped_archived los que están archivados. Ese último te importa: un contacto archivado no se llama, y preferimos decírtelo antes que dejarlo pasar en silencio.
{
"data": {
"added": 1,
"already_in_list": 0,
"skipped_archived": 0
}
}Los recontactos
Cuando un agente acuerda volver a llamar en una fecha, eso queda como recontacto. GET /callbacks te los trae con su fecha, su franja y la nota que dejó el agente: es el dato que tu sistema necesita para no llamar por afuera y pisarse con el acuerdo.