Skip to main content
La API del marcador de Inagent permite administrar el ciclo de vida completo de los lotes, cargar y gestionar contactos, mantener una lista de direcciones bloqueadas y consultar operaciones asíncronas.

URL base

Autenticación

Todas las peticiones requieren una API key en el header apikey. La misma credencial permite operar los lotes de la cuenta a los que tenga acceso.
El servicio obtiene la cuenta a partir de esa credencial. Si un lote no pertenece a la cuenta, responde 404, igual que si no existiera.
Trata la API key como una credencial. No la incluyas en repositorios, código cliente, logs ni ejemplos compartidos.

Operaciones asíncronas

La carga de contactos, el arranque y la eliminación de lotes responden 202 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 opcional Idempotency-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.
La clave debe contener entre 1 y 255 caracteres ASCII imprimibles y se conserva durante 24 horas. 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ía POST /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.