Ir al contenido

Gestión de Contactos

Endpoint para registrar o actualizar contactos (socios) de un cliente. Si un contacto con el mismo nombre ya existe, se actualiza; si no existe, se inserta como nuevo. Este endpoint solo funciona para clientes.

Endpoint: /api/persona/socio

  • POST - Para crear contactos
  • PUT - Para actualizar contactos

{
"fl_cliente": 1,
"cliente_synergy_id": "1234",
"contactos": [
{
"nombre": "María González",
"telefono": "987654321",
"email": "maria@ejemplo.com",
"otros": "Gerente de Compras"
},
{
"nombre": "Carlos Ruiz",
"telefono": "965432187",
"email": "carlos@ejemplo.com",
"otros": "Supervisor de Logística"
}
]
}

AtributoValor EsperadoTipo de datoRequisitoLongitud
fl_clienteDebe ser 1 (este endpoint solo funciona para clientes)Integerobligatorio1 exacto
cliente_synergy_idIdentificador único del cliente en SynergyStringobligatorio1 hasta 30
contactosArray de objetos con información de contactosArrayobligatoriomínimo 1

Estructura de Cada Contacto (Objeto dentro del Array)

Sección titulada «Estructura de Cada Contacto (Objeto dentro del Array)»
AtributoValor EsperadoTipo de datoRequisitoLongitud
nombreNombre completo del contactoStringobligatorio1 hasta 100
telefonoNúmero de teléfono del contactoStringobligatorio9 hasta 15
emailEmail del contacto (debe ser válido)Stringopcional1 hasta 100
otrosInformación adicional del contacto (cargo, área, etc.)Stringopcional1 hasta 100

{
"codigo_http": 201,
"estado": "success",
"titanic_id": 123,
"contactos_insertados": 1,
"contactos_actualizados": 1,
"total_procesados": 2,
"mensaje": "Contactos del cliente procesados correctamente"
}

Escenario: Se utiliza un método diferente a POST o PUT

{
"codigo_http": 405,
"estado": "method_not_allowed",
"mensaje": "Método no permitido. Use POST o PUT."
}

2. Error de Validación de Campos - Código 400

Sección titulada «2. Error de Validación de Campos - Código 400»

Escenario: Los datos enviados no cumplen con las reglas de validación

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Error en la validación",
"detalles": {
"fl_cliente": "El campo fl_cliente es requerido",
"cliente_synergy_id": "El campo cliente_synergy_id es requerido",
"contactos": "El campo contactos es requerido"
}
}

3. Solo Funciona para Clientes - Código 400

Sección titulada «3. Solo Funciona para Clientes - Código 400»

Escenario: El flag fl_cliente no es 1

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Este endpoint solo funciona para clientes (fl_cliente debe ser 1)"
}

Escenario: El campo contactos no es un array o está vacío

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "El campo contactos debe ser un array con al menos un contacto"
}

5. Error en Validación de Contacto Específico - Código 400

Sección titulada «5. Error en Validación de Contacto Específico - Código 400»

Escenario: Un contacto del array no cumple con las validaciones

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Error en la validación del contacto índice 0",
"detalles": {
"nombre": "El campo nombre es requerido",
"telefono": "El campo telefono debe tener entre 9 y 15 caracteres",
"email": "El campo email debe ser un email válido"
}
}

Escenario: No se encontró el cliente con el cliente_synergy_id proporcionado

{
"codigo_http": 404,
"estado": "not_found",
"mensaje": "Cliente no encontrado con el cliente_synergy_id proporcionado"
}