Páginas filhas
  • Integração via Web Service de Clientes - Logix

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Linha de Produto:

Logix.

Segmento:

Manufatura.

Módulo:

Vendas e Distribuição.

Função:

VDPR0007 - VDP90430 - VDP90076.

Situação/Requisito:

Permitir que seja realizado no Logix o cadastro de clientes via rotinas externas.

Solução/Implementação:

Desenvolvido rotinas Web Service (API REST) para que seja possível realizar a inclusão de um cliente por rotinas externas ao Logix de acordo com regras e padrões Totvs.

Detalhamento:
Contexto de negócio

Com o desenvolvimento de Web Service para cadastro de Clientes do Logix, é possível a utilização dessas funcionalidades/serviços em uma variada gama de aplicações, como por exemplo páginas WEB, aplicativos mobile, Fluig e outros sistemas que suportam requisições HTTP com protocolo REST.

Sistemas Envolvidos

ERP Logix - Cadastro de clientes.

Escopo

Desenvolvido Web Services (WS) no sistema REST para a funcionalidade de inclusão de clientes.

Para mais informações sobre o sistema REST na TOTVS, consulte o link: *REST ADVPL.*

Pré-requisitos instalação/implantação/utilização

Logix versão 12 com pacote mínimo 12.1.21.
Server TOTVS TEC configurado com serviço REST. Para mais informações verifique: *01. Configuração.*
Liberar no Firewall a porta configurada no server TOTVS TEC para o serviço REST.

Web Services

1 - Inclusão de Cliente

Objetivo: Incluir cadastro de um cliente.

Operação: POST

Exemplo da URL: http://SERVER:PORT/logixrest/vdpr0007/incluiCliente

Parâmetros de entrada (Tipo: PayLoad):
Dados mestre


