Resumo
Este artigo tem como finalidade orientar para a realização da integração com o a API Simplifica.
GEM207 - Cadastro de Integrações Simplifica
A plataforma Simplifica+ é um sistema onde tem como finalidade o alcance para os clientes que desejam informações sobre documentos referentes a suas compras com uma determinada empresa, assim como Nota Fiscais Eletronicas, segunda via de boletos bancários entre outros serviços.
Para que seja possivel nosso programa realizar a integração com esse metodo, foi necessário realizar a criação da rotina GEM207.
Nesta primeira aba é realizado o cadastro do Comando SQL, que tem como objetivo realizar a busca no bancos de dados e organiza-los conforme a necessidade, deste modo, é possivel realizar varios cadastros, onde em cada comando registrado retorna o resultado com os dados desejados.
Segue a tela de cadastro do comando:

Estes comandos devem ser montados seguindo o manual de integração fornecido pela Simplifica.
Na aba Visualizar Dados ao clicar em Atualizar é possivel visualizar o retorno dos dados consultados atráves do Comando SQL cadastrados na aba anterior. As informações virão listadas e separados por colunas, conforme for cadastrado no comando.

O intuito da criação dessa rotina, é facilitar o dia a dia de consultas rotineiras, visando facilitar a comunicação do nosso cliente com o cliente externo em relação a pedido de informações sobre notas fiscais, titulos pendentes/vencidos entre outros, enviando as informaçôes para a plataforma Simplifica.
Para a configuração do campo TIPO DE INTEGRAÇÃO, conforme o que vc deseja enviar para a integração, deve ser configurado no GEM207.CFG. Este campo é o nome da ENTIDADE que vai receber os dados na integração e deve ser igual ao manual de integração.
O manual de integração pode ser encontrado no endereço abaixo:
https://www.notion.so/Mapa-de-Dados-aef5acca86d14b1680d3693329f54a39
Como exemplo de configuração, temos abaixo:
E conforme o manual de integração:
Entidade: relação de clientes.
Financeiro: relação de títulos em aberto.
Abaixo, estão exemplo de comandos SQL montados para extrair a informação do SGE para as duas integrações mencionadas:
ADAPCON_ENTIDADE:
ADAPCON_FINANCEIRO:
SELECT
CAST(REPLACE(REPLACE(REPLACE(filial.CD_CGCCPF,'.',''),'-',''),'/','') AS VARCHAR) as 'CNPJ_EMPRESA',
CAST(titulos.CD_FILIAL AS VARCHAR) as 'CODIGO_EMPRESA',
RTRIM(filial.DN_ENDERECO) + ' ' + RTRIM(filial.dn_bairro) + ' - ' + RTRIM(munfil.DN_MUNICIPIO) + '/' + RTRIM(munfil.CD_UF) + ' ' + RTRIM(CAST(filial.CD_CEP AS VARCHAR)) AS 'ENDERECO_EMPRESA',
CAST(filial.DN_RAZAO AS VARCHAR) AS 'RAZAO_SOCIAL_EMPRESA',
CAST(REPLACE(REPLACE(REPLACE(ISNULL(relacionaEnderecoNF.CD_CGCCPF,ISNULL(relacionaEndereco.CD_CGCCPF,pessoa.CD_CGCCPF)),'.',''),'-',''),'/','') AS VARCHAR) as 'CNPJ_CLIENTE',
CAST(titulos.CD_CLIENTE AS VARCHAR) AS 'CODIGO_CLIENTE',
CAST(pessoa.DN_RAZAO AS VARCHAR) as 'RAZAO_SOCIAL_CLIENTE',
RTRIM(pessoa.DN_ENDERECO) + ', ' + RTRIM(CAST(pessoa.NR_ENDERECO AS VARCHAR)) + ' ' + RTRIM(pessoa.dn_bairro) + ' - ' + RTRIM(muncli.DN_MUNICIPIO) + '/' + RTRIM(muncli.CD_UF) + ' ' + RTRIM(CAST(pessoa.CD_CEP AS VARCHAR)) AS 'ENDERECO_CLIENTE',
'SEM AINDA' AS 'ENDERECO_CLIENTE2',
CAST(titulos.NR_TITULO as varchar) AS 'NUMERO_DOCUMENTO',
CAST(titulos.CD_SERIE as varchar) as 'PARCELA',
CAST(titulos.DT_EMISSAO AS DATE) as 'DATA_EMISSAO',
CAST(titulos.DT_VENCIMENTO AS DATE) as 'DATA_VENCIMENTO',
RTRIM(LTRIM(conta.CD_AGENCIA)) as 'AGENCIA',
RTRIM(LTRIM(conta.DG_AGENCIA)) as 'AGENCIA_DV',
RTRIM(LTRIM(conta.CD_CONTA_CORR)) AS 'CONTA',
RTRIM(LTRIM(conta.DG_CONTA_CORR)) as 'CONTA_DV',
RTRIM(LTRIM(extconta.NR_CONVENIO)) AS 'CODIGO_BENEFICIARIO',
RTRIM(LTRIM(extconta.CD_CARTEIRA)) AS 'CARTEIRA',
RTRIM(LTRIM(titulos.NR_BANCO)) AS 'NUMERO_BANCARIO',
RTRIM(LTRIM(titulos.DG_NR_BANCO)) as 'NUMERO_BANCARIO_DV',
CAST(conta.CD_BANCO AS VARCHAR) as 'CODIGO_PORTADOR',
CAST(conta.DN_FANTASIA AS VARCHAR) as 'PORTADOR',
CAST(banco.CD_NAC_BANCO AS VARCHAR) as 'CODIGO_BACEN',
CAST(ISNULL(titulos.VL_TITULO - titulos.VL_PAGO,0) as float) as 'VALOR',
CAST(titulos.VL_TITULO as float) as 'VALOR_ORIGINAL',
CAST(0 AS FLOAT) as 'DESCONTO',
CAST(nfchave.CD_CHAVE AS VARCHAR) as 'CHAVE_NF',
CAST(titulos.NR_NOTA_FISCAL AS VARCHAR) as 'NUMERO_NF',
CAST(0 AS FLOAT) AS 'VALOR_MULTA',
CAST(0 AS FLOAT) AS 'VALOR_JUROS',
CAST(0 AS FLOAT) AS 'PERCENTUAL_MULTA',
CAST(0 AS FLOAT) AS 'PERCENTUAL_JUROS',
'' AS 'INSTRUCOES_BOLETO',
'' AS 'URL_PIX'
FROM GE067 titulos
LEFT JOIN GE023 cliente ON (titulos.CD_CLIENTE = cliente.CD_CLIENTE)
LEFT JOIN GE010 pessoa ON (cliente.CD_CGCCPF = pessoa.CD_CGCCPF)
LEFT JOIN NE1106 nfchave ON (titulos.CD_FILIAL = nfchave.CD_FILIAL AND titulos.NR_NOTA_FISCAL = nfchave.NR_NOTA_FISCAL AND titulos.CD_SERIE_NF = nfchave.CD_SERIE AND titulos.CD_ESPECIE_NF = nfchave.CD_ESPECIE)
LEFT JOIN GE052 conta ON (titulos.CD_FILIAL = conta.CD_FILIAL and titulos.CD_CONTA_COR = conta.CD_CONTA_RED)
LEFT JOIN GE018 filial ON (titulos.CD_FILIAL = filial.CD_FILIAL)
LEFT JOIN GE061 clienteFilial ON (titulos.CD_FILIAL = clienteFilial.CD_FILIAL AND titulos.CD_CLIENTE = clienteFilial.CD_CLIENTE)
LEFT JOIN GE077 relacionaEndereco ON (clienteFilial.CD_FILIAL = relacionaEndereco.CD_FILIAL AND clienteFilial.CD_CLIENTE = relacionaEndereco.CD_EMPRESA AND clienteFilial.CD_ENDERECO_COB = relacionaEndereco.CD_ENDERECO_RED)
LEFT JOIN FT117 notaFiscal ON (titulos.CD_FILIAL = notaFiscal.CD_FILIAL AND titulos.CD_SERIE_NF = notaFiscal.CD_SERIE AND titulos.CD_ESPECIE_NF = notaFiscal.CD_ESPECIE AND titulos.NR_NOTA_FISCAL = notaFiscal.NR_NOTA_FISCAL)
LEFT JOIN GE077 relacionaEnderecoNF ON (notaFiscal.CD_FILIAL = relacionaEnderecoNF.CD_FILIAL AND relacionaEnderecoNF.TP_ENDERECO = 'C' AND notaFiscal.CD_ENDERECO_COB = relacionaEnderecoNF.CD_ENDERECO_RED)
LEFT JOIN AD204 extconta ON (titulos.CD_FILIAL = extconta.CD_FILIAL AND titulos.CD_CONTA_COR = extconta.cd_conta_red AND extconta.TP_ESCRITURAL = 'C')
LEFT JOIN GE059 banco ON (conta.CD_BANCO = banco.CD_BANCO)
LEFT JOIN GE013 munfil ON (filial.cd_municipio = munfil.CD_MUNICIPIO)
LEFT JOIN GE013 muncli ON (pessoa.cd_municipio = muncli.CD_MUNICIPIO)
WHERE
titulos.CD_TP_TITULO = 8
AND (titulos.CD_FILIAL = 1 OR titulos.CD_FILIAL = 2)
AND titulos.VL_PAGO < titulos.VL_TITULO
AND titulos.NR_BANCO <> ''