Páginas filhas
  • Manual de Integração Protheus X TOTVS CRM

Versões comparadas

Chave

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

I. Validação do Checklist e Criação do RAC e Connector


        Ao receber o checklist pela abertura do chamado ou por e-mail, é necessário validar se estão com todos os dados necessários para integração, de acesso ao sistema do cliente, de acesso ao sistema CRM, dos pré-requisitos do CRM já configurados como solicitado no checklist e o ambiente REST funcionando.

1. Versões e Atualizações do Sistema


        Verificar as versões do sistema do Cliente e solicitar para aplicar as versões mínimas de funcionamento da integração conforme checklist, as versões podem ser verificadas acessando o sistema do cliente e clicando nas teclas Shift+F6, caso não atendam pedir para o cliente atualizar os itens que estão em desacordo além das atualizações que já devem ser enviadas para o cliente aplicar para a integração padrão.

        Aplicação Expedição Continua Estoque (o mais atual)
        Aplicação Expedição Continua Faturamento (o mais atual)
        Aplicação Pacote de Customizações Analytics (Enviar de acordo com a versão do cliente o fonte:
            Fontes-Analytics-V0105_12_1_25_tttp120.ptm ou
            Fontes-Analytics-V0105_12_1_27_tttp120.ptm)
        Executar em modo exclusivo rotina para criação do campo S.T.A.M.P (Configurações Analytics.pptx)

          Além das atualizações acima, caso o cliente esteja com mais alguma versão mínima em desacordo com as versões mínimas solicitadas, já enviar para ele que faça as atualizações antes de dar início ao processo de integração, caso contrário terá problemas no processo de integração.


2. Dados do cliente para criação do RAC e Connector.



3. Solicitação da criação do RAC e Connector


          Enviar e-mail com o texto abaixo solicitando a criação do RAC e Connector, utilizando os dados do cliente que estão no checklist conforme imagem acima. Exemplo de E-mail para Criação:

3.1. Criação da senha do RAC

          Quando criado o RAC, o e-mail colocado em E-mail do Analista de Integração (com o perfil “Admin”) irá receber um e-mail conforme abaixo para fazer a criação da senha do RAC. Clicar em Definir senha e colocar uma senha. Caso seja feito pelo e-mail do cliente, solicitar que ele crie a senha e envie a senha para o analista que está fazendo a configuração, caso o e-mail seja do próprio analista passar para o próximo item para configurar o RAC.


4. Acesso do ERP do Cliente


4.1. Acesso ao sistema ERP

          Validar o acesso ao sistema do cliente com as informações passada no checklist, pela forma que ele
passou, caso não consiga o acesso entrar em contato com o cliente informando e pedindo para revisar a forma de acesso.

4.2. Acesso do REST

          Verificar o REST do cliente, caso não esteja acessando já relatar ao analista responsável para verificar com o cliente, também solicitar ao cliente para verificar o INI do serviço REST se foi feito as configurações solicitadas no checklist conforme imagem abaixo, ao acessar o link deve abrir a página conforme exemplo abaixo.


5. Acesso e configuração sistema CRM


          Verificar se o sistema está acessando com pelo link e usuário e senha que devem ter sido criados pelo analista do CRM que preencheu o checklist.

5.1. Tipo de Documento IR

          Verificar no TOTVS CRM se foi criado o tipo de documento IR em “Administrativo\Configuração\Documentos de Identificação”. Estando criado, clicar em Editar para
pegar o Id do registro, que será usado no Configuration.

5.2. Vínculos de Documentos

          Verificar se foram feitos todos os vínculos de documento conforme é solicitado no checklist. São 11 vínculos. Contas\Configurações\Documentos do cliente.

5.3. Tipos de Frete

          Verificar se foi configurado os Tipos de Frete, são 6 tipos de frete, 4 além dos 2 padrões que já veem no CRM. Precisa ficar configurado conforme está abaixo e no checklist em Vendas\Configurações\Tipos de frete.

5.4. Tipos de Ordem de Venda


          Caso seja usado o Pedido de Venda, que está no item 1 do checklist, será necessário configurar os Tipos de Ordem de Venda em Vendas\Configurações\Tipos de ordem de venda.

5.4.1. TES Inteligente:

5.4.2. TES Padrão:








II. Criação do Configuration e SyncControl