_clientesclientes            codrota            clientescodrota                     clientes            codpraca           clientes.cod_praca                    clientes            codlocal           clientes.cod_consig                   
ChaveParâmetroDefiniçãoObservação
lr_principal cod_empresa empresa empresa.cod_empresa ObrigatórioObrigatório
lr_principal usuariousuarios.cod_usuarioObrigatório
lr_mestrecodigo                    clientes cod_cliente clientes.cod_clientecliente                 Se Se não for informado, será o CNPJ/CPF sem formatação
lr_clientesmestre nom_cliente clientes.nom_cliente Obrigatório
lr_clientes            nom_reduzido        clientes.nom_reduzido                 Aceita branco
lr_clientes            cod_cep             clientes.cod_cep                      Aceita branco
nome                      vdp_cli_fornec_cpl.razao_social     Obrigatório
lr_mestrenome_reduzido             vdp_cli_fornec_cpl.razao_social_reduzlr_clientes            num_caixa_postal    clientes.num_caixa_postal             Aceita branco
lr_clientes           mestre numnome_telex          contato               clientesclientes.numnom_telex                    contato                Aceita branco
lr_clientes           mestre den_bairro         situacao                   clientesclientes.denies_bairro                   situacao               Aceita brancoObrigatório
lr_clientes           mestre codtipo_cidade         cliente               clientesclientes.cod_tip_cidade                   cli                Aceita brancoObrigatório
lr_clientes           mestre nomfrete_contato        posto                clientesclientes.nomden_frete_contato                  posto            Aceita branco
lr_clientes           mestre ies_situacao       classe                     clientesclientes.ies_situacao                  Obrigatóriolr_clientes            num_cgc_cpf         clientes.num_cgc_cpf                  cod_class                  Aceita branco
lr_clientes           mestre codcliente_tip_cli        matriz             clientesclientes.cod_tipcliente_cli                  matriz          ObrigatórioAceita branco
lr_clientes           mestre dendata_frete_posto    fundacao              clientesclientes.dendat_frete_posto              fundacao               Aceita branco, formato 'YYYY-MM-DD' - Y = ano, M=mês e D = Dia
lr_clientes           mestre coddescricao_class          marca            clientesclientes.codden_class                    marca                  Aceita branco
lr_clientes            cod_cliente_matriz mestreportador                  clientes clientes.cod_cliente_matriz           portador               Aceita branco
lr_clientes           mestre dattipo_fundacao       portador              clientesclientes.daties_tip_fundacao                 portador           Aceita branco
lr_clientes           mestre dencliente_marca           clientes.den_marca                    terceiro          CHAR(01)                          Aceita branco
lr_clientes           mestre datidentificador_cadastro       estrangeiro  clientes.dat_cadastro                  Obrigatório
lr_clientes            dat_atualiz         clientes.dat_atualiz                   Obrigatório
vdp_cli_fornec_cpl.iden_estrangeiro Aceita branco
lr_mestreconsignatario             clientes.cod_consig                  lr_clientes            cod_portador        clientes.cod_portador                 Aceita branco
lr_info_clientes           fiscal iescnpj_tip_portador   cpf           clientesclientes.iesnum_tipcgc_portador             cpfAceita brancoObrigatório
lr_info_fiscalinscricao_estadualclientes.ins_estadualAceita branco
lr_info_fiscalins_municipal     CHAR(20)Aceita branco
lr_info_fiscalmicro_ clientes.cod_local                     Obrigatóriolr_clientes            cod_consig         empresa     CHAR(01)Aceita branco
lr_info_fiscaldata_micro_empresaDATEAceita branco
lr_info_clientes           fiscal ies_zona_franca    franca        clientesclientes.ies_zona_franca               ObrigatóriofrancaObrigatório, 'S' para sim e 'N' para não
lr_clientes           info_fiscal numnumero_suframa        suframa     clientesclientes.num_suframa                  suframaAceita branco, obrigatório se zona_franca = 'S'.
lr_info_clientes           fiscal insvalidade_estadual       suframa  DATE clientes.ins_estadual                 Aceita branco
lr_clientes            num_telefone        clientes.num_telefone                 Aceita branco
lr_clientes            num_fax             clientes.num_fax                      Aceita branco
lr_vdp_cli_parametro   micro_empresa       CHAR(01)                              Aceita branco
lr_vdp_cli_parametro   data_micro_empresa  DATE                                  Aceita branco
, obrigatório se zona_franca = 'S'.
lr_info_fiscalcprb              vdp_cli_fornec_cpl.ind_cprbAceita branco, 'S' para sim e 'N' para não
lr_info_fiscaltipo_servico      vdp_cli_fornec_cpl.tipo_servicolr_vdp_cli_parametro   validade_suframa    DATE                                  Aceita branco
lr_vdpinfo_cli_parametro  fiscal clienteinovar_terceiro   auto        CHARCHAR(01)                               Aceita branco, 'S' para sim e 'N' para não
lr_vdp_cli_parametro   habilit_inovar_aut  CHAR(01)                              contatocaixa_postalclientes.num_caixa_postalAceita branco
lr_vdp_cli_parametro   ddi                contatotelex       clientes.num_telex CHAR(03)                              Aceita branco
lr_vdp_cli_parametro   ddd                contatoddi         CHAR CHAR(03)                              Aceita branco
lr_vdp_cli_parametro   telefone           contatoddd         CHAR(03) CHAR(09)                              Aceita branco
lr_vdp_cli_parametro   ins_municipal       CHAR(20)                              contatotelefone    clientes.num_telefoneAceita branco
lr_vdp_cli_fornec_cpl  razao_social       contatofax         clientes.num_fax vdp_cli_fornec_cpl.razao_social       Aceita branco
lr_vdp_cli_fornec_cpl  razao_social_reduz enderecotipo_logradouro     vdp vdp_cli_fornec_cpl.razaotip_social_reduz logradouro Aceita branco
lr_vdp_cli_fornec_cpl  bairro             enderecologradouro          vdp vdp_cli_fornec_cpl.bairro             logradouro     Aceita brancoObrigatório
lr_vdp_cli_fornec_cpl  telefone_1         endereconumero_identificacaovdp vdp_cli_fornec_cpl.telefonenum_iden_1         logradAceita brancoObrigatório
lr_vdp_cli_fornec_cpl  compl_endereco     enderecocomplemento         vdp vdp_cli_fornec_cpl.compl_endereco     endereco Aceita branco
lr_vdp_cli_fornec_cpl enderecocep                 clientes.cod_cep                  Obrigatório
lr_enderecobairro              clientes.den_bairro                tip_logradouro      vdp_cli_fornec_cpl.tip_logradouro     Aceita branco
lr_vdp_cli_fornec_cpl  logradouro          vdp_cli_fornec_cpl.logradouro          Obrigatório
lr_vdp_cli_fornec_cpl  num_iden_lograd     vdp_cli_fornec_cpl.num_iden_lograd     Obrigatório
enderecocidade_ibge         obf_cidade_ibge.cidade_ibge        Obrigatório
lr_localidaderota      clientes.cod_rota           Aceita branco
lr_localidadepraca     clientes.cod_praca          lr_vdp_cli_fornec_cpl  iden_estrangeiro    vdp_cli_fornec_cpl.iden_estrangeiro   Aceita branco
lr_cli_dist_geog      localidadelocal     clientes.cod_local          Obrigatório
lr_localidademercado   cli cod_mercado         cli_dist_geog.cod_mercado             mercado   Aceita branco
lr_cli_dist_geog       cod_continente     localidadecontinentecli cli_dist_geog.cod_continente          continenteAceita branco
lr_cli_dist_geog       cod_regiao         localidaderegiao    cli cli_dist_geog.cod_regiao              regiao     Aceita branco
lr_cli_canal_venda    venda cod_nivel_1         clicli_canal_venda.cod_nivel_1           Aceita branco
lr_cli_canal_venda    venda cod_nivel_2         clicli_canal_venda.cod_nivel_2           Aceita branco
lr_cli_canal_venda    venda cod_nivel_3         clicli_canal_venda.cod_nivel_3           Aceita branco
lr_cli_canal_venda    venda cod_nivel_4         clicli_canal_venda.cod_nivel_4           Aceita branco
lr_cli_canal_venda    venda cod_nivel_5         clicli_canal_venda.cod_nivel_5           Aceita branco
lr_cli_canal_venda    venda cod_nivel_6         clicli_canal_venda.cod_nivel_6           Aceita branco
lr_cli_canal_venda    venda cod_nivel_7         clicli_canal_venda.cod_nivel_7           Aceita branco
lr_cli_canal_venda    venda iesies_nivel          nivel clicli_canal_venda.ies_nivel              Obrigatório(S ou N)
lr_cli_canal_venda     cod_tip_carteira   vendacarteiracli cli_canal_venda.cod_tip_carteira       Obrigatório


