CRM ZEUS EXTERNAL API ACCESS - Organizaciones y Contactos

CRM ZEUS EXTERNAL API ACCESS
(Registro externo de Contactos y Organizaciones)
Introducción
Un External API Access permite que organizaciones separadas colaboren
con CRM ZEUS. Por ejemplo, las organizaciones pueden compartir entre sí
especificaciones de API sin hacerlos públicos para acelerar el desarrollo de
un componente funcional requerido por la organización sin tener que esperar
a que dicho componente sea liberado por CRM ZEUS. Los administradores
controlan los orígenes de datos de las organizaciones y de estos podrán
crear Access Token y administrar su vigencia o conclusión. Agregar un
Access Token significa que usted confía en la otra organización con la que
compartirá el acceso concediéndole permisos de acceso a datos de su
origen de datos.
Palabras clave
Base de Datos (BD), Access Token de una conexión en CRM Zeus (aToken), Valor
numérico entero de cantidad variable (vInt), Cadena de texto de longitud variable
(cVariable), Cadena de texto de longitud fija (cFija), Valor lógico [true,false] (vLogico), BIT
[0,1] (vBit)
Requerimientos

  1. Contar con un Access Token de una conexión CRMZeus, este recurso se
    puede obtener en https://crmzeus-app.com desde las conexiones disponibles.
    Obtener Access Token
  2. Iniciar sesión en https://crmzeus-app.com/ y ubicarte en el apartado de Conexiones
    disponibles dentro de la sección de Organización, ahora haga click en la columna
    Token en el botón de enlace “ ” para ver el form con los Access Token registrados
    para la conexión elegida.
  3. Para registrar un nuevo Access token para la conexión elegida, estando en el form
    Access token API se desplaza a la pestaña Nuevo, proporcione el Nombre para
    ubicar más fácilmente el Access token dentro del listado de registros previos,
    también la fecha con la cual terminará la Vigencia de validez del Access token, por
    último se registra el Tipo de conexión entrante que brindará el servicio de acceso a
    datos (de momento solo está funcional el Público el cual permite conexiones desde
    cualquier equipo a través de internet, la opción de Privado en el cual se define el
    Host o la IP del equipo del cual solo se aceptarán las conexiones no está
    desarrollado) para concluir el registro se presiona el botón Guardar.
  4. En la pestaña Tokens haga click en la columna Token del Access token deseado
    Implementación
    Para agregar nuevos registros de CONTACTOS y PROSPECTOS a la BD mediante External API Access se requiere el acceso a los
    métodos:
    ● Test de conectividad
    ● Vistas de catálogos
    ● Consulta de registros previos
    ● Nuevos registros
    ● Actualizar registros
    Notas: Todos los métodos del External API Access de CRM ZEUS son mediante el método POST.
    El aToken es una cadena hexadecimal de longitud variable. La URL_BASE es una ruta de respuesta para todos los métodos del
    External API Access “CRMZeus

Test de conectividad:

TEST
Url Parámetros Respuesta
URL_BASE + ‘test’ headers: { “api_access_token”: aToken }
data:{}
{ “ERROR”: vInt,
“TITULO”: cVariable }

Si en la respuesta de la consulta se ha obtenido la propiedad ERROR con valor de “0” eso indica que se ha establecido la comunicación a la BD con un Access Token válido. Caso contrario se requiere atender los comentarios proporcionados en la propiedad TITULO.

Vistas de Catálogos:

CALIFICACIÓN DE ORGANIZACIÓN
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_CalificacionOrganizacion’ headers: { “api_access_token”: aToken }
data:{
“CALIFICACION_ID”: vInt
}
CALIFICACION_ID; Es un parámetro opcional
[{
“CALIFICACION_ID”: vInt,
“NOMBRE”: cVariable(50),
“ES_SISTEMA”: cFija (1),
“ES_DEFAULT”: cFija (1)
},]

En caso de no proporcionar el identificador de CALIFICACION_ID se recupera todo el catálogo. Si se proporciona el identificador CALIFICACION_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

