URL base
Autenticación
Todas las peticiones requieren una API key en el headerapikey. La misma credencial permite operar los lotes de la cuenta a los que tenga acceso.
404, igual que si no existiera.
Operaciones asíncronas
La carga de contactos, el arranque y la eliminación de lotes responden202 Accepted. La respuesta confirma que el trabajo fue aceptado, pero no que haya terminado.
Estas respuestas incluyen un operationId y un header Location. Consulta el resultado mediante GET /batches/operations/{operationId}.
POST /batches es una excepción: devuelve directamente batchId, status: "created" y source, sin operationId ni header Location.Si una operación ya expiró, el endpoint de consulta devuelve
404. Para una importación de lote también puedes revisar los campos permanentes uploadStatus y totalContacts del propio lote.Reintentos seguros
Las operaciones de escritura aceptan el header opcionalIdempotency-Key. Genera un valor único —por ejemplo, un UUID— antes del primer intento y reutilízalo únicamente al repetir esa misma petición con el mismo body.
Las respuestas
5xx no se almacenan. Si recibes Idempotency-Status: bypassed y pierdes la respuesta, verifica el estado del recurso antes de reintentar.
Crear un lote desde la API
EnvíaPOST /batches con source: "api", el nombre, el canal y duplicateStrategy. Este último campo es obligatorio, no admite null y define cómo se tratan los contactos repetidos. Puedes incluir rules para dejar configurados los intentos, la ventana horaria, las prioridades y el comportamiento ante cada resultado desde la creación.
El lote se crea sin contactos. Añádelos después mediante POST /batches/{batchId}/contacts; la respuesta de esa carga contiene el operationId que permite seguir su procesamiento.
Crear un lote desde un CSV
1
Solicita una URL de carga
Llama a
POST /batches/upload-url con el nombre del archivo y fileType: text/csv. La URL firmada caduca en una hora.2
Sube el CSV
Envía el contenido mediante
PUT a uploadUrl con Content-Type: text/csv. Esta petición va al almacenamiento y no requiere la API key.3
Crea el lote
Llama a
POST /batches con el tempCsvKey, la configuración del lote, duplicateStrategy y el mapeo de columnas.4
Consulta la importación
Utiliza el
batchId de la respuesta en GET /batches/{batchId} y revisa uploadStatus, uploadProgress y totalContacts.Áreas de la API
Lotes
Consulta, crea, configura, inicia, detiene y elimina lotes de marcación.
Contactos
Carga contactos, reagenda intentos y anula contactos de un lote.
Direcciones bloqueadas
Gestiona las direcciones excluidas de la marcación en toda la cuenta.
Operaciones asíncronas
Consulta el avance y el resultado de los trabajos aceptados con
202.Historial y auditoría
Revisa cambios del lote e intentos de llamada del lote o de un contacto.
identifier es el identificador externo definido por el cliente. contactId es el identificador interno que genera el servicio al importar cada contacto.
