Páginas filhas
  • 7 - Campos customizados

Introdução

Foi liberada a funcionalidade de campos dinâmicos na integração entre Protheus e CRM, possibilitando parametrizar os campos customizados entre os sistemas sem precisar customizar os diagramas do iPaaS.

Isso facilita a manutenção e agiliza o processo de implantação dos nossos clientes, abaixo explicaremos o funcionamento com exemplos práticos.


7.1 - Definição das variáveis

Existem dois tipos de variáveis na integração entre Protheus e CRM: totvscrmexportation* e totvscrmimportation*

Abaixo a tabela explicando:

VariávelTipoExplicação
totvscrmimportationcustomercustomfieldsImportaçãovariável que contém os campos customizados a serem importados para o cadastro de cliente do CRM
totvscrmexportationcustomercustomfieldsExportaçãovariável que contém os campos customizados a serem exportados para o cadastro de cliente do Protheus
totvscrmimportationproductcustomfieldsImportaçãovariável que contém os campos customizados a serem importados para o cadastro de produto do CRM
totvscrmexportationorderitemcustomfieldsExportaçãovariável que contém os campos customizados dos itens do pedido a ser exportados para o cadastro de cliente do Protheus
totvscrmexportationorderheadercustomfieldsExportaçãovariável que contém os campos customizados do cabeçalho do pedido a ser exportados para o cadastro de cliente do Protheus
totvscrmimportationstockwarehouseexcludesImportação8 - Estoques por Armazéns
totvscrmimportationsharinglevelImportação9 - Parâmetro de Nível de compartilhamento de filiais do Protheus
totvscrmtenantidImportação/exportaçãoEmpresa/filial caso o cliente não tenha um ambiente REST específico para o TOTVS CRM.


7.2 - Localização das variáveis

Após você publicar pacote, você deverá criá-las no componente Data Storage, como mostram as imagens abaixo:


7.3 - Definição/esqueleto do modelo

Caso você tenha campos customizados ou fixos que queria exportar/importar ao Protheus, basta configurar um simples JSON respeitando as seguintes propriedades:

[
    {
        "CRM": "_nomeMae",
        "DEFAULT": "Não informado",
        "ERP": "A1_NOMEMAE",
        "HUB": "extraText1",
        "SIZE": "100",
        "TYPE": "string"
    }
]


Caso você tenha mais de um campo customizado basta adicionar mais uma propriedade no JSON:

[
    {
        "CRM": "_nomeMae",
        "DEFAULT": "Não informado",
        "ERP": "A1_NOMEMAE",
        "HUB": "extraText1",
        "SIZE": "100",
        "TYPE": "string"
    },
    {
        "CRM": "_nomePai",
        "DEFAULT": "Não informado",
        "ERP": "A1_NOMEPAI",
        "HUB": "extraText2",
        "SIZE": "100",
        "TYPE": "string"
    }
]


7.4 - Explicação das propriedades

As definições de cada propriedade são:

CRM: é o campo standard ou customizado do CRM

HUB: é o de/para do campo do CRM que será inserido no HUB

ERP: é o campo que será inserido no Protheus

TYPE: valores possíveis: boolean, string, integer, numeric e option-list

SIZE: tamanho do campo (somente para string, do contrário deixe 100)

DEFAULT: valor padrão caso o campo venha null ou vazio, coloque o valor padrão no respectivo tipo do campo, exemplo: boolean: false | string: "Nao informado" | integer: 0 | number : 0

Importante: para campos do tipo option-list é removido o caractere _ (underline) do nome da tag, isso foi um pedido do time de serviços, pois o CRM não permite adicionar valor numérico em um campo de lista de opções. Exemplo: _00152, caso o valor da lista for esse, é deixado somente 00152 para envio ao Protheus.


7.5 - Cenários atendidos

Essa entrega atende os seguintes cenários:

    • Ler qualquer campo das mensagens de cliente e produto vindo do Protheus e importar para o CRM;
    • Ler qualquer campo de cliente e pedido e exportar para o Protheus;
    • Manipulação dos campos vindo na tag AddFields, entrega do Protheus do parâmetro MV_EAIFLDS (Integração - Processamento de campos sem tag e/ou customizados)

7.6 - Exemplos práticos

Abaixo está um exemplo completo com todas as propriedades e tipos de cada entidade:


Ordem de Venda (cabeçalho)Ordem de Venda (items)ClienteProduto
IMPORTAÇÃONão PossuiiNão Possui
[
    {
        "CRM": "_codigobacen",
        "DEFAULT": "000999",
        "ERP": "Content.AddFields.A1_CODBACEN",
        "HUB": "extraText6",
        "SIZE": "100",
        "TYPE": "option-list"
    },
    {
        "CRM": "_quantidadedefilhos",
        "DEFAULT": 0,
        "ERP": "Content.QuantidadeFilhos",
        "HUB": "extraNumber1",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_nome",
        "DEFAULT": "SEM NOME",
        "ERP": "Content.Nome",
        "HUB": "extraText1",
        "SIZE": "100",
        "TYPE": "string"
    },
    {
        "CRM": "_pagaimposto",
        "DEFAULT": false,
        "ERP": "Content.PagaImposto",
        "HUB": "extraBoolean1",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_valormaquinas",
        "DEFAULT": 0,
        "ERP": "Content.ValorMaquinas",
        "HUB": "extraText4",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_quantidadefazendas",
        "DEFAULT": 0,
        "ERP": "Content.AddFields.A1_QTFAZENDAS",
        "HUB": "extraNumber2",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_faturamento",
        "DEFAULT": 0,
        "ERP": "Content.AddFields.A1_FATURAMENTO",
        "HUB": "extraText5",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_temanimal",
        "DEFAULT": false,
        "ERP": "Content.AddFields.A1_TEMANIMAL",
        "HUB": "extraBoolean2",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_sobrinho",
        "DEFAULT": "SEM NOME",
        "ERP": "Content.AddFields.A1_NOMESOBRINHO",
        "HUB": "extraText2",
        "SIZE": "100",
        "TYPE": "string"
    },
    {
        "CRM": "_telefone",
        "DEFAULT": "",
        "ERP": "Content.ListOfCommunicationInformation.0.PhoneNumber",
        "HUB": "extraText3",
        "SIZE": "100",
        "TYPE": "string"
    }
] 
[
    {
        "CRM": "_codigoAdicional",
        "DEFAULT": 0,
        "ERP": "Content.ManufacturerCode",
        "HUB": "extraText1",
        "SIZE": "100",
        "TYPE": "string"
    },
    {
        "CRM": "_status",
        "DEFAULT": false,
        "ERP": "Content.Active",
        "HUB": "extraBoolean1",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_precoVenda",
        "DEFAULT": 0,
        "ERP": "Content.Values.SalesPrice",
        "HUB": "extraText2",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_loteMinimo",
        "DEFAULT": 0,
        "ERP": "Content.MinimumLot",
        "HUB": "extraNumber1",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_codigoBarra",
        "DEFAULT": "000999",
        "ERP": "Content.AddFields.B1_CODBAR",
        "HUB": "extraText3",
        "SIZE": "100",
        "TYPE": "option-list"
    }
]
EXPORTAÇÃO[
    {
        "CRM": "_codigobacen",
        "DEFAULT": "000999",
        "ERP": "AddFields.C5_CODBACEN",
        "HUB": "extraText6",
        "SIZE": "100",
        "TYPE": "option-list"
    },
    {
        "CRM": "_quantidadevendedores",
        "DEFAULT": 0,
        "ERP": "QuantidadeVendedores",
        "HUB": "extraNumber1",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_numeroPedidoCRM",
        "DEFAULT": "000000",
        "ERP": "C5_NUMEROCRM",
        "HUB": "extraText1",
        "SIZE": "100",
        "TYPE": "string"
    },
    {
        "CRM": "_tementrega",
        "DEFAULT": false,
        "ERP": "TemEntrega",
        "HUB": "extraBoolean1",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_valorcomissao",
        "DEFAULT": 0,
        "ERP": "ValorComissao",
        "HUB": "extraText4",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_quantidadereservada",
        "DEFAULT": 0,
        "ERP": "AddFields.C5_QTDERESERV",
        "HUB": "extraNumber2",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_valorbonificado",
        "DEFAULT": 0,
        "ERP": "AddFields.C5_VALORBONIF",
        "HUB": "extraText5",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_combinado",
        "DEFAULT": false,
        "ERP": "AddFields.C5_COMBINADO",
        "HUB": "extraBoolean2",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_orientacao",
        "DEFAULT": "SEM NOME",
        "ERP": "AddFields.C5_ORIENTACAO",
        "HUB": "extraText2",
        "SIZE": "100",
        "TYPE": "string"
    }
]
[
    {
        "CRM": "_codigobacen",
        "DEFAULT": "000999",
        "ERP": "AddFields.C6_CODBACEN",
        "HUB": "extraText6",
        "SIZE": "100",
        "TYPE": "option-list"
    },
    {
        "CRM": "_quantidadevendedores",
        "DEFAULT": 0,
        "ERP": "QuantidadeVendedores",
        "HUB": "extraNumber1",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_codigoProdutoCRM",
        "DEFAULT": "000000",
        "ERP": "AddFields.C6_CODPRODCRM",
        "HUB": "extraText1",
        "SIZE": "100",
        "TYPE": "string"
    },
    {
        "CRM": "_tementrega",
        "DEFAULT": false,
        "ERP": "TemEntrega",
        "HUB": "extraBoolean1",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_valorcomissao",
        "DEFAULT": 0,
        "ERP": "ValorComissao",
        "HUB": "extraText4",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_quantidadereservada",
        "DEFAULT": 0,
        "ERP": "AddFields.C6_QTDERESERV",
        "HUB": "extraNumber2",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_valorbonificado",
        "DEFAULT": 0,
        "ERP": "AddFields.C6_VALORBONIF",
        "HUB": "extraText5",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_combinado",
        "DEFAULT": false,
        "ERP": "AddFields.C6_COMBINADO",
        "HUB": "extraBoolean2",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_orientacao",
        "DEFAULT": "SEM NOME",
        "ERP": "AddFields.C6_ORIENTACAO",
        "HUB": "extraText2",
        "SIZE": "100",
        "TYPE": "string"
    }
]
[
    {
        "CRM": "_codigobacen",
        "DEFAULT": "000999",
        "ERP": "AddFields.A1_CODBACEN",
        "HUB": "extraText6",
        "SIZE": "100",
        "TYPE": "option-list"
    },
    {
        "CRM": "_quantidadedefilhos",
        "DEFAULT": 0,
        "ERP": "QuantidadeFilhos",
        "HUB": "extraNumber1",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_nome",
        "DEFAULT": "SEM NOME",
        "ERP": "Nome",
        "HUB": "extraText1",
        "SIZE": "100",
        "TYPE": "string"
    },
    {
        "CRM": "_pagaimposto",
        "DEFAULT": false,
        "ERP": "PagaImposto",
        "HUB": "extraBoolean1",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_valormaquinas",
        "DEFAULT": 0,
        "ERP": "ValorMaquinas",
        "HUB": "extraText4",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_quantidadefazendas",
        "DEFAULT": 0,
        "ERP": "AddFields.A1_QTFAZENDAS",
        "HUB": "extraNumber2",
        "SIZE": "100",
        "TYPE": "integer"
    },
    {
        "CRM": "_faturamento",
        "DEFAULT": 0,
        "ERP": "AddFields.A1_FATURAMENTO",
        "HUB": "extraText5",
        "SIZE": "100",
        "TYPE": "numeric"
    },
    {
        "CRM": "_temanimal",
        "DEFAULT": false,
        "ERP": "AddFields.A1_TEMANIMAL",
        "HUB": "extraBoolean2",
        "SIZE": "100",
        "TYPE": "boolean"
    },
    {
        "CRM": "_sobrinho",
        "DEFAULT": "SEM NOME",
        "ERP": "AddFields.A1_NOMESOBRINHO",
        "HUB": "extraText2",
        "SIZE": "100",
        "TYPE": "string"
    }
] 
Não Possui



  • Sem rótulos