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ável | Tipo | Explicação |
|---|---|---|
| totvscrmimportationcustomercustomfields | Importação | variável que contém os campos customizados a serem importados para o cadastro de cliente do CRM |
| totvscrmexportationcustomercustomfields | Exportação | variável que contém os campos customizados a serem exportados para o cadastro de cliente do Protheus |
| totvscrmimportationproductcustomfields | Importação | variável que contém os campos customizados a serem importados para o cadastro de produto do CRM |
| totvscrmexportationorderitemcustomfields | Exportação | variável que contém os campos customizados dos itens do pedido a ser exportados para o cadastro de cliente do Protheus |
| totvscrmexportationorderheadercustomfields | Exportação | variável que contém os campos customizados do cabeçalho do pedido a ser exportados para o cadastro de cliente do Protheus |
| totvscrmimportationstockwarehouseexcludes | Importação | 8 - Estoques por Armazéns |
| totvscrmimportationsharinglevel | Importação | 9 - Parâmetro de Nível de compartilhamento de filiais do Protheus |
| totvscrmtenantid | Importação/exportação | Empresa/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) | Cliente | Produto | |
|---|---|---|---|---|
| IMPORTAÇÃO | Não Possuii | Nã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 |

