curl --request POST \
--url https://api.backend.inconcertcc.com/autocontact/api/v1/batches/{batchId}/contacts \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"identifier": "CLI-001",
"name": "Juan Pérez",
"addresses": [
{
"address": "5491155551234",
"type": "phone",
"priority": 1
},
{
"address": "juan@example.com",
"type": "email",
"priority": 2
}
],
"contactPriority": 0,
"customFields": {
"campaign": "verano2025",
"source": "crm"
}
}
'{
"operationId": "626343ed-dbff-4644-a8ce-cee2471b2106",
"operationUrl": "/autocontact/api/v1/batches/operations/626343ed-dbff-4644-a8ce-cee2471b2106",
"status": "queued",
"contactsReceived": 1,
"chunksPublished": 1,
"message": "Contacts queued for processing"
}
Insertar contactos en un lote
Añade uno o varios contactos a un lote existente del marcador.
curl --request POST \
--url https://api.backend.inconcertcc.com/autocontact/api/v1/batches/{batchId}/contacts \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"identifier": "CLI-001",
"name": "Juan Pérez",
"addresses": [
{
"address": "5491155551234",
"type": "phone",
"priority": 1
},
{
"address": "juan@example.com",
"type": "email",
"priority": 2
}
],
"contactPriority": 0,
"customFields": {
"campaign": "verano2025",
"source": "crm"
}
}
'{
"operationId": "626343ed-dbff-4644-a8ce-cee2471b2106",
"operationUrl": "/autocontact/api/v1/batches/operations/626343ed-dbff-4644-a8ce-cee2471b2106",
"status": "queued",
"contactsReceived": 1,
"chunksPublished": 1,
"message": "Contacts queued for processing"
}
- Un contacto: envía sus propiedades directamente en la raíz del body.
- Varios contactos: envía un objeto con el array
contacts. Cada elemento del array es un contacto completo.
contacts salvo que quieras utilizar el formato de carga múltiple.
identifier es opcional, aunque se recomienda enviarlo para relacionar el resultado con el registro del sistema de origen. Si se omite, el servicio genera uno automáticamente.scheduledAt, el contacto entra en la selección del siguiente ciclo y se marca a la brevedad posible. Si lo incluyes, debe ser una fecha futura expresada en UTC y fija cuándo se realizará el primer intento.
Los campos contactPriority y customFields son opcionales. contactPriority ordena el contacto frente a los demás contactos del lote: cuanto menor sea su valor, antes se seleccionará. customFields permite guardar datos propios que viajarán con el contacto.
+. Un número que contenga + se rechaza con una respuesta 400.Tratamiento de contactos duplicados
onDuplicate y resetAttempts son campos opcionales de cada contacto:
- Si el contacto ya existe y omites
onDuplicate, sus datos se actualizan, se trata como duplicado y no se vuelve a poner en marcación. - Envía
"onDuplicate": "recontact"cuando quieras volver a poner en marcación un contacto cuyoidentifierya existe en el lote. - Añade
"resetAttempts": truesi, además de recontactarlo, quieres reiniciar sus contadores de intentos.
resetAttempts junto con onDuplicate: "recontact". Si no necesitas reiniciar los intentos, puedes enviar solo onDuplicate.Ejemplos de solicitud
curl --request POST \
--url 'https://api.backend.inconcertcc.com/autocontact/api/v1/batches/e8b63614-f5db-4fd4-84ab-258b7070262e/contacts' \
--header 'Content-Type: application/json' \
--header 'apikey: TU_API_KEY' \
--data '{
"identifier": "CLI-001",
"name": "Alex Romero",
"addresses": [
{
"address": "34910000001",
"type": "phone",
"priority": 1
}
],
"contactPriority": 0,
"customFields": {
"campaign": "renovaciones",
"source": "crm"
},
"onDuplicate": "recontact",
"resetAttempts": true
}'
curl --request POST \
--url 'https://api.backend.inconcertcc.com/autocontact/api/v1/batches/e8b63614-f5db-4fd4-84ab-258b7070262e/contacts' \
--header 'Content-Type: application/json' \
--header 'apikey: TU_API_KEY' \
--data '{
"contacts": [
{
"identifier": "CLI-002",
"name": "Andrea Torres",
"addresses": [
{
"address": "34910000002",
"type": "phone",
"priority": 1
}
],
"contactPriority": 0,
"customFields": {
"campaign": "renovaciones",
"source": "crm"
},
"onDuplicate": "recontact",
"resetAttempts": true
},
{
"identifier": "CLI-003",
"name": "Daniel Vega",
"addresses": [
{
"address": "34910000003",
"type": "phone",
"priority": 1
},
{
"address": "daniel.vega@example.com",
"type": "email",
"priority": 2
}
],
"contactPriority": 1,
"customFields": {
"campaign": "renovaciones",
"source": "crm"
}
}
]
}'
{
"operationId": "626343ed-dbff-4644-a8ce-cee2471b2106",
"operationUrl": "/autocontact/api/v1/batches/operations/626343ed-dbff-4644-a8ce-cee2471b2106",
"status": "queued",
"contactsReceived": 1,
"chunksPublished": 1,
"message": "Contacts queued for processing"
}
status: "queued" confirma que los contactos quedaron en cola. Usa operationId para identificar la operación devuelta por la API.Authorizations
API key obtenida desde la interfaz de Inagent, dentro del marcador.
Headers
Clave para hacer el reintento seguro. Opcional.
Un UUID por operación lógica, reusado en los reintentos de ese mismo envío. Ver "Reintentos seguros" en la descripción de la API.
255^[\x20-\x7E]+$Path Parameters
Id del lote.
Body
- Option 1
- Option 2
Contacto que se va a cargar en el lote.
El campo identifier no es obligatorio: si se omite, el servicio genera uno automáticamente. Se
recomienda indicarlo siempre que exista, ya que es lo que permite relacionar el contacto con el
registro del sistema de origen.
Nombre del contacto. Obligatorio y no vacío.
"Juan Pérez"
Direcciones por las que intentar el contacto, con su orden de marcación.
1Show child attributes
Show child attributes
Identificador del contacto en el sistema de origen. Si se omite, el servicio genera uno automáticamente.
"CLI-001"
Datos adicionales que se almacenan con el contacto. No intervienen en la marcación y quedan disponibles para el asistente y para la consulta posterior del contacto.
{ "campaign": "verano2025", "source": "crm" }
Prioridad del contacto frente a los demás contactos del lote. Cuanto menor sea el valor, antes se seleccionará para la marcación.
0
Cuándo intentar la PRIMERA marcación. Debe ser una fecha futura en UTC y estar dentro de los próximos 30 días.
Sin este campo el contacto entra a la selección del siguiente ciclo.
"2026-09-23T08:41:43.522Z"
Usa recontact para volver a llamar al contacto aunque su identifier ya exista en el
lote.
recontact Con true, reinicia los contadores de intentos cuando el contacto duplicado se vuelve a
poner en marcación.
Response
Contactos aceptados. La inserción se realiza en segundo plano.
Identifica esta carga. Se resuelve en
GET /batches/operations/{operationId}.
"9f1c7e2a-4b3d-4a1e-9c8f-2d5b6e7a8c90"
URL del recurso de operación, la misma que viene en el header Location.
"/autocontact/api/v1/batches/operations/9f1c7e2a-4b3d-4a1e-9c8f-2d5b6e7a8c90"
queued Cuántos contactos se recibieron y validaron.
150
Número de bloques en los que se dividió la carga. La operación se considera finalizada cuando todos se han procesado.
3
Was this page helpful?