1. Autenticando no Swagger


          Para fazer a criação do Configuration é preciso primeiro pegar o RAC Token da base para fazer o acesso via Swaager. Para obter ele iremos usar o Postman.

          Abra o Postman e crie uma Request de Post, e coloque o endereço do RAC do cliente criado

          Na aba Authorization coloque em Type: Bearer Token e ao lado direito coloque a variável {{rac-token}}

       

          Na aba Headers acrescente a Key: Content-Type com o Value: application/x-www-form-urlencoded

          Na aba Body acrescente as Key abaixo com seus respectivos valores, username e password são os criados no usuário Integração do RAC.

          Com estes dados preenchidos clicar no Botão SEND irá ter um retorno conforme abaixo, copiar a informação dentro do Token para utilizarmos no Swagger.

          Com a informação do Token acessar o site https://master-crm-api.totvs.app/swagger/index.html e clicar no botão Authorize para inserir o Token. Digitar a palavra Bearer dar um espaço e colar o Token que foi gerado no Postman.

          Para validar se está no ambiente correto, clicar em Application e ir no segundo Get e clicar no botão Try it Out após clicar em Execute. Se tudo tiver sido criado corretamente irá trazer um retorno com código 200, e com as informações do cliente que está logado no Swagger.


2. Criando o Configuration


          Após autenticado no ambiente clicar em Configuration na opção Post e clicar em Try it Out.

          Segue abaixo o Configuration padrão, devem ser alterados os campos em vermelho com as informações do ERP do cliente e do CRM.



Bloco de código
{
  "erpName": "ERP PROTHEUS-CRM - APELIDO",
  "masterCRMName": "apelido",  
  "erpClientId": "",
  "erpClientSecret": "",
  "erpCompanyId": "",
  "erpBranchId": "",
  "erpurl": "http://IPREST:Porta/rest/totvseai/standardmessage/v1/transactions/",
  "erpURLAnalyticsSyncControls": "http://IPREST:Porta/rest/",
  "masterCRMClientId": "[email protected]",
  "masterCRMClientSecret": "",
  "masterCRMDefaultDocumentTypeIR": "",
  "hubUrlapi": "https://master-crm-api.totvs.app/",
  "masterCRMDefaultURL": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLCustomer": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLLogin": "https://app2.mastercrm.ws/api/login",
  "masterCRMURLCity": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLState": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLCountry": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLMeasurementUnit": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLPriceTable": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLProductGroup": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLOrder": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLRegion": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLRegionUser": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLRegionCustomer": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLCurrency": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLCurrencyQuotation": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLPriceTableItem": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLPaymentMethod": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLFreight": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMURLPaymentTerms": "https://app2.mastercrm.ws/api/v1/integration/record",
  "masterCRMDefaultEmailType": "301f0e6e-4270-472b-aa96-45ab017bcbb1",
  "masterCRMDefaultPhoneType": "d870427c-bbad-4eb8-9af5-5183b47f648f",
  "masterCRMDefaultNaturalPersonType": "8cea3c86-1984-4c77-acf5-3f622c1efe5b",
  "masterCRMDefaultLegalPersonType": "40694c1a-44f9-4c3b-a5a8-aa63e0742c75",
  "masterCRMDefaultDocumentTypeIM": "195e4d51-21fb-4721-a249-ea0aa89fc52f",
  "masterCRMDefaultDocumentTypeSUF": "41eed97d-4e6e-49de-b7a2-eb8a772f80bf",
  "masterCRMDefaultDocumentTypeCNPJ": "651b2c32-aeca-4373-9cb9-96b132ba5020",
  "masterCRMDefaultDocumentTypeCPF": "95839570-6791-49f4-88fe-68efd115213d",
  "masterCRMDefaultDocumentTypeRG": "9aabec6d-a88b-4d09-8ce6-d0eaf5b16d3c",
  "masterCRMDefaultDocumentTypeIE": "a564151a-931e-43ba-959b-47bab27e274a",
  "masterCRMDefaultAddressType": "b604f287-36bf-4e6d-ae83-c75c46a2fbeb",
  "hubURLAnalyticsSyncControls": "https://master-crm-api.totvs.app/",
  "masterCRMURLAnalyticsSyncControls": "https://app2.mastercrm.ws/",
  "erpWarehouseCode": null,
  "erpDefaultCurrencySymbol": "R$"
}

          Copiar o Json e colar dentro da janela de Value, conforme imagem abaixo e clicar em Executar


          

          Deverá ter um retorno de Código 201 com sucesso na criação no Configuration.


