Integração Plataforma Simplifica+

Modificado em Tue, 04 Oct 2022 na (o) 09:31 AM

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:

#TIPO INTEGRACAO: ADAPCON_FINANCEIRO
#TIPO INTEGRACAO: ADAPCON_ENTIDADE

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:

SELECT 
 CAST(REPLACE(REPLACE(REPLACE(cliente.CD_CGCCPF,'.',''),'-',''),'/','') AS VARCHAR) as 'CNPJ_CLIENTE',
 CAST(cliente.CD_CLIENTE AS VARCHAR) as 'CODIGO_CLIENTE',
 CAST(pessoa.DN_RAZAO AS VARCHAR) AS 'RAZAO_SOCIAL',
 CAST(pessoa.CD_EMAIL AS VARCHAR(200)) as 'EMAIL',
 ' '  AS 'EMAIL_REPRESENTANTE',
 CAST(ISNULL(cobranca.CD_EMAIL,cliente.DE_EMAIL_NFE) AS VARCHAR(200)) AS 'EMAIL_COBRANCA',
 CAST(muncli.DN_MUNICIPIO AS VARCHAR) AS 'CIDADE',
 CAST(muncli.CD_UF AS VARCHAR) AS 'ESTADO',
 CAST(REPLACE(REPLACE(REPLACE(pessoa.CD_FONE,')',''),'(',''),'-','') AS VARCHAR) as 'TELEFONE',
 '' AS 'TELEFONE2',
 '' AS 'TELEFONE3',
 '' AS 'CNPJ_REPRESENTANTE',
 '' AS 'EMAIL_GESTOR',
 CAST('0' AS BIT) AS 'ENVIA_NOTIFICACAO'
 

FROM ge023 cliente 

LEFT JOIN GE010 pessoa   ON (cliente.CD_CGCCPF = pessoa.CD_CGCCPF)
LEFT JOIN GE013 muncli   ON (pessoa.cd_municipio = muncli.CD_MUNICIPIO)
LEFT JOIN GE034 cobranca ON (cliente.CD_CGCCPF = cobranca.CD_CGCCPF  AND cobranca.TP_CONTATO = 'C' AND cobranca.DE_DEPTO = 'COBRANCA')

WHERE 

pessoa.TP_PESSOA = 'J'

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 <> ''
  

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo