CRM ZEUS EXTERNAL API ACCESS (Registro externo de Artículos)

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)

Requerimientos

  1. Contar con un Access Token de una conexión Microsip y Terra, este recurso se
    puede obtener en https://crmzeus-app.com desde las conexiones disponibles.

Obtener Access Token

  1. 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.

  1. 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.

S4

  1. En la pestaña Tokens haga click en la columna Token del Access token deseado

S5

Implementación
Para agregar nuevos registros de 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 de ARTÍCULOSTexto preformateado
  • Registro de un nuevo ARTÍCULO

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 “https://crmzeus-app.com/apiCrm/externalAccess/accessToken/api/v1/”

Test de conectividad:

TEST
Url Parametros 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 Cátalogos:

LÍNEA DE ARTICULO
Url Parametros Respuesta
URL_BASE+
‘catalog/getLst_LineaDeArticulo’
headers: { “api_access_token”: aToken }
data:{
“LINEA_ARTICULO_ID”: vInt,
“GRUPO_LINEA_ID”: vInt
}
LINEA_ARTICULO_ID; Es un parámetro opcional
GRUPO_LINEA_ID; Es un parámetro opcional
[{
“LINEA_ARTICULO_ID”: vInt,
“NOMBRE”: cVariable(50),
“GRUPO_LINEA_ID”: vInt,
“CLAVE”: cVariable(20),
“ES_DEFAULT”: cFija (1),
“GRUPO_LINEA”: cVariable(50),
}]

En caso de no proporcionar los identificadores de LINEA_ARTICULO_ID o GRUPO_LINEA_ID se recupera todo el catálogo. Si se proporciona el identificador GRUPO_LINEA_ID como parámetro se filtra el listado del catálogo y solo se proporcionan las LÍNEAS DE ARTÍCULO asociadas al identificador del GRUPO DE LÍNEA proporcionado. Si se proporciona el identificador LINEA_ARTICULO_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

UNIDAD DE VENTA
Url Parametros Respuesta
URL_BASE + ‘catalog/getLst_UnidadDeVenta’ headers: { “api_access_token”: aToken }
data:
{ “UNIDAD_VENTA_ID”: vInt}
UNIDAD_VENTA_ID; Es un parámetro opcional
[{
“UNIDAD_VENTA_ID”: vInt,
“NOMBRE”: cVariable(20),
“CLAVE_SAT”: cVariable(3),
“SIMBOLO_SAT”: cVariable(20),
},]

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

ESTATUS DE ARTICULO
Url Parametros Respuesta
URL_BASE + ‘catalog/getLst_EstatusDeArticulo’ headers: { “api_access_token”: aToken }
data:{
“ESTATUS_ID”: vInt,
“TIPO_TAREA_ID”: vInt}
ESTATUS_ID; Es un parámetro opcional
TIPO_TAREA_ID; Es un parámetro opcional
[{
“ESTATUS_ID”: vInt,
“NOMBRE”: cVariable(25),
“TIPO_TAREA_ID”: vInt,
“AVANCE”: vFloat,
“ES_DEFAULT”: cFija (1),
“DEFAULT_COMPLETAR”: vInt,
“POSICION”: vInt,
},]

En caso de no proporcionar los identificadores de ESTATUS_ID o TIPO_TAREA_ID se recupera todo el catálogo. Si se proporciona el identificador TIPO_TAREA_ID como parámetro se filtra el listado del catálogo y solo se proporcionan los ESTATUS DE ARTÍCULO asociados al identificador del TIPO DE TAREA proporcionado. Si se proporciona el identificador ESTATUS_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador.

SEGUIMIENTO DE ARTICULO
Url Parametros Respuesta
URL_BASE +
‘catalog/getLst_SeguimientoDeArticulo’ headers: {“api_access_token”: aToken }
data:{
“SEGUIMIENTO_ID”: *vInt *}
SEGUIMIENTO_ID; Es un parámetro opcional
[{“SEGUIMIENTO_ID”: vInt,
“NOMBRE”: cVariable(20),
},]

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

MONEDAS
Url Parametros Respuesta
URL_BASE +
‘catalog/getLst_MonedasDePreciosDeArticulo’
headers: {“api_access_token”: aToken }
data:{
“MONEDA_ID”: vInt
}
MONEDA_ID; Es un parámetro opcional
[{
“MONEDA_ID”: vInt,
“NOMBRE”: cVariable(20),
},]

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.