3. Criando o SyncControl

          Segue abaixo o SyncControl padrão, copiar ele e colar na janela Value e clicar em Executar, irá ter o retorno do Código 201 com sucesso na criação dele.

Bloco de código
{
"lastSyncMasterCRMCustomer": "2000-01-01",
"lastSyncMasterCRMCustomerIntegration": "2000-01-01",
"lastSyncPageMasterCRMCustomer": 0,
"lastSyncMasterCRMCity": "1900-01-01",
"lastSyncMasterCRMCityIntegration": "1900-01-01",
"lastSyncPageMasterCRMCity": 0,
"lastSyncMasterCRMState": "1900-01-01",
"lastSyncMasterCRMStateIntegration": "1900-01-01",
"lastSyncPageMasterCRMState": 0,
"lastSyncMasterCRMCountry": "1900-01-01",
"lastSyncMasterCRMCountryIntegration": "1900-01-01",
"lastSyncPageMasterCRMCountry": 0,
"lastSyncERPPriceTable": "1900-01-01",
"lastSyncERPPriceTableIntegration": "1900-01-01",
"lastSyncPageERPPriceTable": 0,
"lastSyncERPMeasurementUnit": "1900-01-01",
"lastSyncERPMeasurementUnitIntegration": "1900-01-01",
"lastSyncPageERPMeasurementUnit": 0,
"lastSyncERPProductGroup": "1900-01-01",
"lastSyncERPProductGroupIntegration": "1900-01-01",
"lastSyncPageERPProductGroup": 0,
"lastSyncERPProduct": "1900-01-01",
"lastSyncERPProductIntegration": "1900-01-01",
"lastSyncPageERPProduct": 0,
"lastSyncMasterCRMURLMeasurementUnit": "1900-01-01",
"lastSyncMasterCRMURLMeasurementUnitIntegration": "1900-01-01",
"lastSyncMasterCRMOrderIntegration": "1900-01-01",
"lastSyncMasterCRMOrder": "1900-01-01",
"lastSyncPageMasterCRMOrder": 0,
"lastSyncERPCompany": "1900-01-01",
"lastSyncERPCompanyIntegration": "1900-01-01",
"lastSyncPageERPCompany": 0,
"lastSyncERPUser": "1900-01-01",
"lastSyncERPUserIntegration": "1900-01-01",
"lastSyncPageERPUser": 0,
"lastSyncERPCustomer": "1900-01-01",
"lastSyncERPCustomerIntegration": "1900-01-01",
"lastSyncPageERPCustomer": 0,
"lastSyncERPCurrency": "1900-01-01",
"lastSyncERPCurrencyIntegration": "1900-01-01",
"lastSyncPageERPCurrency": 0,
"lastSyncERPCurrencyQuotation": "1900-01-01",
"lastSyncERPCurrencyQuotationIntegration": "1900-01-01",
"lastSyncPageERPCurrencyQuotation": 0,
"lastSyncERPPriceTableItem": "1900-01-01",
"lastSyncERPPriceTableItemIntegration": "1900-01-01",
"lastSyncPageERPPriceTableItem": 0,
"lastSyncERPCarrier": "1900-01-01",
"lastSyncERPCarrierIntegration": "1900-01-01",
"lastSyncPageERPCarrier": 0,
"lastSyncERPRegion": "1900-01-01",
"lastSyncERPRegionIntegration": "1900-01-01",
"lastSyncPageERPRegion": 0,
"lastSyncERPRegionUser": "1900-01-01",
"lastSyncERPRegionUserIntegration": "1900-01-01",
"lastSyncPageERPRegionUser": 0,
"lastSyncERPRegionCustomer": "1900-01-01",
"lastSyncERPRegionCustomerIntegration": "1900-01-01",
"lastSyncPageERPRegionCustomer": 0,
"lastSyncERPFinancialSecurity": "1900-01-01",
"lastSyncERPFinancialSecurityIntegration": null,
"lastSyncPageERPFinancialSecurity": 0,
"lastSyncERPPaymentMethod": "1900-01-01",
"lastSyncPageERPPaymentMethod": 0,
"lastSyncERPPaymentMethodIntegration": null,
"lastSyncERPFreight": "1900-01-01",
"lastSyncPageERPFreight": 0,
"lastSyncERPFreightIntegration": null,
"lastSyncERPOrderStatus": "0001-01-01T00:00:00+00:00",
"lastSyncPageOrderStatus": 0,
"lastSyncERPOrderStatusIntegration": null
}

