Child pages
  • DI_Integracao_Protheus_x_Reserve

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ódigoCódigo do centro de Custo
    DescriçãoDescrição do Centro de Custo
    AprovadorCó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_LICENCNome 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

  1. Preencha os parâmetros com valores.
  2. 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.
  3. 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.
  4. 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?