PRECIOS DE LA EMPRESA
Url Parametros Respuesta
URL_BASE +
‘catalog/getLst_ListasDePreciosDeArticulo’
headers: { “api_access_token”: aToken }
data:{
“PRECIO_EMPRESA_ID”: vInt
}PRECIO_EMPRESA_ID; Es un parámetro opcional
[{
“MONEDA_ID”: vInt,
“NOMBRE”: cVariable(30),
“ID_INTERNO”: cFija (1),
“POSICION”: vInt,
},]

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

IMPUESTOS DE LA EMPRESA
Url Parametros Respuesta
URL_BASE +
‘catalog/getLst_ImpuestosGravablesDeArticulo’
headers: {“api_access_token”: aToken }
data:{
“IMPUESTO_ID”: vInt,
“TIPO_IMPTO_ID”: vInt,
“TIPO_IVA”: cFija (1)
}
IMPUESTO_ID; Es un parámetro opcional
TIPO_IMPTO_ID; Es un parámetro opcional
TIPO_IVA; Es un parámetro opcional
[{
“IMPUESTO_ID”: vInt,
“NOMBRE”: cVariable(30),
“ES_DEFAULT”: cFija (1),
“TIPO_IMPTO_ID”: vInt,
“PCTJE_IMPUESTO”: vFloat,
“TIPO_IVA”: cFija (1),
},]

En caso de no proporcionar uno de los identificadores ya sea de IMPUESTO_ID, TIPO_IMPTO_ID o TIPO_IVA se recupera todo el catálogo. Si se proporciona el identificador IMPUESTO_ID como parámetro se filtra el listado del catálogo y solo se proporciona el registro al que corresponda el identificador. Si se proporciona el identificador TIPO_IMPTO_ID como parámetro se filtra un listado del catálogo y solo se proporcionan los registros a los que corresponda el identificador. Si se proporciona el identificador TIPO_IVA como parámetro se filtra un listado del catálogo y solo se proporcionan los registros a los que corresponda el identificador.

Consulta de registros previos de ARTÍCULOS:

LISTAR ARTÍCULOS
Url Parametros Respuesta
URL_BASE +
‘catalog/getLst_Articulo’
headers: { “api_access_token”: aToken }
data:{
“pagination”: {FIRST: vInt, SKIP: vInt},
“catalogados”: cFija (1),
}
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.
catalogados; Es un parámetro opcional, si se proporciona el valor de “S” se listan los artículos CATALOGADOS, un valor diferente o si se omite el parámetro se recuperan los artículos NO CATALOGADOS.
[{
“ES_CATALOGADO”: cFija (1),
“TIPO”: cVariable(20),
“ARTICULO_ID”: vInt,
“NOMBRE”: cVariable(200),
“CLAVE”: cVariable(20),
“CLAVE_ARTICULO_ID”: vInt,
“ESTATUS”: cFija (1),
“UNIDAD_VENTA”: cVariable(20),
“UNIDAD_COMPRA”: cVariable(20),
“IMPUESTO_ID”: vInt,
“CONTENIDO_UMED2”: vFloat,
“ES_ALMACENABLE”: cFija (1),
“ES_JUEGO”: cFija (1),
“IMPRIMIR_COMP”: cFija (1),
},]

En caso de no proporcionar “pagination” se recupera todo el catálogo del tipo determinado por el parámetro “catalogado”. Si se proporciona el identificador “S” como parámetro en “catalogado” se recuperan los artículos CATALOGADOS, un valor diferente o si se omite el parámetro se recuperan los artículos NO CATALOGADOS.

