Integração SET
A integração SET tem a responsabilidade de enviar as informações presentes no Gestão de Relacionamento | CRM para outro sistema (receptor). O envio de informações através do Integrador tem suas particularidades e são configuradas de forma diferente das outras integrações, pois como os campos tem funções diferentes, eles também recebem valores diferentes.
Quando a integração finalizar com sucesso, o Integrador set vai retornar uma mensagem de sucesso. Caso o web service tenha algum tipo de retorno para quem foi configurado o envio, será exibido o retorno e a mensagem. No caso de erro, o Integrador só vai apresentar o erro, cujos detalhes serão exibidos no log.
Dicas de usabilidade
Ordenação para a criação da integração
Sugestão de ordenação para a criação da integração, cadastrando informações entre as tabelas conforme necessidade, para facilitar a compreensão e organização dos dados. Dessa forma há um loop entre as tabelas CAMPOS_INTEGRACAO, DEPENDENCIAS e REGRAS, para que a cada informação registrada em CAMPOS_INTEGRACAO seja verificado se há a necessidade de criar registros nas demais tabelas.
Valores das variáveis
Todos os valores variáveis são escritos na linguagem do Integrador, utilizando do símbolo #, no início e final do nome da variável. E, ao configurar os SQLs de consulta, inserção e atualização o Integrador compila a string exatamente como uma string PHP, então, o valor pode estar dentro da string contendo ou não aspas duplas ou simples. Por exemplo, SELECT * FROM contas WHERE id = ‘#id#’.
Ordem das integrações
Ordem que são dispostas as integrações na tabela INTEGRACOES faz diferença, então devem ser colocadas em uma ordem lógica, conforme estrutura do Gestão de Relacionamento | CRM.
Ordem dos índices
Ordem dos índices da string JSON no campo CAMPO_CRM da tabela CAMPOS_INTEGRACAO não faz diferença, porém deve-se manter a estrutura lógica.
Cadastro de integrações
O nível de customização no cadastro das integrações é grande e os SQLs presentes na tabela INTEGRACOES colunas CONSULTA, SQL_CONSULTA, SQL_INSERT e SQL_UPDATE podem ser complexos e mais de um, se necessário, porém não é recomendado usar mais de um SQL no mesmo campo.
Nota
É possível executar integrações de diferentes tipos em dependência (GET + SET), porém é recomendado executar em dependência apenas integrações do mesmo tipo. Primeiramente é preciso configurar a conexão com o sistema a ser integrado, e em seguida configurar os módulos e os campos.
Tabelas
O Integrador possui uma estrutura de tabelas em banco de dados onde será possível cadastrar e configuraras integrações.
CONEXAO_INTEGRACAO
| Campo | Descrição | Valores possíveis |
|---|---|---|
| TIPO_CONEXAO | Classifica a forma de conexão da integração. |
|
| NOME_CONEXAO | Informa o nome da conexão salva no arquivo de conexões do cliente dentro dos arquivos do Integrador. Cada tipo de conexão tem um layout específico para configurar a conexão no arquivo. |
INTEGRACAO
| Campo | Descrição | Valores possíveis |
|---|---|---|
| NOME | Descrição da integração. Informação importante no caso da integração INFO, pois é o índice de retorno para se chegar nas informações integradas. | |
| TIPO_SERVICO | String que representa o tipo da integração a ser executada. | SET: envio dos valores para sistema terceiro. |
| EMPRESA_ID/EMPRESA_FILIAL_ID | Empresa a qual a integração está disponível. | |
| LINK | String que informa endereço para conexão da integração, o complemento para se chegar a um determinado serviço. | LINK WEB: complemento do endereço da conexão para um determinado serviço; PALAVRA CHAVE: sendo atualmente ‘componente’ a palavra-chave disponível, e ela informa que a integração é um componente ou um campo de uma outra integração. |
| TABELA | Tabela onde será executada a integração. | |
| CONSULTA | Texto JSON que deve representar a consulta dos dados feita no sistema Gestão de Relacionamento | CRM. | JSON-SQL: dentro da chave “consulta” pode ser escrito um texto SQL completo que será executado para busca. |
| CONEXAO_INTEGRACAO_ID | Identificador que referencia a informação da tabela CONEXAO_INTEGRACAO. | |
| PORTA_WS | Refere-se à porta para execução de um determinado serviço. Utilizado somente em integrações via web service. Essa informação pode ser encontrada na documentação do WSDL do sistema a ser integrado. | Pode conter valores NULOS. |
| INDICE_ARRAY_RETORNO | Representa a chave do array de retorno onde estão os dados de feedback da integração realizada. Esse valor deve constar na documentação do serviço. Caso a requisição seja via web service ou API e não tenha um índice padrão para o retorno de valores, pode-se usar a palavra reservada ‘parameters’ como indice_array_retorno; | Pode conter valores NULOS. |
| INDICE_VALOR_RETORNO | Índice que será pesquisado no array de retorno do envio de valor para o sistema terceiro, para realizar ações após sucesso na integração. Podem ser inseridos mais de um índice, basta que sejam separados por vírgula. | Pode conter valores NULOS. |
| INDICE_ERRO_RETORNO | São os índices que serão buscados os erros no array de retorno das buscas executadas pelo Integrador, ou seja, se esses índices forem encontrados com valor, o Integrador interpretará a busca como ‘com erro’. O campo pode conter vários índices separados por vírgula (não pode haver espaçamento entre os índices e a virgula). Somente o primeiro índice da lista será utilizado como validador geral, ou seja, se o primeiro índice não apresentar erros, os demais não serão contabilizados. | |
| SQL_CONSULTA | Campo não utilizado na integração SET. | |
| SQL_INSERT | Campo não utilizado na integração SET. | |
| SQL_UPDATE | SQL que será responsável por atualizar um registro no Gestão de Relacionamento | CRM quando o retorno da integração SET for positiva e trazer a informação do identificador do cadastro realizado no sistema terceiro. Não esqueça da dica 2. Para montar a query de atualização, é habilitado a injeção de valores, que contém todos os valores mapeados, da tabela CAMPOS_INTEGRACAO, do Gestão de Relacionamento | CRM, coluna CAMPO_CRM e o resultado da integração, ou seja os valores retornados da inserção do registro, que são informados na coluna INDICE_VALOR_RETORNO, que podem ser acessados conforme: #conta_id#: representa as colunas disponíveis na integração, campos do Gestão de Relacionamento | CRM consultados e que estão listados para a integração em execução; #codCli#: representa os valores cadastrados na coluna INDICE_VALOR_RETORNO que são os índices retornados da inserção do registro do sistema terceiro. Ex.: UPDATE oportunidades SET numero_pedido = #numPed# WHERE id = #id# | |
| DEPENDENTE | Informa que a integração atual depende da integração com o identificador informado e a mesma será executada antes. | O valor informado é o identificador da tabela INTEGRACOES. Pode conter valores NULOS. |
| DEPENDE_DE | Informa que o valor cadastrado é uma integração que depende da integração atual e a mesma será executada depois. | O valor informado é o identificador da tabela INTEGRACOES. Pode conter valores NULOS. |
| PARAMETROS_OBRIGATORIOS | Informa quais são os valores devem, obrigatoriamente, estar na URL da requisição da integração. Os parâmetros devem ser separados por vírgula e devem ser exatamente iguais aos parâmetros que serão passados pela URL. | Pode conter valores NULOS. |
Exemplo:
-
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 tabela: contas
-
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 - em integrações via web service o valor dessa coluna precisa ser identico ao valor do web service
-
Campo indice_valor_retorno: codCli - essa coluna só é usada em integrações SET
-
Campo indice_erro_retorno: erro,mensagemErro,erroExecucao
-
Campo sql_consulta: não utilizado
-
Campo sql_insert: não utilizado
-
Campo sql_update: UPDATE contas SET id_erp = #codCli# WHERE id = #contaId#
-
Campo dependente: 1 - a coluna “dependente” precisa ser o id de uma integração válida, ou seja, o id de um registro válido da tabela INTEGRACOES
-
Campo depende_de: 1 - a coluna “depende_de” precisa ser o id de uma integração válida, ou seja, o id de um registro válido da tabela INTEGRACOES
-
Campo parametros_obrigatorios: empresaIdErp,filialIdErp,contaId - em caso de multiplos parâmetros eles devem ser separados por virgula sem espaçamento
CAMPOS_INTEGRACAO
| Campo | Descrição | Valores possíveis |
|---|---|---|
| INTEGRACAO_ID | Identificador que referência a informação da tabela INTEGRACOES. | |
| CAMPO_CRM | Representação do campo interno do Gestão de Relacionamento | CRM, pode somente ser preenchido no formato JSON, nele deve conter a referência a tabela (INDICE) e a coluna (ATRIBUTO) nesses casos diz que há somente um nível de profundidade, ex.: ‘{“indice”:”contas”,”atributo”:”razao_social”}’. Também há casos onde é necessário mais níveis para se chegar a um determinado valor, apresenta junções de tabelas (JOIN), onde o valor é originado em outra tabela, referência a tabela (INDICE) e a coluna (ALIAS) onde se busca a informação, e a tabela (INDICE) e coluna (ATRIBUTO) originais, e pode conter N níveis, ex.: ‘{“indice”:”contas”,”atributo”:{ ”alias”:”prazo_pagamento_id”,“indice”:”prazo_pagamento”,”atributo”:”id”}}’. Em casos como esse, onde há dois níveis, entende-se que há uma dependência a ser informada, ou seja, é preciso vincular a regra CONSULTAR DEPENDENCIA na coluna REGRA_ID e cadastra uma dependência na tabela DEPENDENCIA. Nos casos em que há somente um nível pode-se cadastrar registros onde o ATRIBUTO é uma palavra-chave ou variáveis de palavras reservadas ou das informações gravadas como valores globais na coluna VALOR_GLOBAL da tabela CAMPOS_INTEGRACAO, sendo: | IGNORE: ignora esse campo ao executar a ação de salvar ou exportar; COMPONENTE: carrega um componente de integração, desde que tenha o mesmo no usado na coluna NOME_COMPONENTE; VALOR FIXO: informa que a string a seguir é um valor fixo. Nesse caso é necessário informar a regra ADICIONAR VALOR FIXO na coluna REGRA_ID. No caso da adição de valor fixo é possível adicionar variáveis para serem substituídas por seus respectivos valores durante o processamento do campo. Estão disponíveis palavras reservadas (dataAtual, dataHoraAtual, etc) e valores da integração que estiverem informados como valores globais, para isso a variável deve estar entre # (#dataAtual#, #dataHoraAtual#, #etc#). Exemplos:
|
| CAMPO_ERP | Representação do campo externo do Gestão de Relacionamento | CRM (sistema terceiro), pode somente ser preenchido no formato JSON nele deve conter a referência a tabela (INDICE) e a coluna (ATRIBUTO) nesses casos diz que há somente um nível de profundidade, ex.: ‘{“indice”:”cliente”,”atributo”:”nomCli”}’. Também há casos onde é necessário mais níveis para se chegar a um determinado valor, apresenta junções de tabelas/informações (JOIN), onde o valor é originado em outra tabela/nível do array, referência a tabela/índice (INDICE) e o outro nível do array (INDICE) e o valor procurado (ATRIBUTO), e pode conter N níveis, ex.: ‘{“indice”:”contas”,”atributo”:{“indice”:”historico”,”atributo”:”codCpg”}}’. | |
| REGRA_ID | Identificador que referência a informação da tabela REGRAS. | |
| VALOR_GLOBAL | Booleano que permite o campo, se informado como true/1¸ salvar o valor e o nome do campo em um escopo global para que o mesmo possa ser acessado de qualquer outra integração, campo ou regra. | |
| USE_INSERT | Campo não utilizado na integração SET. | |
| USE_UPDATE | Campo não utilizado na integração SET. | |
| PARAMETROS_ADICIONAIS | Usado para passar diversos parâmetros para uma determinada regra durante o processamento do campo. Deve ser cadastrado somente strings no formato JSON. Ex.: {“data_format_erp”:“Y-m-d”}; | Pode conter valores NULOS. |
Exemplo:
- 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
DEPENDENCIAS
| Campo | Descrição | Valores possíveis |
|---|---|---|
| INTEGRACAO_ID | Identificador que referência a informação da tabela INTEGRACOES. | |
| TABELA | Tabela/view onde será buscada as informações para que os registros sejam comparados ao consultar as dependências durante o processamento dos campos. | |
| COLUNAS_BUSCAR | Nome da coluna da tabela informada anteriormente que contém o valor desejado. Pode ser informado mais de um campo, basta serem separados por vírgula. | |
| COLUNA_COMPARAR | Coluna que contém o valor que será comparado com o retorno da consulta ao sistema terceiro. Tem seu funcionamento parecido com a clausula ON presente no JOIN de uma query. | |
| VALOR_DEFAULT | Valor que é informado, para em casos não seja encontrado um registro com o valor informado na coluna COLUNA_COMPARAR, ele é inserido, para que o campo não seja vazio. O valor informado necessariamente tem que ser um identificador válido na tabela informada na coluna TABELA. | Pode conter valores NULOS. |
| EMPRESA_FILIAL_ID | Identificador que referência a informação da tabela EMPRESA_FILIAL. Separa as dependências por empresa e filial permitindo valores diferentes conforme necessidade da filial. Essa informação é somente utilizada quando a base do cliente for para múltiplas empresas. |
Exemplo:
- 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
REGRAS
| Campo | Descrição | Valores possíveis |
|---|---|---|
| NOME | Informa um descritivo da regra, o nome para identificar a regra. | |
| TIPO_METODO | Responsável por informar ao Integrador como a regra é executada. | 0: executa uma função, somente chama o método passado por parâmetro na coluna METODO; 1: realiza a consulta de uma dependência, o método fixo, retornando o valor conforme configurado para. Caso tenha sido informado um método na coluna METODO, o mesmo é executado após a consulta da dependência; 2: adiciona um valor fixo, a regra interpreta o valor informado da coluna CAMPO_ERP, da tabela CAMPOS_INTEGRACAO, como sendo um valor de fato, não como uma chave da consulta. Caso tenha sido informado um método na coluna METODO, o mesmo é executado após o retorno do valor fixo; 4: carrega um componente, adiciona os valores a uma variável interna do Integrador para que o Integrador interprete o componente como uma integração, com suas particularidades, e quando o componente terminar sua execução, retorna os valores formatados para a integração principal; |
| METODO | Método ou função que será executada quando ocorrer uma chamada à regra. O método pode ser: SQL: uma consulta com alguma condição que retorna o valor desejado; ASSINATURA DE MÉTODO: uma chave que represente um método presente nos arquivos de regras do Integrador, regras gerais ou especifica de um cliente; NULL: pode conter valores NULOS. |
Exemplo:
- Campo id: 26
- Campo nome: Carregar/Preparar Componente
- Campo tipo_metodo: 4
- Campo metodo: null
English
Español

English
Español

