Integração Protheus x Reserve
Introdução
Este manual foi elaborado para auxiliar na implantação e suporte da integração entre o site Reserve e o Protheus, com o envio dos cadastros de Participantes, Centros de Custos e Clientes e recebendo do site os pedidos de: passagem aérea, passagem rodoviária, hospedagem, locação de veículos e seguro.
Requisitos
- Ter cadastrado os Centros de Custos (CTBA030).
- Ter cadastrado Clientes (MATA030).
- Ter cadastrado Participantes (APDA020)
- Ter o Protheus na versão 11.80 ou superior
- Consistência do dicionário de dados.
- Parâmetros envolvidos.
Dicionário de Dados
1. Para que a Protheus envie os dados dos centros de custos, é necessário preencher os seguintes campos:
CTT |
---|
CTT_CODIGO |
CTT_DESC01 |
CTT_CLASSE |
CTT_BLOQ |
CTT_INTRES |
Caso sejam exportados os centros de custos que não estão na tabela CTT, utilize o ponto de entrada FA655ICC que retorna um array com os centros de custo. Cada elemento será composto por um array que deve conter as informações na seguinte ordem:
Operação 3-Inclusão/4-Alteração/5-Exclusão Código Código do centro de Custo Descrição Descrição do Centro de Custo Aprovador Código (no Site Reserve) do Aprovador do Centro de Custo.
Este ponto de entrada é executado após a exportação, sendo recebido o mesmo array, com o acréscimo de uma informação para indicar o sucesso, ou não, da operação com o centro de custo.
Exemplo:
#Include "Protheus.ch"
User Function FA655ICC ()
aProcesso := ParamIXB
Acc:= {}
If Empty(aProcesso) // não foi passado ao array de processamento
//Tratativas...
Aadd( aCC ,{ nOperação, cCentro de Custo, cDescCC, cAprovador})
Else
For nX := 1 to len(aProcesso)
If aProcesso[nX][5] // Se true sucesso na operação com o centro de custo
// Tratativas
Else // Não verdadeiro a operação falhou.
// Tratativas
endif
Next nX
endif
Return aCC
Após o envio dos centros de custos, este ponto de entrada é chamado com o array original numa nova coluna informando caso a operação tenha sido bem-sucedida (.T.), ou não (.F.).
2. Para que o Protheus envie os dados do Cliente os seguintes campos devem estar preenchidos:
SA1 |
---|
A1_COD |
A1_LOJA |
A1_MSBLQ |
3. Para que o Protheus envie os dados do Participante, os seguintes campos devem estar preenchidos:
RD0 |
---|
RD0_NOME |
RD0_EMAIL |
RD0_CODIGO |
RD0_DDD |
RD0_DDI |
RD0_SEXO |
RD0_LOGINR |
RD0_IDRESE |
RD0_EMPANT |
RD0_FILANT |
RD0_CIC |
RD0_DTNASC |
RD0_NVLCAR |
RD0_CC |
RD0_FONE |
RD0_DVIAGE |
RD0_PERMAD |
RD0_APROPC |
RD0_APSUBS |
RD0_FORNEC |
RD0_LOJA |
4. Para realizar a integração o cadastro de Códigos BKO (FINA669) os campos abaixo devem ser preenchidos:
FL2_BKOAGE | Código da empresa no sistema da agência de viagem |
FL2_BKOEMP | Código da empresa no Protheus |
FL2_USER | Usuário de conexão ao Reserve (Fornecido pela equipe Reserve) |
FL2_PSWRES | Senha de conexão (Fornecida pela equipe Reserve) |
FL2_LICENC | Nome do Licenciado Reserve |
FL2_GRPEMP | Grupo de empresa no site Reserve |
FL2_CC | Indica se o CC do custo será exclusivo ou compartilhado no site |
FL2_CLIENT | Indica se o Cliente é exclusivo ou compartilhado no site |
Parâmetros
É necessário configurar os parâmetros abaixo:
- MV_RESEXP: Identifica se o Protheus está integrado com o site Reserve. Para isto é necessário preencher os valores conforme desejado:
- 0 = Não realiza integração
- 1 = Realiza integração apenas on-line.
- 2 = Realiza integração apenas off-line por meio de Jobs agendados.
- 3 = Integração é realizada tanto on-line quanto off-line.
- MV_RESCAD : Identifica se há integrações em Centros de Custos, Clientes e Participantes. Esse parâmetro tem o conteúdo como uma string de três caracteres que podem ser 0 – Não integra; 1- Integra. Caso o primeiro caractere da esquerda à String seja 1, a integração do Centro de Custo está habilitada, caso o segundo caractere à String seja 1, a integração dos clientes está habilitada e quando o terceiro caractere da String for 1 a integração dos Participantes está habilitada. Exemplo: 101, em que haverá integração de centro de custos e participantes, mas não de clientes.
- MV_RESCTT: Identifica o centro de custo a ser utilizado para identificar o Cliente. Este parâmetro é utilizado caso a viagem seja parcialmente, ou totalmente cobrada do cliente. Possui a estrutura: Centro de Custo, Descrição, Controle. O Controle é utilizado para o controle de integração, sendo possível informar os valores:
- 0 = Não enviado;
- 1 = Enviado.
- MV_RESAMB: Este parâmetro identifica a URL de acesso ao webservice do site reserve. Valor padrão: HTTPS:\\www.reserve.com.br
- MV_RESGRAC: Grupo de acesso padrão para os usuários do reserve. Caso o cargo esteja informado é necessário deixar em branco.
- MV_RESDIAS: Número de dias anteriores à data atual que são considerados ao buscar pedidos no site Reserve.
- MV_RESMAIL: Endereços de email que receberão os avisos de problemas na integração, os endereços devem ser completos e separados por pontos-e-vírgulas, Exemplo: [email protected]; [email protected]
- MV_RELFROM: E-mail utilizado para identificar o emissor do e-mail.
- MV_RELSERV: Servidor de envio de e-mail
- MV_RELACNT: Conta utilizada para envio de e-mails.
- MV_RELPSW: Senha da conta de envio de e-mails
- MV_PORSMTP: Porta do servidor de SMTP.
- MV_RELAUTH: Verifica se o servidor de e-mail necessita de Autenticação, podendo ser:
- .T. = Necessita de autenticação para enviar o email.
- .F. = Não necessita de autenticação.
- MV_RESAPRT: Define se os participantes podem ser os aprovadores nas viagens.
Instalação/Atualização
É necessário ter o Protheus 11.80 ou superior instalado.
1. Acesse o Configurador (SIGACFG) e crie um Agent padrão para o Schedule, para isto, acesse Ambiente/Schedule. Na parte superior esquerda clique na pasta Schedule/Agent/Cadastro.
- Do lado superior direito clique na opção para criar um Agent padrão.
- Em Agent clique no start do agent padrão.
- Em Agendamentos clique na opção Cadastros.
- Acesse Detalhes e clique em Incluir para o job de importação de pedidos conforme o exemplo abaixo
Onde:
Usuário:
Usuário que será utilizado durante a execução da rotina.
Rotina:
Informe JOBRESIMP, sendo este o job de importação de pedidos do Reserve.
Data e Hora:
Data e hora prevista para a primeira execução do job.
Ambiente:
Nome do ambiente que o job será executado.
Empresa/Filiais:
Lista de empresas e filiais que serão processadas durante a execução do job.
Módulo:
Informe sempre 06 – Financeiro
- Acesse Detalhes e em Incluir, o job de exportação de dados para o reserve conforme o exemplo abaixo.
Onde:
Usuário:
Usuário que será utilizado durante a execução da rotina.
Rotina:
Informe JOBRESEXP, sendo este o job de exportação de pedidos do Reserve.
Data e Hora:
Data e hora prevista para a primeira execução do job.
Ambiente:
Nome do ambiente que o job será executado
Empresa/Filiais:
Lista de empresas e filiais que serão processadas durante a execução do job.
Módulo:
Informe sempre 06 – Financeiro
É recomendável que o Jobs de integração sejam executados no máximo duas vezes por dia para reduzir o número de acessos ao site.
Acesse Detalhes e configure a recorrência do job de exportação de dados para o reserve, conforme o exemplo abaixo, configure as repetições diárias conforme desejado.
Contexto de negócio
Com a crescente demanda por redução de custos a opção de Self Booking, em que o passageiro escolhe o voo e hospedagem, é preferência no mercado, sendo que o site Reserve é o líder neste setor, por causa das ferramentas que permitem a busca por menores tarifas e o controle da política de viagens da empresa, enquanto o Protheus mantém o controle financeiro e contábil das viagens.
Escopo e Finalidade
A integração entre o Reserve e Protheus, é atuante no Protheus, suprindo a necessidade do contexto de negócio. Essa integração é realizada por meio de webservices do site www.reserve.com.br. O Protheus é responsável de acessar os os webservices e realizar as solicitações de informações, ou de atualização.
A integração pode ser realizada de forma on-line ou off-line. A integração on-line ocorre quando uma informação é alterada no Protheus e automaticamente é enviada para o Reserve por meio do webservice disponibilizado no site Reserve. Na integração off-line ocorre por meio de rotinas (Jobs) com execução agendada.
As integrações on-line estão disponíveis nas seguintes rotinas:
Cadastro de Centro de Custos (CTBA030)
O que a integração faz:
- Ao Incluir, alterar e deletar de um centro de custo analítico, este é enviado para o Reserve.
- Caso ocorra um erro, esta informação é armazenada na tabela FL0 e um e-mail é enviado aos responsáveis.
O que a integração não faz:
- Alterações, Inclusões e Exclusões realizadas no site não são reconhecidas no Protheus.
Cadastro de Participantes (APDA020)
O que a integração faz:
- Ao incluir, alterar e deletar um participante que esteja disponível para viagem (RD0_DVIAGE), este é enviado para o Reserve.
- Caso ocorra um erro, esta informação é armazenada na tabela FL0, e um e-mail é enviado aos responsáveis.
O que a integração não faz:
- Alterações, Inclusões e Exclusões realizadas no site não são reconhecidas no Protheus.
Cadastro de Clientes (MATA30)
O que a integração faz:
- Na inclusão, alteração e Exclusão o mesmo cliente é enviado para o Reserve.
- Caso ocorra um erro, esta informação é armazenada na tabela FL0, e um e-mail é enviado aos responsáveis.
O que a integração não faz:
- Alterações, Inclusões e Exclusões realizadas no site não são reconhecidas no Protheus.
As integrações off-line são realizadas por duas rotinas, uma para a Exportação (JOBRESEXP) e outra para a Importação (JOBRESIMP). Ambas as rotinas são inseridas no Schedule do Protheus com um ambiente e empresa filial. Ao iniciar a rotin é acessada a tabela FL2 para obter a lista de empresas do Protheus que estão integradas, a seguir para cada Empresa / Filial da lista o processo de importação ou de exportação é realizado.
JOBRESEXP
O que a integração faz:
- Acessa a tabela CTT e conforme os valores dos campos CTT_RESERV e CTT_INTRES, o Centro de Custo é incluído, alterado ou excluído do site Reserve.
- Acessa a tabela RD0 e conforme o campo RD0_RESERV, o Centro de Custo é incluído, alterado ou excluído do site Reserve.
- Acessa a tabela SA1 e conforme o campo A1_RESERVE, o Centro de Custo é incluído, alterado ou excluído do site Reserve.
- Caso ocorra um erro, esta informação é armazenada na tabela FL0, e um e-mail é enviado aos responsáveis.
O que a integração não faz:
- Alterações, Inclusões e Exclusões realizadas no site não são reconhecidas no Protheus.
JOBRESIMP
O que a integração faz:
- Acessa o site Reserve consultando os pedidos que estão na tabela FL0, esses pedidos são os que apresentaram erros em integrações anteriores.
- Acessa o site Reserve consultando os pedidos ainda não integrados e que estão com as reservas emitidas.
- Acessa o site Reserve consultando os pedidos ainda não integrados que estão deletados.
Após cada leitura o lote de pedidos lidos é processado e cada pedido é integrado as tabelas de Viagem (FL5, FL6, FL7, FL8, FL9, FLA, FLB, FLH, FLJ e FLU), caso alguma inconsistência seja detectada, a informação sobre o erro é armazenada na tabela FL0 e um e-mail é enviado aos envolvidos, e o Pedido que apresentou a inconsistência é armazenado na tabelas FL1 para ser reimportado. - Após a leitura de cada lote o mesmo é confirmado e o Protheus solicitará o próximo até não existam mais lotes de pedidos no Reserve.
O que a integração não faz:
- Alterações, Inclusões e Exclusões realizadas no site não são reconhecidas no Protheus.
Como Fazer
- Preencha os parâmetros com valores.
- Cadastre as empresas na FL2. O BKO da agência vai depender do cadastro realizado pela agencia de viagens, tenha um cuidado especial em ambientes com múltiplas empresas e filiais.
- Crie o Schedule das rotinas de importação e de exportação. Inicie com uma vez ao dia, caso sejam muitas viagens é possível quebrar em 2, ou no máximo, 3 execuções por dia.
- No cadastro da rotina no Schedule, a empresa e a filial informada serão usada para abrir a tabela FL2 , e o job iniciará cada ambiente cadastrado nesta tabela.
FAQ
Pergunta: Quando os Pedidos com problemas serão reimportados ?
Resposta: Os pedido com problemas são gravados na tabela FL1, esta tabela será acessada na próxima execução da rotina de JOBRESIMP.
Pergunta: Por que os pedidos não são importados on-line?
Resposta: Como o número de pedidos pode ser grande e a gravação nas tabelas do sistema pode demorar, não foi incluída a opção on-line.
Pergunta: Como posso fazer a carga inicial dos cadastros?
Resposta: Atualize as versão do Protheus, ative os parâmetros de integração, configure o Schedule de exportação que o sistema exportará os cadastros automaticamente na próxima execução do job de exportação.
Fluxo das Informações
Checklist
Informações não foram exportadas para o Reserve.
- Protheus é versão 11.80 ou superior?
- Os parâmetros de integração estão preenchidos?
- O reserve está acessível?
- Analise o arquivo de Log de erros (FINA663) para verificar quais os erros reportados.
- O Agent do agendamento está configurado corretamente e está iniciado?
- O agendamento está configurado e habilitado corretamente?
Pedidos não foram recebidos.
- Protheus é versão 11.80 ou superior?
- Os parâmetros de integração estão preenchidos?
- O Agent está configurado corretamente e está iniciado?
- O agendamento está configurado e habilitado corretamente?
- O site Reserve está acessível?
Email não foram enviados.
- Protheus é versão 11.80 ou superior?
- Os parâmetros de envio de email estão configurados de acordo?
- A senha não foi alterada e o parâmetro não foi alterado?
- A integração está habilitada?