Exemplo de JSON enviado como parâmetro de entrada:

{

       "lr_principal": {

                    "cod_empresa": "50",

            "usuario": "admlog"

                },

       "lr_clientesmestre": {

                    "cod_clientecodigo": "",       

            "nom_clientenome": " TESTE NOVO TESTE CLIENTE V2 CATINI",       

            "nomnome_reduzido": " TESTE NOVO TESTE CLIENTE V2 CATINI",

                    "codnome_cepcontato": "89247000",        "num_

caixa_postal            "situacao": "A",

                    "numtipo_telexcliente": "01",

                    "denfrete_bairroposto": "Profipeiro",       

            "cod_cidadeclasse": "42091021",

                    "nomcliente_contatomatriz": "CATINI",       

            "iesdata_situacaofundacao": "A",        "num_cgc_cpf": "042.782.806/0001-292018-01-01",

                    "coddescricao_tip_climarca": "99CATINI'S CORP",        "den_

frete_posto            "portador": "1",

                    "codtipo_classportador": "1B",

                    "cod_cliente_matrizterceiro": "CATININ",

                    "datidentificador_fundacaoestrangeiro": "2018-06-05",

                    "den_marcaconsignatario": ""

            },

           "datlr_info_cadastrofiscal": "2018-06-05",

        "dat_atualiz": "2018-06-05",

        "cod_portador": "1",

        "ies_tip_portador": "B",

        "cod_rota": "288",

        "cod_praca": "288",

        "cod_local": "288",

        "cod_consig": "1",

{

            "cnpj_cpf": "021.033.831/0001-30",

            "inscricao_estadual": "ISENTO",

            "ins_municipal": "",

            "micro_empresa": "S",

            "data_micro_empresa": "2018-01-01",

            "        "ies_zona_franca": "N",

                    "numnumero_suframa": "",       

            "insvalidade_estadualsuframa": "ISENTO",

                    "num_telefonecprb": "47 997307274N",       

            "numtipo_faxservico": ""    },

                "lr_vdp_cli_parametro": {        "micro_empresa"inovar_auto": "N",        "data_micro_empresa": ""

            },

           "validadelr_suframacontato": "",{

                    "clientecaixa_terceiropostal": "",        "habilit

_inovar_aut            "telex": "",

                    "ddi": "",

                    "ddd": "",       

            "telefone": "(47)9.9730-7274",

                    "ins_municipalfax": ""

                },

       "lr_vdp_cli_fornec_cplendereco": {

                    "razaotipo_sociallogradouro": "NOVO TESTE CATINIRUA",        "razao_social_reduz

            "logradouro": "NOVO TESTE CATINISão Paulo",

                    "bairronumero_identificacao": "BAIRRO DIFF3712",

                    "telefone_1complemento": "",       

            "compl_enderecocep": "89247-000",

                    "tip_logradourobairro": "Petrópolis",       

            "logradourocidade_ibge": "RUA SAMPA4209102"

            },

           "numlr_iden_logradlocalidade": "3712",        "iden_estrangeiro{

            "rota": "288",

                    "ind_cprbpraca": "288",      

 "tipo_servico            "local": "288"    },

    "lr_cli_dist_geog": {

        "cod_            "mercado": "01",

                    "cod_continente": "1",       

            "cod_regiao": "1"

                },

       "lr_cli_canal_venda": {

                    "cod_nivel_1": "",       

            "cod_nivel_2": "",       

            "cod_nivel_3": "",       

            "cod_nivel_4": "",       

            "cod_nivel_5": "",       

            "cod_nivel_6": "",       

            "cod_nivel_7": "",

                    "ies_nivel": "N0",

                    "cod_tip_carteira": "10"

                }

}

Parâmetros de saída:
Chave  Parâmetro        Parâmetro  Definição             Observação
status                              SMALLINT              TRUE (processou) / FALSE (não processou)
msg                                 CHAR(200)             Retorna msg fixa caso ocorra algum erro.
data                                RECORD               
        cliente                     clientes.cod_cliente  Retorna o código do cliente incluso ou branco/nulo quando ocorreu erro.
        count_mensagens             SMALLINT              Quantidade de mensagens de retorno
        mensagens                   RECORD ARRAY          N/C
                         texto      CHAR(2000)            Retorna a mensagem de erro, quando ocorre.