LISTAR ARTÍCULO
Url Parametros Respuesta
URL_BASE +
‘article/get_Articulo’
headers: { “api_access_token”: aToken }
data:{
“CATALOGADO”: cFija (1),
“ARTICULO_ID”: vInt,
}
CATALOGADO; Es un parámetro obligatorio, si se proporciona el valor de “S” se intentará listar el artículo de los CATALOGADOS, un valor diferente o si se omite el parámetro se recuperará el artículo de los NO CATALOGADOS.
ARTICULO_ID; Es un parámetro obligatorio el cual es el identificador del registro que se pretende recuperar.
[{
“ES_CATALOGADO”: cFija (1),
“TIPO”: cVariable(20),
“ARTICULO_ID”: vInt,
“NOMBRE”: cVariable(200),
“CLAVE”: cVariable(20),
“CLAVE_ARTICULO_ID”: vInt,
“ESTATUS”: cFija (1),
“UNIDAD_VENTA”: cVariable(20),
“UNIDAD_COMPRA”: cVariable(20),
“IMPUESTO_ID”: vInt,
“CONTENIDO_UNIDAD_COMPRA”: vFloat,
“ES_ALMACENABLE”: cFija (1),
“ES_JUEGO”: cFija (1),
“IMPRIMIR_COMP”: cFija (1),
“ESTATUS_ID”: cFija (1),
“ESTATUS_NOMBRE”: cVariable(30),
“LINEA_ARTICULO_ID”: vInt,
“PESO_UNITARIO”: vFloat,“ES_ALMACENABLE”: cFija (1),
“ES_JUEGO”: cFija (1),
“SEGUIMIENTO”: cFija (1),
“SHOPIFY_ID”: vBigInt,
“PRECIOS_VENTA”: {
total: vInt,
resources:
[ { PRECIO_EMPRESA_ID: vInt,
PRECIO_VENTA: vFloat,
MONEDA_ID: vInt,
LISTA_PRECIO: cVariable(30),
MONEDA: cVariable(30),
SIMBOLO: cVariable(10) } ]
},
“PRECIOS_VENTA_I”:
{
total: vInt
resources: [ { IMPUESTO_ID: vInt,
IMPUESTO_GRAVABLE: cVariable(30) } ]
},
},]

Si se proporciona el identificador “S” como parámetro en “CATALOGADO” se recupera el registro de los artículos CATALOGADOS, un valor diferente o si se omite el parámetro se recupera de los artículos NO CATALOGADOS siempre usando el parámetro ARTICULO_ID como identificador del registro.

Registro de un nuevo ARTÍCULO:

AGREGAR ARTíCULO
Url Parametros Respuesta
URL_BASE +
‘article/add_Articulo’
headers: { “api_access_token”: aToken }
data:{
“ES_CATALOGADO”: cFija (1),
“TIPO”: cVariable(20),
“NOMBRE”: cVariable(200),
“CLAVE”: cVariable(20),
“ESTATUS”: cFija (1),
“UNIDAD_VENTA”: cVariable(20),
“UNIDAD_COMPRA”: cVariable(20),
“CONTENIDO_UNIDAD_COMPRA”: vFloat,
“ES_ALMACENABLE”: cFija (1),
“ES_JUEGO”: cFija (1),
“ESTATUS”: cFija (1),
“LINEA_ARTICULO_ID”: vInt,
“PESO_UNITARIO”: vFloat,
“ES_ALMACENABLE”: cFija (1),
“ES_JUEGO”: cFija (1),
“SEGUIMIENTO”: cFija (1),
“PRECIOS_VENTA”: {
“resources”: [ {
“PRECIO_EMPRESA_ID”: vInt,
“PRECIO_VENTA”: vFloat,
“MONEDA_ID”: vInt } ]
},
“PRECIOS_VENTA_I”: {
“resources”:
[ {
“IMPUESTO_ID”: vInt } ]},
“CVE_ESQIMPU”: vInt,
}
CATALOGADO; Es un parámetro obligatorio, si se proporciona el valor de “S” se intentará registrar el artículo cómo CATALOGADO, un valor diferente o si se omite el parámetro se registrará el artículo cómo NO CATALOGADO.

PRECIOS_VENTA; Es un parámetro que recibe en la propiedad “resources” un listado de uno o más precios de venta para el artículo a registrar.

PRECIOS_VENTA_I; Es un parámetro que recibe en la propiedad “resources” un listado de uno o más impuestos para el artículo a registrar.
CVE_ESQIMPU; Es un parámetro que intentará ser registrado en caso de que la conexión a las BD este asignado el MODO_USO con el valor de “2”.
[{
},]

Si se proporciona el identificador “S” como parámetro en “CATALOGADO” se recupera el registro de los artículos CATALOGADOS, un valor diferente o si se omite el parámetro se recupera de los artículos NO CATALOGADOS siempre usando el parámetro ARTICULO_ID como identificador del registro.