Integración GET y INFO
La integración de GET y INFO son presentadas al mismo tiempo, ya que son similares entre sí en la configuración de la integración. Solo en los procesos internos, ejecución de algunas reglas y en la devolución de información existen algunas diferencias:
GET
Devuelve al usuario solo un mensaje de éxito o error y la naturaleza del error ocurrido, especificando con más detalle en los registros, y una devolución cuantitativa de cuantos registros fueron insertados y actualizaron durante la ejecución. Durante la ejecución, la información se transforma en query, según parametrización, para ejecución en la base de datos del CRM, insertando y/o actualizando los datos.
INFO
Devuelve al usuario todos los datos procesados durante la ejecución de la integración en formato JSON, además del mensaje de éxito o error, y en este caso, la naturaleza del error, presentando más detalles en los logs.
Consejos de usabilidad
Pedido para la creación de la integración
Sugerencia de pedido para la creación de la integración, registrando informaciones entre tablas conforme sea necesario, para facilitar la comprensión y organización de los datos. Entonces hay un loop entre las tablas CAMPOS_INTEGRACAO, DEPENDENCIAS y REGRAS, para que cada información registrada en CAMPOS_INTEGRACAO sea verificada si es necesario crear registros en las otras tablas.
Valores de las variables
Todos los valores variables son escritos en el lenguaje del integrador, usando el símbolo # al principio y al final del nombre de la variable. Y, al configurar los SQLs de consulta, insertar y actualizar SQL, el Integrador compila el texto exactamente como si fuera código. De esta forma, el valor puede estar dentro del texto con o sin comillas simples o dobles. Por ejemplo, SELECT * FROM contas WHERE id = '#id#'.
Orden de integraciones
Orden en el que se disponen las integraciones en la tabla INTEGRACOES hace diferencia, así que deben ser colocadas en un orden lógico, de acuerdo con la estructura del CRM.
Orden de los índices
El orden de los índices de la string JSON en el campo CAMPO_CRM de la tabla CAMPOS_INTEGRACAO no hace ninguna diferencia, pero se debe mantener la estructura lógica.
Registro de integraciones
El nivel de personalización en el registro de integraciones es grande, los SQL presentes en la tabla INTEGRACOES columnas CONSULTA, SQL_CONSULTA, SQL_INSERT y SQL_UPDATE pueden ser complejos y más de uno, si necesario.
Nota
Es posible ejecutar integraciones de diferentes tipos en dependencia (GET + SET), pero se recomienda ejecutar en dependencia solo integraciones del mismo tipo. Primero es necesario configurar la conexión con el sistema a integrar, y luego configurar los módulos y campos.
Tabelas
El Integrador tiene una estructura de tablas de base de datos donde será posible registrar y configurar integraciones.
| Campo | Descripción | Valores posibles |
|---|---|---|
| TIPO_CONEXAO | Clasifica la forma de conexión de la integración. |
|
| NOME_CONEXAO | Informa el nombre de la conexión grabada en el archivo de conexiones del cliente dentro de los archivos del Integrador. Cada tipo de conexión tiene un diseño específico para configurar la conexión en el archivo. |
Los diseños para configuración de la conexión para cada tipo de conexión son:
- Base: para cada conexión se utilizarán diferentes campos, es recomendable investigar para encontrar la mejor manera de conectarse.
- dbname: el nombre de la base;
- user: el usuario de conexión a la base de datos;
- password: la contraseña de conexión;
- host: el servidor de conexión;
- driver: herramienta de conexión que utilizará el integrador, difiere de una base a otra;
- charset: el encoding para la conexión, el estándar es UTF-8;
- dsn: un texto de conexión personalizado;
- pdo: funciona como el controlador, pero para conexiones personalizadas.
- Web service: las conexiones del servicio web tienen los mismos campos, algunos de los cuales son obligatorios.
- host: servidor de conexión, es obligatorio;
- port: puerta de la conexión;
- charset: encoding para la conexión, el valor predeterminado es UTF-8;
- header: array con datos de encabezado para la solicitud, algunos servicios web necesitan enviar autenticación de encabezado;
- body: array con una plantilla de cuerpo predeterminada para las solicitudes, donde en una clave de este array debe contener un valor '#BODY#', el cual será reemplazado por el cuerpo de la solicitud generada por el Integrador. Funciona como si fuera una capa de envío para todas las solicitudes.
- API (http): las conexiones vía API son utilizadas para cargar valores a través de la web, pero sin la necesidad de un protocolo WSDL. Las conexiones vía API solo aceptan transacciones de contenido JSON, es decir, si la API consumida por el Integrador no devuelve valores JSON, la integración no será realizada.
- host: el servidor de la conexión, es obligatorio;
- port: la puerta de conexión.
| Campo | Descripción | Valores posibles |
|---|---|---|
| NOME | Descripción de la integración. Información importante en el caso de la integración INFO, ya que es el índice de retorno para llegar a las informaciones integradas. |
|
| TIPO_SERVICO | String que representa el tipo de integración a ser realizada. | |
| EMPRESA_ID/ EMPRESA_FILIAL_ID | Empresa para la que la integración está disponible. | |
| LINK | String que informa la dirección para conectar la integración, el complemento para llegar a un servicio en particular, pudiendo ser NULO en algunos casos. |
|
| TABELA | Tabla donde se realizará la integración. | |
| CONSULTA | Texto JSON que representa la consulta de datos realizada en el sistema de terceros. El texto debe contener una clave de 'consulta' para que el integrador encuentre la consulta y el valor puede ser NULL en algunos casos. |
|
| CONEXAO_INTEGRACAO_ID | Identificador que hace referencia a la información de la tabla CONEXAO_INTEGRACAO. | |
| PORTA_WS | Se refiere a la puerta para ejecutar un servicio en particular. Solo se utiliza en integraciones vía web service. Esta información se puede encontrar en la documentación del WSDL del sistema que se va a integrar. | |
| INDICE_ARRAY_RETORNO | Representa la clave del array, donde se ubican los datos de la búsqueda de valores a integrar. En el caso de integración vía web service, este valor aparece en la documentación. Ya a través de la base de datos, el valor informado se agregará como el primer índice del array devuelto de la consulta. Si la solicitud es vía web service o API y no tiene un índice predeterminado para devolver valores, puede usar la palabra reservada 'parámetros' como indice_array_returno. | |
| INDICE_VALOR_RETORNO | Índice que se buscará en el array retorno de envío de valor al tercer sistema (integración SET), para realizar acciones después de una integración exitosa. Valor no utilizado en la integración GET o INFO, su valor debe ser NULL. | |
| INDICE_ERRO_RETORNO | Son los índices en que serán buscados errores en el array de retorno de las búsquedas realizadas por el Integrador, es decir, si estos índices se encuentran con un valor, el Integrador interpretará la búsqueda como 'con error'. El campo puede contener varios índices separados por comas (no debe haber espacios entre los índices y la coma). Solo el primer índice de la lista será utilizado como validador general, es decir, si el primer índice no presenta errores, los demás no serán contabilizados. | |
| SQL_CONSULTA |
SQL que se encargará de buscar el registro en CRM, en el caso de integración INFO, o de validar si existe, para que el Integrador sepa cuál será el siguiente paso, insertando o actualizando el registro, en el caso de integración GET. Para este campo, recuerde la sugerencia 2. Hay dos variables que se pueden utilizar, #empresa_id# o #empresa_filial_id#. Cuando el CRM del cliente es para varias empresas, además de las variables del Integrador, que contienen todos los campos mapeados en los campos DE-PARA del CRM y de terceros sistema, y está organizado de la siguiente manera: #nome# |
|
| SQL_INSERT |
SQL que se encargará de insertar un nuevo registro en el CRM, caso la búsqueda realizada por la columna SQL_CONSULTA vuelva falso. No olvide la sugerencia 2. Para ensablar la query de inserción, se habilita la entrada de valores que posibilita el uso de las variables #empresa_id# o #empresa_filial_id#, además de las variables del Integrador - que contienen todos los campos identificados en el DE-PARA del CRM y del sistema tercero, desde que estén con el valor true (1) en la columna VALOR_GLOBAL de la tabla CAMPOS_INTEGRACAO -, caso el CRM del cliente sea para múltiples empresas. Se puede también utilizar los valores trazados en el DE-PARA formateados para el INSERT: #indices#: representa las columnas; #valores#: son los valores que se van a insertar; Por ejemplo: (#indices#) VALUES (#valores#) |
|
| SQL_UPDATE |
SQL que se encargará de actualizar un registro en el CRM si la búsqueda realizada por la columna SQL_CONSULTA devuelve true. No olvide la sugerencia 2. Para ensablar la query de actualización, se habilita la entrada de valores que posibilita el uso de las variables #empresa_id# o #empresa_filial_id#, además de las variables del Integrador - que contienen todos los campos identificados en el DE-PARA del CRM y del sistema tercero, desde que estén con el valor true (1) en la columna VALOR_GLOBAL de la tabla CAMPOS_INTEGRACAO -, caso el CRM del cliente sea para múltiples empresas. Se puedetambién utilizar los valores trazados en el DE-PARA formateados para UPDATE: #valores#: representa las columnas igualadas a los valores; #id#: retorna el valor consultado en la columna SQL_CONSULTA; Por ejemplo: #valore # WHERE id = #id# |
|
| DEPENDIENTE | Informa que la integración actual depende de la integración con el identificador informado y se ejecutará antes. El valor informado es el identificador de la tabla INTEGRACOES. | Puede contener valores NULOS. |
| DEPENDE_DE | Informa que el valor registrado es una integración que depende de la integración actual y se ejecutará posteriormente. El valor informado es el identificador de la tabla INTEGRACOES. | Puede contener valores NULOS. |
| PARAMETROS_OBRIGATORIOS | Informa qué valores deben obligatoriamente estar en la URL de la solicitud de integración. Los parámetros deben estar separados por una coma y deben ser exactamente los mismos que los parámetros que pasarán por la URL. | Puede contener valores NULOS. |
- Campo id: 1
- Campo nombre: SET-WS-CONTAS
- Campo tempo_servico: GET
- Campo empresa_id/empresa_filial_id: 1
- Campo enlace: /g5-senior-services/sapiens_Synccom_senior_g5_co_cad_clientes?wsdl
- Campo tabla: cuentas
- Campo consulta: {"consulta":{"user":"senior","password":"senior","encryption":0,"parameters":{"codEmp":"1","codFil":"1","identificadorSistema":"CRM","quantidadeRegistros":"500","tipoIntegracao":"#tipoIntegracao#"}}}
- Campo conexao_integracao_id: 3
- campo porta_ws: Exportar
- Campo indice_array_retorno: cliente - en integraciones vía web service, el valor de esta columna debe ser idéntico al valor del web service
- Campo indice_valor_retorno: no utilizado
- Campo indice_erro_retorno: erro, mensagemErro, erroExecucao
- Campo sql_consulta: SELECT id FROM contas WHERE id_erp = '#id_erp#' INSERT INTO contas (empresa_id, #indices#) VALUES (1, #valores#)
- Campo sql_insert: INSERT INTO contas (empresa_id, #indices#) VALUES (1, #valores#) - essa coluna não é usada em integrações INF
- Campo sql_update: UPDATE contas SET #valores# WHERE id = '#id#' - essa coluna não é usada em integrações INF
- Campo dependiente: 1 - la columna "dependente" debe ser el id de una integración válida, es decir, el id de un registro válido en la tabla INTEGRACOES
- Campo depende_de: 1 - la columna "depende_de" debe ser el id de una integración válida, es decir, el id de un registro válido de la tabla INTEGRACOES
- Campo parametros_obrigatorios: codEmp,codFil,tipoIntegracao - en caso de múltiples parámetros, deben estar separados por comas sin espacios
| Campo | Descripción | Valores posibles |
|---|---|---|
| INTEGRACAO_ID | Identificador que hace referencia a información de la tabla INTEGRACOES. | |
| CAMPO_CRM |
Representación del campo interno del CRM que solo se puede llenar en formato JSON, debe contener la referencia a la tabla (INDICE) y a la columna (ATRIBUTO) en estos casos dice que solo hay un nivel de profundidad, ej: ' {“indice”: "contas", "atributo": "razao_social"}'. También existen casos donde es necesario más niveles para alcanzar un cierto valor. Presenta uniones de tablas (JOIN), donde el valor se origina en otra tabla, referencia a la tabla (INDEX) y a la columna (ALIAS) donde se busca la información, y la tabla (INDICE) y la columna (ATTRIBUTE) originales, pudiendo contener N niveles, por ejemplo:‘{“indice”:”contas”,”atributo”:{ ”alias”:”prazo_pagamento_id”,“indice”:”prazo_pagamento”,”atributo”:”id”}}’. En casos como este donde existen dos niveles, se entiende que existe una dependencia a ser informada, es decir, es necesario vincular la regla CONSULTAR DEPENDENCIA en la columna REGRA_ID y registrar una dependencia en la tabla DEPENDENCIA. En los casos donde solo hay un nivel, se pueden tener registros donde el ATRIBUTO sea una palabra clave, variables de palabras reservadas o de las informaciones guardadas como valores globales en la columna VALOR_GLOBAL de la tabla CAMPOS_INTEGRACAO, de la siguiente manera: IGNORE: ignorar este campo cuando realizar la acción de grabar o exportar; COMPONENTE: carga un componente de integración, desde que tenga el mismo no utilizado en la columna NOME_COMPONENTE; Ej 1.:{“indice”:”conta”,”atributo”:”ignore:razao_social”}; Ej. 2.: {“indice”:”conta”,”atributo”:”componente:definicoes_conta”}; |
|
| CAMPO_ERP |
Representación del campo externo del CRM (sistema tercero), solo se puede llenar en formato JSON. Debe contener la referencia a la tabla (INDICE) y la columna (ATRIBUTO) en estos casos dice que solo hay una nivel de profundidad, por ejemplo: ‘{“indice”:”cliente”,”atributo”:”nomCli”}’. También hay casos donde son necesarios más niveles para alcanzar un cierto valor. Presenta uniones de tablas/informacións (JOIN), donde el valor es originado en otra tabla/nivel del array, referencia a la tabla/índice (INDICE) y el otro nivel del array (INDICE) y el valor buscado (ATRIBUTO). Puede contener N niveles, por ejemplo: ‘{“indice”:”contas”,”atributo”:{“indice”:”historico”,”atributo”:”codCpg”}}’. En los casos donde solo hay un nivel, se pueden tener registros donde el ATRIBUTO sea una palabra clave, variables de palabras reservadas o de las informaciones guardadas como valores globales en la columna VALOR_GLOBAL de la tabla CAMPOS_INTEGRACAO, de la siguiente manera: VALOR: informa que la siguiente cadena es un valor fijo. En este caso, es necesario informar la regla ADICIONAR VALOR FIXO en la columna REGRA_ID. En el caso de agregar un valor fijo, es posible agregar variables que serán reemplazadas por sus respectivos valores durante el procesamiento del campo. Las palabras reservadas (dataAtual, dataHoraAtual, etc) y los valores de la integración que estuvieren informados como valores globales están disponibles, para eso la variable debe estar entre # (#dataAtual#, #dataHoraAtual#, #etc#). Por ejemplo: {"indice":"cliente","atributo":"valor:oportunidade gerada em #dataHoraAtual#"} |
|
| REGRA_ID | Identificador que hace referencia a información de la tabla REGRAS. | |
| VALOR_GLOBAL | Booleano que permite que el campo, si ingresado como true/1¸, grabar el valor y el nombre del campo en un alcance global para que se pueda acceder a él desde cualquier otra integración, campo o regla. | |
| USE_INSERT | Booleano que permite que el campo, si ingresado como true/1, sea usado en una operación de inserción en la base de datos del CRM. El campo solo se utiliza en la integración GET. | |
| USE_UPDATE | Booleano que permite el campo, si ingresado como true/1, sea usado en una operación de actualización en la base de datos del CRM. El campo solo se utiliza en la integración GET. | |
| PARAMETROS_ADICIONAIS |
Utilizado para pasar varios parámetros a una determinada regla durante el procesamiento del campo. Deben ser registradas solamente strings en formato JSON. Puede contener valores NULOS. Ej .: {"data_format_erp":"Y-m-d"}; |
- Id de campo: 897
- Campo de Integration_id: 10
- Field_crm campo: {"index": "account_definitions", "atributo": {"index": "payment_term", "alias": 'payment_term_id "," atributo ":" id "}}
- Field_erp campo: {"índice": "cliente", "atributo": {"índice": "histórico", "atributo": "Cpgcod"}}
- campo rule_id: 5
- campo global_value: 0
- campo use_insert: 1
- campo use_update: 1
- Campo de parámetros_adicionales: nulo
| Campo | Descripción | Valores posibles |
|---|---|---|
| INTEGRACAO_ID | Identificador que hace referencia a información de la tabla INTEGRACOES. | |
| TABELA | Tabla / vista donde se obtendrá la información para que los registros se comparen al consultar las dependencias durante el procesamiento de campo. | |
| COLUMNS_SEARCH | Nombre de columna de la tabla ingresada arriba que contiene el valor deseado. Se puede ingresar más de un campo, solo separado por una coma. |
|
| COLUMN_COMPARE | Columna que contiene el valor que se comparará con el retorno de la consulta al tercer sistema. Su funcionamiento es similar a la cláusula ON presente en el JOIN de una consulta. | |
| VALOR_DEFAULT | Valor que se informa, de manera que en los casos en que no se encuentre un registro con el valor informado en la columna COLUNA_COMPARAR, se inserta, para que el campo no quede vacío. El valor informado tiene que ser necesariamente un identificador válido en la tabla informada en la columna TABLA. Puede contener valores NULOS. | |
| EMPRESA_FILIAL_ID | Identificador que hace referencia a información de la tabla EMPRESA_FILIAL. Separa las dependencias por empresa y sucursal, permitiendo diferentes valores según las necesidades de la sucursal. Esta información es utilizada solo cuando la base del cliente pertenece a varias empresas. |
- Campo id: 75
- Campo integracao_id: 8
- Campo tabla: usuarios
- Campo colunas_buscar: usuario_id,nome
- Campo coluna_comparar: usuario_id_erp
- Campo valor_defaut: 383
- Campo empresa_filial_id: 1
| Campo | Descripción | Valores posibles |
|---|---|---|
| NOME | Informa una descripción de la regla, el nombre para identificar la regla. | |
| TIPO_METODO | Responsable de informar al Integrador como se ejecuta la regla. |
0: ejecuta una función, solo llama al método pasado por parámetro en la columna METHOD; 1: realiza la consulta de una dependencia, el método fijo, devolviendo el valor configurado para. Si se informó un método en la columna METHOD, se ejecuta después de consultar la dependencia; 2: agrega un valor fijo, la regla interpreta el valor informado de la columna CAMPO_ERP, de la tabla CAMPOS_INTEGRACAO, como un valor de hecho, no como una clave de consulta. Si se informó un método en la columna MÉTODO, se ejecuta después de la devolución del valor fijo; 4: carga un componente, agrega los valores a la variable interna de un integrador para que el integrador interprete el componente como una integración, con sus particulares, y cuando el componente finalice su ejecución, devuelva los valores formateados para la integración principal; |
| METODO | Método o función que sera ejecutada cuando ocurrir una llamada a una regla. |
SQL: una consulta con alguna condición que devuelve el valor deseado; FIRMA DEL MÉTODO: una clave que representa un método presente en los archivos de reglas del Integrador, reglas generales o específicas del cliente; NULL: puede contener valores NULOS. |
- Campo id: 26
- Campo nome: Carregar/Preparar Componente
- Campo tipo_metodo: 4
- Campo metodo: null

English
Español