ESTATUS DE CORREO DE CONTACTO DE ORGANIZACIÓN
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_EstatusDeCorreoContacto’ headers: { “api_access_token”: aToken }
data:{
“ESTATUS”: vInt
}
ESTATUS; Es un parámetro opcional
[{
“ESTATUS”: vInt,
“NOMBRE”: cVariable(50),
“ES_DEFAULT”: cFija (1)
},]

En caso de no proporcionar el identificador de ESTATUS se recupera todo el catálogo. Si se proporciona el identificador ESTATUS como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

GIRO DE ORGANIZACIÓN
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_Giro’ headers: { “api_access_token”: aToken }
data:{
“GIRO_ID”: vInt
}
GIRO_ID; Es un parámetro opcional
[{
“GIRO_ID”: vInt,
“NOMBRE”: cVariable(50),
“ES_SISTEMA”: cFija (1),
“ES_DEFAULT”: cFija (1)
},]

En caso de no proporcionar el identificador de GIRO_ID se recupera todo el catálogo. Si se proporciona el identificador GIRO_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

MONEDAS
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_Moneda’ headers: { “api_access_token”: aToken }
data:{
“MONEDA_ID”: vInt
}
MONEDA_ID; Es un parámetro opcional
[{
“MONEDA_ID”: vInt,
“NOMBRE”: cVariable(50),
“TEXTO_IMPTE_LETRA”: cVariable(30),
“SIMBOLO”: cVariable(10),
“CLAVE_FISCAL”: cVariable(3),
“ES_MONEDA_LOCAL”: cFija (1),
“ES_DEFAULT”: cFija (1)
},]

En caso de no proporcionar el identificador de MONEDA_ID se recupera todo el catálogo. Si se proporciona el identificador MONEDA_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

TIPO DE CONTACTO DE ORGANIZACIÓN
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_TipoContacto’ headers: { “api_access_token”: aToken }
data:{
“TIPO_CONTACTO_CONTACTO_ID”: vInt
}
TIPO_CONTACTO_CONTACTO_ID; Es un parámetro opcional
[{
“TIPO_CONTACTO_CONTACTO_ID”: vInt,
“NOMBRE”: cVariable(50),
“ES_DEFAULT”: cFija (1)
},]

En caso de no proporcionar el identificador de TIPO_CONTACTO_CONTACTO_ID se recupera todo el catálogo. Si se proporciona el identificador TIPO_CONTACTO_CONTACTO_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

VENDEDORES
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_Vendedor’ headers: { “api_access_token”: aToken }
data:{
“VENDEDOR_ID”: vInt
}
VENDEDOR_ID; Es un parámetro opcional
[{
“VENDEDOR_ID”: vInt,
“NOMBRE”: cVariable(50),
“ES_DEFAULT”: cFija (1),
“POLITICA_COMIS_VEN_ID”: vInt,
“NOTAS”: cVariable(250),
“CLAVE”: cVariable(20)
},]

En caso de no proporcionar el identificador de VENDEDOR_ID se recupera todo el catálogo. Si se proporciona el identificador VENDEDOR_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

ZONA DE ORGANIZACIÓN
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_ZonaOrganizacion’ headers: { “api_access_token”: aToken }
data:{
“ZONA_CLIENTE_ID”: vInt
}
ZONA_CLIENTE_ID; Es un parámetro opcional
[{
“ZONA_CLIENTE_ID”: vInt,
“NOMBRE”: cVariable(50),
“ES_DEFAULT”: cFija (1)
},]

En caso de no proporcionar el identificador de ZONA_CLIENTE_IDse recupera todo el catálogo. Si se proporciona el identificador ZONA_CLIENTE_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

Consulta de registros previos:

BUSCAR CONTACTOS POR TELEFONO O CORREO
Url Parámetros Respuesta
URL_BASE + ‘contact/find_Contacto’ headers: { “api_access_token”: aToken }
data:{
“EMAIL”: cVariable (200),
“TELEFONO”: cVariable (50),
}
EMAIL; Si se proporciona serán listados los CONTACTOS donde el correo coincida con la cadena proporcionada.
TELEFONO; Si se proporciona serán listados los CONTACTOS donde el teléfono coincida con la cadena proporcionada.
[{
CONTACTO_CONTACTO_ID: vInt,
NOMBRE: cVariable(100),
PUESTO: cVariable(50),
TIPO_CONTACTO_CONTACTO_ID: vInt,
TIPO_CONTACTO: cVariable(50),
TELEFONO: cVariable(50),
CELULAR: cVariable(35),
CORREO: cVariable(200),
CLIENTE_ID: vInt,
TITULO: cVariable(30),
ES_PPAL: cFija (1),
ES_DEFAULT: cFija (1),
CONTACTO_CONTACTOS_EMAIL_ID: vInt,
CUMPLE_MES: vInt,
CUMPLE_DIA: vInt,
PASSWORD: cVariable(10),
ORG:{
ORG_ID: vInt,
NOMBRE: cVariable(250),
NOMBRE_CALLE: cVariable(100),
NUM_EXTERIOR: cVariable(10),
COLONIA: cVariable(100),
CIUDAD_ID: vInt,
TELEFONO1: cVariable(35),
T: cFija (1),
TIPO_ORG: vInt,
TIPO_ORG_NOMBRE: cVariable(15),
TIPO_ORGANIZACION_ID: vInt,
CLI_PRO: cFija (1),
} ]

Se requiere que proporcionen al menos uno de los parámetros y según sea el caso se recuperan los registros en los que coincidan completamente el correo o el teléfono determinado por los parámetros enviados al método.

LISTAR CONTACTOS
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_Contacto’ headers: { “api_access_token”: aToken }
data:{
“pagination”: {FIRST: vInt, SKIP: vInt},
“filter”: cVariable (50),
“CLIENTE_ID”: vInt
}
pagination; Es un parámetro opcional, si se proporciona debe ser proporcionada la cantidad de elementos que serán listados en el parámetro “FIRST” y la cantidad de registros que serán saltados en la consulta.
filter; Es un parámetro opcional, si se proporciona serán listados los CONTACTOS donde el nombre coincida con la cadena proporcionada.
CLIENTE_ID; Es un parámetro obligatorio, debe proporcionarse para listar los CONTACTOS asociados a la ORGANIZACIÓN de la que se ha proporcionado el identificador en este parámetro.
[{
resources:
[{
CONTACTO_CONTACTO_ID: vInt,
NOMBRE: cVariable(100),
PUESTO: cVariable(50),
TIPO_CONTACTO_CONTACTO_ID: vInt,
TIPO_CONTACTO: cVariable(50),
TELEFONO: cVariable(50),
CELULAR: cVariable(35),
CORREO: cVariable(200),
CLIENTE_ID: vInt,
TITULO: cVariable(30),
ES_PPAL: cFija (1),
ES_DEFAULT: cFija (1),
CONTACTO_CONTACTOS_EMAIL_ID: vInt,
CUMPLE_MES: vInt,
CUMPLE_DIA: vInt,
PASSWORD: cVariable(10)
}],
total: vInt
}]

En caso de no proporcionar “pagination” se recupera todo el catálogo determinado por el parámetro “CLIENTE_ID”. Si se proporciona el parametro “S” como parámetro “filter” se recuperan los registros en los que coincidan completa o parcialmente el nombre pero que pertenezcan a la organización de la que se ha proporcionado el identificador.

LISTAR CONTACTO
Url Parámetros Respuesta
URL_BASE + ‘contact/get_Contacto’ headers: { “api_access_token”: aToken }
data:{
“CONTACTO_CONTACTO_ID”: vInt
}
CONTACTO_CONTACTO_ID; Es un parámetro obligatorio el cual es el identificador del registro que se pretende recuperar.
[{
CONTACTO_CONTACTO_ID: vInt,
NOMBRE: cVariable(100),
PUESTO: cVariable(50),
TIPO_CONTACTO_CONTACTO_ID: vInt,
TIPO_CONTACTO: cVariable(50),
TELEFONO: cVariable(50),
CELULAR: cVariable(35),
CORREO: cVariable(200),
CLIENTE_ID: vInt,
TITULO: cVariable(30),
ES_PPAL: cFija (1),
ES_DEFAULT: cFija (1),
CONTACTO_CONTACTOS_EMAIL_ID: vInt,
CUMPLE_MES: vInt,
CUMPLE_DIA: vInt,
PASSWORD: cVariable(10),
ORG:{
ORG_ID: vInt,
NOMBRE: cVariable(50),
NOMBRE_CALLE: cVariable(430),
NUM_EXTERIOR: cVariable(10),
COLONIA: cVariable(100),
CIUDAD_ID: vInt,
TELEFONO1: cVariable(50),
CALLE: cVariable(430)
},
CIUDAD:{
CIUDAD_ID: vInt,
ESTADO_ID: vInt,
PAIS_ID: vInt,
NOMBRE: cVariable(50),
ES_DEFAULT: cFija(1),
ESTADO: cVariable(50),
PAIS: cVariable(50),
ESTADO_ABREV: cVariable(10),
PAIS_ABREV: cVariable(3)
}}]

Debe proporcionarse el identificador “CONTACTO_CONTACTO_ID” para recuperar el registro objetivo de la consulta.

LISTAR ORGANIZACIONES
Url Parámetros Respuesta
URL_BASE + ‘catalog/getLst_Organizacion’ headers: { “api_access_token”: aToken }
data:{
“pagination”: {FIRST: vInt, SKIP: vInt},
“filter”: cVariable (50),
“CLIENTE_ID”: vInt
}
pagination; Es un parámetro opcional, si se proporciona debe ser proporcionada la cantidad de elementos que serán listados en el parámetro “FIRST” y la cantidad de registros que serán saltados en la consulta.
filter; Es un parámetro opcional, si se proporciona serán listados los CONTACTOS donde el nombre coincida con la cadena proporcionada.
CLIENTE_ID; Es un parámetro opcional, debe proporcionarse para listar la ORGANIZACIÓN de la que se ha proporcionado el identificador en este parámetro.
[{
RAZON_SOCIAL: cVariable(200),
NOMBRE_COMERCIAL: cVariable(200),
CONTACTO_ID: vInt,
CONTACTO_PRINCIPAL: cVariable(100),
TIPO_CLIENTE_ID: vInt,
TIPO_CLIENTE: cVariable(50),
CALIFICACION_ID: vInt,
CALIFICACION: cVariable(50),
GIRO_ID: vInt,
GIRO: cVariable(50),
ORIGEN_ID: vInt,
ORIGEN: cVariable(50),
ZONA_CLIENTE_ID: vInt,
ZONA: cVariable(50),
VENDEDOR_ID: vInt,
RESPETAR_VENDEDOR: vFija(1),
VENDEDOR: cVariable(50),
TELEFONO1: cVariable(35),
CLIENTE_ID: vInt,
CLI_PRO: vFija(1),
TIPO_ORG: vInt,
COND_PAGO_ID: vInt,
MONEDA_ID: vInt,
DIR_CLI_ID: vInt,
CLAVE_CLIENTE_ID: vInt,
CALLE: cVariable(430),
NOMBRE_CALLE: cVariable(430),
NUM_EXTERIOR: cVariable(10),
COLONIA: cVariable(100),
CIUDAD_ID: vInt,
ESTADO_ID: vInt,
PAIS_ID: vInt,
CODIGO_POSTAL: cVariable(10),
FECHA_ULT_ACCION: vFecha,
COBRADOR_ID: vInt,
LIMITE_CREDITO: vDecimal,
ESTATUS: vFija(1),
FECHA_SUSP: vFecha,
FECHA_HORA_CREACION: vFecha,
USUARIO_CREADOR: cVariable(31),
COBRAR_IMPUESTOS: vFija(1),
RETIENE_IMPUESTOS: vFija(1),
USO_CFDI: vFija(3),
FORMA_PAGO_SAT: vFija(2),
CORREO_ENVIO: cVariable(60),
FECHA_HORA_ULT_MODIF: vFecha,
USUARIO_ULT_MODIF: cVariable(35),
CLIENTE_MATRIZ_ID: vInt,
LIGADO_A_ORGANIZACION: vFija(1)
},]

En caso de no proporcionar “pagination” se recupera todo el catálogo determinado por el parámetro “CLIENTE_ID”. Si se proporciona el parametro “filter” se recuperan los registros en los que coincidan completa o parcialmente el nombre pero que pertenezcan a la organización de la que se ha proporcionado el identificador.

LISTAR ORGANIZACIÓN
Url Parámetros Respuesta
URL_BASE + ‘org/get_Organizacion’ headers: { “api_access_token”: aToken }
data:{
“CLIENTE_ID”: vInt
}
CLIENTE_ID; Es un parámetro obligatorio el cual es el identificador del registro que se pretende recuperar.
[{
CLAVE: cVariable(20),
RAZON_SOCIAL: cVariable(200),
NOMBRE_COMERCIAL: cVariable(200),
CONTACTO_ID: vInt,
CONTACTO_PRINCIPAL: cVariable(100),
TIPO_CLIENTE_ID: vInt,
TIPO_CLIENTE: cVariable(50),
CALIFICACION_ID: vInt,
CALIFICACION: cVariable(50),
GIRO_ID: vInt,
GIRO: cVariable(50),
ORIGEN_ID: vInt,
ORIGEN: cVariable(50),
ZONA_CLIENTE_ID: vInt,
ZONA: cVariable(50),
VENDEDOR_ID: vInt,
RESPETAR_VENDEDOR: vFija(1),
VENDEDOR: cVariable(50),
TELEFONO1: cVariable(35),
CLIENTE_ID: vInt,
CLI_PRO: cFija(1),
TIPO_ORG: vInt,
EMAIL: cVariable(200),
COND_PAGO_ID: vInt,
MONEDA_ID: vInt,
DIR_CLI_ID: vInt,
CLAVE_CLIENTE_ID: vInt,
CALLE: cVariable(430),
NOMBRE_CALLE: cVariable(430),
NUM_EXTERIOR: cVariable(10),
NUM_INTERIOR: cVariable(10),
COLONIA: cVariable(100),
POBLACION: cVariable(100),
REFERENCIA: cVariable(100),
CIUDAD_ID: vInt,
ESTADO_ID: vInt,
PAIS_ID: vInt,
CODIGO_POSTAL: cVariable(10),
FECHA_ULT_ACCION: vFecha,
RFC_CURP: cVariable(18),
COBRADOR_ID: vInt,
LIMITE_CREDITO: vDecimal,
ESTATUS: cFija(1),
FECHA_SUSP: vFecha,
CAUSA_SUSP: cVariable(100),
FECHA_HORA_CREACION: vFecha,
USUARIO_CREADOR: cVariable(31),
COBRAR_IMPUESTOS: vFija(1),
RETIENE_IMPUESTOS: vFija(1),
USO_CFDI: vFija(3),
FORMA_PAGO_SAT: vFija(2),
CORREO_ENVIO: cVariable(60),
FECHA_HORA_ULT_MODIF: vFecha,
USUARIO_ULT_MODIF: cVariable(35),
CLIENTE_MATRIZ_ID: vInt,
LIGADO_A_ORGANIZACION: cVariable,
CIUDAD: cVariable(50),
ESTADO: cVariable(50),
ESTADO_ABREV: cVariable(10),
PAIS: cVariable(50),
PAIS_ABREV: cVariable(10)
}]

Debe proporcionarse el identificador “CLIENTE_ID” para recuperar el registro objetivo de la consulta.

Nuevos registros:

AGREGAR CONTACTO
Url Parámetros Respuesta
URL_BASE + ‘contact/add_Contacto’ headers: { “api_access_token”: aToken }
data: {
“NOMBRE”: cVariable(100),
“TITULO”: cVariable(30),
“TELEFONO”: cVariable(50),
“CELULAR”: cVariable(35),
“ES_PPAL”: vLogico, // true, false
“CUMPLE_MES”: vInt, // 1 a 12
“CUMPLE_DIA”: vInt, // 1 a 31
“PUESTO”: cVariable(50),
“CLIENTE_ID”: vInt,
“PASSWORD”: cVariable(10),
“TIPO_CONTACTO_CONTACTO_ID”: vInt,
“CORREOS”: {
    “resources”: [{
        “EMAIL”: cVariable(200),
        “ES_PPAL”: cFija(1), // 0,1
        “USAR_MKT”: cFija(1), // S, N
        “ESTATUS_ID”: cFija(1)
    }],
}
}
[{
“error”: vInt,
“errData”: {},
“id”: vInt
}]

Si en el registro se ha proporcionado correos para asociarlos es necesario que se proporcionen todas las propiedades de las cuentas de correo. En caso de crearse un nuevo registro se recibirá como respuesta un objeto { error: 0, errData: ‘’, id: vInt }y en caso de algún error { error: 1, errData: {} }

AGREGAR ORGANIZACIÓN
Url Parámetros Respuesta
URL_BASE + ‘org/add_Organizacion’ headers: { “api_access_token”: aToken }
data: {
“CLAVE”: cVariable(20),
“RAZON_SOCIAL”: cVariable(200),
“NOMBRE_COMERCIAL”: cVariable(200),
“TELEFONO1”: cVariable(35),
“TIPO_ORG”: vInt,
“NOMBRE_CALLE”: cVariable(430),
“NUM_EXTERIOR”: cVariable(10),
“NUM_INTERIOR”: cVariable(10),
“COLONIA”: cVariable(100),
“REFERENCIA”: cVariable(100),
“CODIGO_POSTAL”: cVariable(10),
“LIMITE_CREDITO”: vDecimal,
“NOTAS”: cVariableBLOB,
“FECHA_SUSP”: vFecha,
“CAUSA_SUSP”: ‘’,
“RFC_CURP”: cVariable(18),
“COBRAR_IMPTOS”: vBoolean,
“RETIENE_IMPTOS”: vBoolean,
“VENDEDOR_ID”: vInt,
“CIUDAD_ID”: vInt,
“ESTADO_ID”: vInt,
“PAIS_ID”: vInt,
“ZONA_CLIENTE_ID”: vInt,
“CALIFICACION_ID”: vInt,
“TIPO_CLIENTE_ID”: vInt,
“GIRO_ID”: vInt,
“ORIGEN_ID”: vInt,
“ESTATUS”: cFija(1),
“MONEDA_ID”: vInt,
“COND_PAGO_ID”: vInt,
“COBRADOR_ID”: vInt
}
[{
“error”: vInt,
“errData”: {},
“id”: vInt
}]

En caso de crearse un nuevo registro se recibirá como respuesta un objeto: { error: 0, errData: ‘’, id: vInt }. En caso de algún error el detalle del error se presentará en el arreglo “errData”: { error: 1, errData: {} }

Actualizar registros:

ACTUALIZAR CONTACTO
Url Parámetros Respuesta
URL_BASE + ‘contact/upd_Contacto’ headers: { “api_access_token”: aToken }
data: {
“CONTACTO_CONTACTO_ID”: vInt,
“CLIENTE_ID”: vInt,
“NOMBRE”: cVariable(100),
“TITULO”: cVariable(30),
“TELEFONO”: cVariable(50),
“CELULAR”: cVariable(35),
“ES_PPAL”: vLogico, // true, false
“CUMPLE_MES”: vInt,
“CUMPLE_DIA”: vInt,
“PUESTO”: cVariable(50),
“PASSWORD”: cVariable(10),
“TIPO_CONTACTO_CONTACTO_ID”: vInt,
“CORREOS”: {
    “resources”: [{
        “CONTACTO_CONTACTOS_EMAIL_ID”: vInt,
        “EMAIL”: cVariable(200),
        “ES_PPAL”: cFija(1), // 0,1
        “USAR_MKT”: cFija(1), // S, N
        “ESTATUS_ID”: cFija(1)
    }],
    }
“CORREOS_DEL”: [{
    “CONTACTO_CONTACTOS_EMAIL_ID”: vInt
    }]
}
[{
“error”: vInt,
“errData”: {},
“id”: vInt
}]

Si en el registro se ha proporcionado correos para asociarlos es necesario que se proporcionen todas las propiedades de las cuentas de correo salvo la de CONTACTO_CONTACTOS_EMAIL_ID que es exclusiva solo para cuentas de correo asociadas previamente. En caso de actualizarse el registro se recibirá como respuesta un objeto { error: 0, errData: ‘’, id: vInt }y en caso de algún error { error: 1, errData: {} }

Esto es para Juan Pablo:

Probadores: https://interno.crmzeus-app.com/t/ligas-documentacion-api-crmzeus/126