Ir al contenido

Crear Contactos

Permite crear uno o múltiples contactos de clientes en una única petición. Cada contacto viaja con su array details, que reúne sus medios de contacto: correos electrónicos, teléfonos, direcciones y fechas relevantes. La operación es idempotente: si el contacto ya existe en el cliente (por erp_code o, en su ausencia, por primer nombre y primer apellido) no se inserta de nuevo ni se tocan sus medios de contacto.

Método: POST

https://api.ventasremotas.com/v1/contacts/batch-create
Header Valor Descripción Requerido
Content-Type application/json Indica que los datos se envían en formato JSON Sí
Accept application/json Indica que la respuesta debe estar en formato JSON No
Subscription-Key {subscription_key} Clave de suscripción para acceder a la API Sí
Authorization Bearer {access_token} Token de acceso obtenido del endpoint /token Sí*

El body debe ser un array de objetos, donde cada objeto representa un contacto a crear junto con sus medios de contacto.

Parámetro Valor Descripción
Mínimo de items 1 El array no puede estar vacío
Máximo de items 10,000 Número máximo de contactos por petición
Mínimo de details por contacto 1 Un contacto debe tener al menos un medio de contacto

El cuerpo (Body) de la solicitud debe enviarse en formato JSON y debe incluir un array con los siguientes parámetros.

Campo Tipo Nulo Restricciones Descripción
client_id string (max 18) No No permite: espacio, #, %, &, *, {, }, \, :, <, >, ?, /, +, . Código del cliente al que pertenece el contacto
first_name string (max 100) No Primer nombre del contacto
second_name string (max 100) Sí Segundo nombre del contacto
first_last_name string (max 100) No Primer apellido del contacto
second_last_name string (max 100) Sí Segundo apellido del contacto
position string (max 100) Sí Cargo que ocupa el contacto
department string (max 100) Sí Departamento o área a la que pertenece
company_name string (max 100) Sí Nombre de la empresa del contacto, cuando difiere del cliente
relation string (max 100) Sí Relación del contacto con el cliente
observations string (max 500) Sí Observaciones generales del contacto
state string (max 1) No Valores permitidos: Y, N Estado del contacto (Activo/Inactivo)
erp_code string (max 50) Sí Único por empresa Código del contacto en el sistema ERP. Actúa como clave alternativa de identificación
details array No Mínimo 1 elemento Medios de contacto. Cada elemento sigue la tabla siguiente
Campo Tipo Nulo Restricciones Descripción
type int No Valores: 1, 2, 3, 4 Tipo de medio de contacto: 1 (Correo electrónico), 2 (Teléfono), 3 (Dirección), 4 (Fecha)
value string (max 100) No Según el tipo, ver Reglas por tipo Valor del medio de contacto
label string (max 100) Sí Obligatorio y no vacío cuando type es 4 Nombre de la fecha (Cumpleaños, Aniversario). Para los demás tipos se ignora y se guarda vacío
state string (max 1) No Valores permitidos: Y, N Estado del medio de contacto (Activo/Inactivo)
latitude decimal (24, 18) Sí Entre -90 y 90. Solo se guarda cuando type es 3 Latitud de la dirección georreferenciada. Debe enviarse junto con longitude
longitude decimal (24, 18) Sí Entre -180 y 180. Solo se guarda cuando type es 3 Longitud de la dirección georreferenciada. Debe enviarse junto con latitude
type Medio Regla sobre value label latitude / longitude
1 Correo electrónico Debe ser una dirección de correo válida Se ignora, se guarda vacío Se ignoran
2 Teléfono Solo dígitos, de 7 a 15, con + e indicativo del país opcional al inicio. Si trae +, el indicativo se separa y se guarda como indicativo de WhatsApp (por ejemplo +573001234567 → indicativo +57, número 3001234567). Sin +, se guarda tal cual como teléfono fijo Se ignora, se guarda el indicativo extraído o vacío Se ignoran
3 Dirección Texto libre con la dirección física Se ignora, se guarda vacío Opcionales, pero deben venir ambas o ninguna
4 Fecha Fecha en formato YYYY-MM-DD Obligatorio y no vacío Se ignoran
  • string (max N): Cadena de texto con longitud máxima de N caracteres.
  • int: Número entero.
  • decimal (p, s): Número decimal donde p es la precisión total (dígitos enteros + decimales) y s es la escala (dígitos decimales).
    • Ejemplo: decimal (24, 18) permite hasta 6 dígitos enteros y 18 decimales (ej: 4.710988600000000000)
  • array: Lista de objetos JSON.

Aquí tienes un ejemplo de cómo debería quedar el cuerpo de la solicitud en formato JSON:

[
{
"client_id": "CLI-001",
"first_name": "María",
"second_name": "Fernanda",
"first_last_name": "Gómez",
"second_last_name": "Ríos",
"position": "Jefe de Compras",
"department": "Compras",
"company_name": "Distribuciones El Norte S.A.S.",
"relation": "Cliente",
"observations": "Atiende de lunes a viernes en la mañana",
"state": "Y",
"erp_code": "ERP-CT-001",
"details": [
{
"type": 2,
"value": "+573001234567",
"label": null,
"state": "Y",
"latitude": null,
"longitude": null
},
{
"type": 1,
"value": "maria.gomez@elnorte.com",
"label": null,
"state": "Y",
"latitude": null,
"longitude": null
},
{
"type": 4,
"value": "1985-03-14",
"label": "Cumpleaños",
"state": "Y",
"latitude": null,
"longitude": null
}
]
},
{
"client_id": "CLI-001",
"first_name": "Carlos",
"second_name": null,
"first_last_name": "Pérez",
"second_last_name": null,
"position": "Bodeguero",
"department": "Logística",
"company_name": null,
"relation": "Recibe mercancía",
"observations": null,
"state": "Y",
"erp_code": null,
"details": [
{
"type": 2,
"value": "6013456789",
"label": null,
"state": "Y",
"latitude": null,
"longitude": null
},
{
"type": 3,
"value": "Calle 100 #15-25 Bodega 3",
"label": null,
"state": "Y",
"latitude": 4.7109886,
"longitude": -74.072092
}
]
}
]

{
"statusCode": 201,
"message": "Contacts created successfully"
}