III. Criações Manuais via Swagger


          Na integração Protheus-CRM é necessário fazer algumas criações de dados manualmente pelo swagger, será feito a criação de Status de Pedido no CRM e o vínculo entre o Id da Moeda do TOTVS CRM com o código do Protheus no HUB de integração.

1. Autenticando no Swagger


          Para fazer a criação do Configuration é preciso primeiro pegar o RAC Token da base para fazer o acesso via Swaager. Para obter ele iremos usar o Postman.

          Abra o Postman e crie uma Request de Post, e coloque o endereço do RAC do cliente criado.

          Na aba Authorization coloque em Type: Bearer Token e ao lado direito coloque a variável {{rac-token}}


          Na aba Headers acrescente a Key: Content-Type com o Value: application/x-www-form-urlencoded

          Na aba Body acrescente as Key abaixo com seus respectivos valores, username e password são os criados no usuário Integração do RAC.

          Com estes dados preenchidos clicar no Botão SEND irá ter um retorno conforme abaixo, copiar a informação dentro do Token para utilizarmos no Swagger.

          Com a informação do Token acessar o site https://master-crm-api.totvs.app/swagger/index.html e clicar no botão Authorize para inserir o Token. Digitar a palavra Bearer dar um espaço e colar o Token que foi gerado no Postman.

          Para validar se está no ambiente correto, clicar em Application e ir no segundo Get e clicar no botão Try it Out após clicar em Execute. Se tudo tiver sido criado corretamente irá trazer um retornocom código 200, e com as informações do cliente que está logado no Swagger.


2. Criação dos Status de Pedido no CRM via Swagger


          Após fazer a autenticação localizar no Swagger a entidade OrderStatus e ir na opção de Post conforme imagem abaixo selecionada.

          Copiar os Json abaixo um de cada vez e clicar em executar, terá o retorno 201 criado com sucesso, repetir o processo para todos eles.

Bloco de código
{
 "externalId": "1",
 "deleted": false,
 "active": true,
 "description": "Pedido em aberto",
 "acronym": "1"
}
{
 "externalId": "2",
 "deleted": false,
 "active": true,
 "description": "Pedido encerrado",
 "acronym": "2"
}
{
 "externalId": "3",
 "deleted": false,
 "active": true,
 "description": "Pedido liberado",
 "acronym": "3"
}
{
 "externalId": "4",
 "deleted": false,
 "active": true,
 "description": "Pedido bloqueado por regra",
 "acronym": "4"
}
{
 "externalId": "5",
 "deleted": false,
 "active": true,
 "description": "Pedido bloqueado por verba",
 "acronym": "5"
}
{
 "externalId": "6",
 "deleted": false,
 "active": true,
 "description": "Não Transmitida",
 "acronym": "6"
}
{
 "externalId": "7",
 "deleted": false,
 "active": true,
 "description": "Transmitida",
 "acronym": "7"
}
{
 "externalId": "IN",
 "deleted": false,
 "active": true,
 "description": "Integrado",
 "acronym": "IN"
}

3. Vínculo de moeda


          Ainda autenticado no Swagger localizar o componente Currency – Post, conforme imagem abaixo.

          Localizar na listagem abaixo os Json das moedas utilizadas pelo cliente copiar ele e colar no Swagger e executar, antes substituir os Campos "erpReferenceKey" e "ERPCode" pelo código da moeda do Protheus, Exemplo MV_MOEDA1 substituir nos dois campos o valor por 1. Também substituir as datas pela data que
está sendo feito o processo. Na listagem já tem o Id da Moeda no CRM, só é necessário colocar nos 2 campos acima o código da moeda no Protheus para enviar o vínculo para o HUB de integração.

          Fazer este processo somente para as moedas que o cliente tem configurado no Protheus, abaixo está a 4 principais moedas utilizadas, caso tenha alguma moeda além destas que o cliente utiliza será necessário solicitar ao CRM o Id da Moeda no CRM para fazer o vínculo.

Bloco de código
→ Real Brasileiro
{
 "erpReferenceKey": "1",
 "erpCreateDate": "2020-11-26",
 "erpLastChange": "2020-11-26",
 "erpSyncPending": false,
 "masterCRMReferenceKey": "5ebcc87b-af5d-42ad-85ad-df620844055f",
 "masterCRMCreateDate": "2020-11-26",
 "masterCRMLastChange": "2020-11-26",
 "masterCRMSyncPending": false,
 "description": "Real Brasileiro",
 "symbol": "R$",
 "code": "BRL",
 "active": true,
 "erpDefaultCurrency": true,
 "ERPCode": "1"
}

