A integração de dados entre TOTVS CRM | SFA e Protheus se dá através de uma API (Application Programming Interface) que utiliza web service com arquitetura REST (Representation State Transfer) para importação de dados (Protheus → TOTVS CRM | SFA) e exportação de pedidos e clientes (TOTVS CRM | SFA → Protheus).
Esta API é nativa do Protheus.
A documentação técnica do mesmo está disponível aqui: PROTHEUS - API Nativa - Manual de Configurações
A importação de dados do Protheus para o TOTVS CRM | SFA é realizada através de requisições ao método genericRecords presente no seguinte endereço da API de integração REST:
http://IP_SERVIDOR_PROTHEUS:PORTA/AMBIENTE_REST/api/framework/v1/genericRecords/SFA_CONSULTA_NGC
Este método retorna os registros das consultas .ngc previamente criadas e copiadas para a pasta raiz do Protheus.
Método de requisição: GET
URL base: IP e Porta
Nome do método: genericRecords
Autenticação: usuario e senha criado no Protheus, com permissoes totais aos módulos
Header: Authorization | Basic <usuario:senha> Usuário e senha do ERP criptografado em Base64
Result: Objeto JSON contendo os dados do retorno da consulta
Exemplo prático:

A exportação de dados do TOTVS CRM | SFA para o Protheus é realizada através do TOTVS EAI Mensagem Padronizada no seguinte endereço da API de integração REST:
http://IP_SERVIDOR_PROTHEUS:PORTA/AMBIENTE_REST/totvseai/standardmessage/v1/transactions
Este método retorna os registros das consultas .ngc previamente criadas e copiadas para a pasta raiz do Protheus.
Método de requisição: GET
URL base: IP e Porta
Nome do método: genericRecords
Autenticação: usuario e senha criado no Protheus, com permissoes totais aos módulos
Header: Authorization | Basic <usuario:senha> Usuário e senha do ERP criptografado em Base64
Result: Objeto JSON contendo os dados do retorno da consulta
Exemplo prático:
Campo EMPRESA
Na maioria das entidades você verá o campo EMRPESA# sendo evidenciado. A integração pode possuir mais de um REST configurado na mesma base, e este campo serve para identificar o ambiente REST.
Geralmente usamos 01, 02, 03, 04, 05 etc... para identificar cada ambiente REST.
Todas as rotinas de integração são executadas conforme um agendamento, que determina os horários em que as rotinas serão executadas.
Em servidores Windows, o agendamento é feito através da ferramenta Agendador de Tarefas, que é nativa do sistema operacional
Em servidores Linux o agendamento é feito através de um arquivo Cron, que é o equivalente do agendador de tarefas para sistemas Unix.
Por padrão, os agendamentos de execução das rotinas standard são feitos da seguinte forma:
importation_job_all.bat | importation_job_all.sh: responsável por executar todas as rotinas de importação.
importation_job_all_fim_do_dia.bat | importation_job_all_fim_do_dia.sh: responsável por executar todas as rotinas de importação e exportação com um período maior de histórico (pedidos, notas e titulos) ao fim do dia.
exportation_job_all.bat | exportation_job_all.sh: responsável por executar as rotinas de exportação de pedido e cliente.