Integración SET
La integración SET se encarga de enviar las informaciones presentes en el Gestión de Relaciones | CRM a otro sistema (receptor). El envío de informaciones a través del Integrador tiene sus peculiaridades y se configura de manera diferente de otras integraciones, ya que los campos tienen diferentes funciones, también reciben diferentes valores.
Cuando la integración finalizar con éxito, el Integrador set devolverá un mensaje de éxito. Si el web service tiene algún tipo de devolución para quien se configuró el envío, la devolución y el mensaje serán exhibidos. En caso de error, el Integrador solo presentará el error, cuyos detalles se mostrarán en el log.
Sugerencia 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, de manera 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 de las variables se escriben 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 consultas, inserción y actualización, el Integrador compila la string exactamente como una string PHP, por lo que el valor puede estar o no dentro de la string que contiene comillas dobles o simples. Por ejemplo, SELECT * FROM contas WHERE id = '#d#'.
Orden de integraciones
El orden en que se disponen las integraciones en la tabla INTEGRACOES hace la diferencia, ya que deben ser colocadas en un orden lógico, de acuerdo con la estructura del CRM.
Orden de los índices
Orden de los índice 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 las integraciones es grande y los SQLs presentes en la tabla INTEGRACOES columnas CONSULTA, SQL_CONSULTA, SQL_INSERT y SQL_UPDATE pueden ser complejas y más de uno, si necesario, sin embargo no se recomienda utilizar más de un SQL en lo mismo campo.
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.
Tablas
El Integrador tiene una estructura de tablas en 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 guardada 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 conexión para cada tipo de conexión son:
- Base: para cada conexión se utilizarán diferentes campos, recomendase 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 web service tienen los mismos campos, siendo algunos obligatorios.
- host: el servidor de conexión, es obligatorio;
- port: la puerta de conexión;
- charset: el codificador para la conexión, por defecto es UTF-8;
- header: un array con datos de encabezado para la solicitud, algunos servicios web necesitan enviar autenticación por encabezado;
- body: un array con una plantilla de cuerpo predeterminada para las solicitudes, donde en una clave de esse 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 portada 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 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. | SET: envío de los valores a un sistema tercero. |
| 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. |
LINK WEB: complemento de la dirección de la conexión para un servicio determinado; PALABRA CLAVE: siendo 'componente' la palabra clave actualmente disponible, y informa que la integración es un componente o un campo de otra integración. |
| TABELA | Tabla donde se realizará la integración. | |
| CONSULTA | Texto JSON que debe representar la consulta de datos realizada en el sistema CRM. | JSON-SQL: dentro de la clave "consulta" se puede escribir un texto SQL completo que será ejecutado para la búsqueda. |
| 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. Solamente utilizado 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. | Puede contener valores NULOS. |
| INDICE_ARRAY_RETORNO | Representa la clave del array de retorno, donde se encuentran los datos de retroalimentación de la integración realizada. Este valor debe aparecer en la documentación del servicio. Si la solicitud es vía web service o API y no tiene un índice predeterminado para devolver valores, puede usar la palabra reservada 'parameters' como indice_array_retorno; | Puede contener valores NULOS. |
| INDICE_VALOR_RETORNO | Índice que sera buscado en el array de retorno de envío de valor al sistema tercero, para realizar acciones después de una integración exitosa. Pueden ser insertadas más de un índice, siempre que estén separados por una coma. | Puede contener valores NULOS. |
| 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 sera utilizado como validador general, es decir, si el primer índice no presenta errores, los demás no serán contabilizados. | |
| SQL_CONSULTA | Campo no utilizado en la integración SET. | |
| SQL_INSERT | Campo no utilizado en la integración SET. | |
| SQL_UPDATE |
SQL que se encargará de actualizar un registro en el CRM cuando el retorno de la integración SET sea positivo y traer la información de identificación del registro realizado en el sistema tercero. No olvide la sugerencia 2. Para ensamblar la query de actualización se habilita la inyección de valores, que contiene todos los valores mapeados de la tabla CAMPOS_INTEGRACAO, del CRM, columna CAMPO_CRM. El resultado de la integración, es decir, los valores devueltos de la inserción del registro que son informados en la columna INDICE_VALOR_RETORNO, al que es posible acceder de la siguiente manera: #conta_id#: representa las columnas disponibles en la integración, campos del CRM consultados y que están enumerados para la integración en curso; #codCli#: representa los valores registrados en la columna INDICE_VALOR_RETORNO, que son los índices retornados por la inserción del registro del sistema tercero. Por ejemplo: UPDATE oportunidades SET numero_pedido = #numPed# WHERE id = #id# |
|
| DEPENDIENTE | Informa que la integración actual depende de la integración con el identificador dado y será ejecutada 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 será realizada 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: 19
- Campo nome: SET-WS-CONTAS
- Campo tempo_servico: SET
- Campo empresa_id/empresa_filial_id: 1
- Campo link: /g5-senior-services/sapiens_Synccom_senior_g5_co_ger_cad_clientes?wsdl
- Campo tabla: cuentas
- Campo consulta: {"consulta":"SELECT c.id_erp, c.fax, c.email_geral, c.email_financeiro, c.cadastro_timestamp, c.cliente_desde, c.`status`, c.representante_id, c.id, c.tipo_conta, c.tipo_pessoa, c.cidade_id, c.celular, c.telefone, c.telefone2, c.telefone3, c.nome, c.fantasia, c.cnpj, c.cpf, c.ramo_atividade_id, c.inscricao, c.inscricao_municipal, c.endereco, c.complemento, c.numero, c.cep, c.bairro FROM contas AS c WHERE c.id = #contaId#"}
- Campo conexao_integracao_id: 3
- Campo porta_ws: GravarClientes
- Campo indice_array_retorno: retornosClientes - en integraciones vía web service, el valor de esta columna debe ser idéntico al valor del servicio web
- Campo indice_valor_retorno: codCli - esta columna solo es usada en integraciones SET
- Campo indice_erro_retorno: erro,mensagemErro,erroExecucao
- Campo sql_consulta: no utilizado
- Campo sql_insert: no utilizado
- Campo sql_update: UPDATE contas SET id_erp = #codCli# WHERE id = #contaId#
- 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: empresaIdErp,filialIdErp,contaId - 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 la información de la tabla INTEGRACOES. | |
| CAMPO_CRM |
Representación del campo interno del CRM, 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 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 la columna (ALIAS) donde se busca la información, y la tabla (INDICE) y la columna (ATTRIBUTE) originales, pudiendo contener N niveles, por ejemplo: '{"índice": "contas", "atributo": {"alias": "t”prazo_pagamento_id”,“indice”:”prazo_pagamento ”,” atributo ”:” id ”}} '. En casos como este, donde existen dos niveles, se entiende que existe una dependencia para ser informado, 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 registrar registros donde el ATRIBUTO sea una palabra clave o 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; VALOR FIJO: informa que la siguiente string 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#). Ejemplos:
|
| 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/informaciones (JOIN), donde el valor es originado en otra tabla/nivel del array, referencia a tabla/índice (INDICE) y el otro nivel del array (ÍNDICE) y el valor buscado (ATRIBUTO), y puede contener N niveles, por ejemplo: '{"índice": "cuentas", "atributo": {"índice": "historial", "atributo": "codCpg"} } '. |
|
| 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¸, guardar 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 | Campo no utilizado en la integración SET. | |
| USE_UPDATE | Campo no utilizado en la integración SET. | |
| 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. Ej .: {"data_format_erp":"Y-m-d"}; |
Puede contener valores NULOS. |
- Campo id: 1.149
- Campo integracao_id: 19
- Campo campo_crm: {"indice":"contas","atributo":{"indice":"prazo_pagamento","alias":'prazo_pagamento_id","atributo":"id_erp"}}
- Campo campo_erp: {"indice":"dadosGeraisCliente","atributo":{"indice":"definicoesCliente","atributo":"codCpg"}}
- Campo regra_id: 5
- Campo valor_global: 0
- Campo use_insert: 1
- Campo use_update: 1
- Campo parametros_adicionais: null
| Campo | Descripción | Valores posibles |
|---|---|---|
| INTEGRACAO_ID | Identificador que hace referencia a la información de la tabla INTEGRACOES. | |
| TABELA | Tabla/vista donde las informaciones serán buscadas para que los registros sean comparados al consultar las dependencias durante el procesamiento de los campos. | |
| COLUNAS_BUSCAR | Nombre de la columna de la tabla ingresada anteriormente, que contiene el valor deseado. Es posible informaar más de un campo, basta con separarlos por una coma. | |
| COLUNA_COMPARAR | Columna que contiene el valor a ser comparado con el retorno de la consulta al sistema tercero. Funciona de manera similar a la cláusula ON presente en el JOIN de una query. | |
| VALOR_DEFAULT | Valor que es informado, 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 valores diferentes según las necesidades de la sucursal. Esta información es utilizada solo cuando la base del cliente es para varias empresas. |
- Campo id: 75
- Campo integracao_id: 8
- Campo tabela: 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 por informar al Integrador cómo se ejecuta la regla. |
0: ejecuta una función, solo llama al método pasado por parámetro en la columna METODO; 1: realiza la consulta de una dependencia, el método fijo, devolviendo el valor configurado para. Si un método fue informado en la columna METODO, será ejecutado 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 siendo un valor de hecho, no como una clave de consulta. Si un método fue informado en la columna MÉTODO, sera ejecutado después de la devolución del valor fijo; 4: carga un componente, agrega los valores a una variable interna del Integrador para que el Integrador interprete el componente como una integración, con sus particulares. Cuando el componente finalizar su ejecución, retorna los valores formateados para la integración principal; |
| MÉTODO |
Método o función que se ejecutará cuando ocurrir una llamada a una regla. El método puede ser: SQL: una consulta con alguna condición que devuelve el valor deseado; FIRMA DE 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