→ Dólar Americano
{
 "erpReferenceKey": "2",
 "erpCreateDate": "2020-11-26",
 "erpLastChange": "2020-11-26",
 "erpSyncPending": false,
 "masterCRMReferenceKey": "67828a92-1503-4adb-c31b-c5416ad47c73",
 "masterCRMCreateDate": "2020-11-26",
 "masterCRMLastChange": "2020-11-26",
 "masterCRMSyncPending": false,
 "description": "Dólar Americano",
 "symbol": "US$",
 "code": "USD",
 "active": true,
 "erpDefaultCurrency": true,
 "ERPCode": "2"
}

→ Euro
{
 "erpReferenceKey": "3",
 "erpCreateDate": "2020-11-26",
 "erpLastChange": "2020-11-26",
 "erpSyncPending": false,
 "masterCRMReferenceKey": "c702a70a-a0fa-4b3d-b8fd-f2e7d3030b21",
 "masterCRMCreateDate": "2020-11-26",
 "masterCRMLastChange": "2020-11-26",
 "masterCRMSyncPending": false,
 "description": "Euro",
 "symbol": "€",
 "code": "EUR",
 "active": true,
 "erpDefaultCurrency": true,
 "ERPCode": "3"
}

→ Iene Japonês
{
 "erpReferenceKey": "4",
 "erpCreateDate": "2020-11-26",
 "erpLastChange": "2020-11-26",
 "erpSyncPending": false,
 "masterCRMReferenceKey": "162bde99-0026-4bf4-ffdc-fcad383ddcf9",
 "masterCRMCreateDate": "2020-11-26",
 "masterCRMLastChange": "2020-11-26",
 "masterCRMSyncPending": false,
 "description": "Iene Japonês",
 "symbol": "¥",
 "code": "JPY",
 "active": true,
 "erpDefaultCurrency": true,
 "ERPCode": "4"
}




IV. Configurando os Diagramas para um novo cliente


1. Baixar ou solicitar os diagramas


          Baixar do Git ou solicitar para alguém os diagramas de um cliente que já esteja em produção. Com os diagramas em mãos, acessar o Eclipse e criar um projeto com o nome do cliente.


2. Importar os diagramas no Eclipse


          Clicar com o botão direito no nome do projeto e ir à opção de Import

          Selecionar a opção File System.

          Em Browse localizar a pasta principal dos diagramas, marcar o check box a esquerda para
selecionar todos os diagramas. Mais abaixo marca o check box Overwrite existing .. e clicar em Finish


3. Alterar dados do diagrama


          Com os diagramas carregados no eclipse, é necessário alterar a url do RAC em todos os diagramas, e caso necessário o usuário, senha e tenant do body no RAC. Esta alteração pode ser feita uma a uma pelos
diagramas, ou também acessando pelo NotePad++ alterando todos de uma vez.

3.1. Manual por diagrama

3.2. Pelo NotePad++

          Acessar a janela de busca com o “CtrlCtrl+F”F. Na aba “Find Find in Files” Files digitar em “Find what” Find what a palavra
“modelo” modelo e em “Replace with” Replace with colocar o apelido do cliente que está sendo usado no endereço do RAC e no
Tenant. Em “Directory” Directory localizar a pasta principal dos diagramas que foram carregados no Eclipse e clicar
em “Replace All” Replace All. Caso queira garantir estar no lugar correto, pode clicar antes em “Find All” Find All que irá trazer
tudo que será alterado. Com este comando já será trocado o apelido na URL do RAC e o Tenant. Caso o
usuário e senha sejam diferentes do padrão que está no diagrama, pode ser feito o mesmo processo para
alteração do usuário e senhaalteração do usuário e senha.

Image Added


4. Servidor Connector do Cliente

          Para fazer a publicação dos diagramas primeiro é necessário fazer a criação de uma conexão entre o eclipse e o CONNECTOR do cliente. Na aba Connector Servers clicar com o botão direito em ServerFluig e Fluig Connector Server.

Image Added

          Definir o nome para o servidor, colocar a url do Connector de produção na porta 443 conforme abaixo. Informar o usuário e senha do Connector, o mesmo utilizado para acessar o portal.

Image Added