Histórico da Página
Integração de dados do módulo VHF FrontOffice, conforme documentação do Swagger dos Endpoint.
CONTEÚDO
- Visão Geral
- Instalando o FrontOffice API.
- Parceiros / Integração com API.
- Servidor Cloud de Terceiros.
- Descrição / Instalação.
- Iniciando o serviço.
- Métodos Disponíveis na API.
1. VISÃO GERAL
A documentação e orientações técnicas descritas a seguir tem o objetivo de comunicação com os produtos TOTVS Hospitalidade PMS - Linha Hotal (VHF). Essa integração foi desenvolvida pela TOTVS Hospitalidade visando atender uma necessidade identificada, atuando como como facilitador de integrações entre sistemas utilizados por nossos clientes e que não se adequem aos padrões já utilizados pelas soluções HIGS e CMNET Reservas.
O acesso as informações e operações A API FrontOffice fornece acesso a informações relacionadas a reservas e hospedagens, permitindo a consulta aos dados são feitas através de endpoints específicos.
Em decorrência do avanço da utilização do ambiente em cloud, as integrações e consumo de dados que eram realizadas através de views no SGBD, não atende a acessibilidade imediata das informações. Com isso a necessidade da evolução da disponibilização dos dados através de API.
...
2. Instalando o FrontOffice API.
Primeiro entre em contato com o setor comercial da Totvs para entender a disponibildade desse serviço para o hotel, depois baixe o instalador do serviço (Setup_FRontOfficeAPI.exe), e execute em sua maquina. Este instalador, instala automaticamente o serviço Xamp e configura o mesmo para ser executado, siga os passos mostrados abaixo.
Execute o instalador baixado na sua maquina. Clique no boão avançar na tela que é mostrada. | |
|---|---|
Nessa nova tela, clique em instalar. Neste momento o instalador esta iniciando o processo de instalação do xamp, isso pode levar alguns minutos. | |
Nessa tela são os parametros para acesso ao banco de dados do cliente.
Path : Caminho onde esta instalado o apache do xamp. (não deve ser alterada)Porta da API : Porta da API. (não deve ser alterada)Nome da API : Nome do serviço de API do Front. (não deve ser alterada)Api SecretKey : Não deve ser preenchido.
Schema : Eschema do banco do clienteAlias : Alias do banco do clienteUsuário do Banco : Usuário de acesso ao banco.Senha do Banco : Senha do usuário do banco.
ID Parametro : Usado para o Timesahring API. (não deve ser preenchido).ID Hotel : ID do Hotel na base do cliente.ID Empresa : ID da empresa na base do cliente.ID Usuaério : ID do usuário do sistema.Tipo de Ambiente : Informa o tipo de ambiente, no cliente pode ser colocado produção.Clique no botão (Salvar Configurações) | |
Neste momento o serviço do xamp já foi instalado, os aquivos necessários para funcionar a API já esta configurada, clique em concluir para fechar a tela de instalação. |
3. Parceiros / Integração com API
| Dica |
|---|
Integram Com Essa API 1- Bebook 2- Voa 3- Upcash |
...
...
4. Servidor Cloud de Terceiros
No caso de clientes que possuam serviço de terceiros (FTC Cloud da Faitec, por ex.), a configuração do XAMPP deverá ser realizada pelo terceiro, que retornará a informação do ip público (externo) e porta, para que seja informado ao parceiro da integração junto com o Client ID, Client Secret e o id do Hotel.
4.1 Requisitos de Hardware e Software para hospedagem da API de integração
Para consultar os requisitos mínimos de hardware recomendados para o servidor de aplicação, clique aqui e acesse o tópico "Configuração recomendada para servidor de aplicações".
5. Descrição
Para que seja consumido os dados dos EndPoints da API - FRONTOFFICEAPI, necessita de liberação do ClienteID e ClienteSecret. A liberação será realizar pela equipe de Plugin mediante a contratação comercial.
...
Swagger: http://IP:Porta/frontofficeapi/v1/swagger/doc/html#/
Exemplo de Swagger: http://1293.151233.33251.24789:89/frontofficeapi/v1/swagger/doc/html#/
Instalação Padrão da API
A APIFrontOffice pode ser instalada através da publicação da DLL em ums servidor APACHE.
Utilizamos o programa XAMP, para instalação do servidor APACHE, conforme os passos abaixo:
UTILIZANDO O XAMP
Passo 1: Baixe o instalador do XAMPP
O primeiro passo para instalar o XAMPP no Windows é baixar o instalador. Acesse o site oficial do XAMPP em https://www.apachefriends.org/index.html e clique na opção de download para o sistema operacional Windows. Certifique-se de baixar a versão mais recente do XAMPP para garantir que você tenha acesso aos recursos mais atualizados.
Passo 2: Execute o instalador
Após concluir o download do arquivo de instalação, localize-o no seu computador e execute-o. Um assistente de instalação será aberto e guiará você por todo o processo.
Passo 3: Selecione os componentes
Durante o processo de instalação, você terá a opção de selecionar os componentes que deseja instalar. Por padrão, todos os componentes, como Apache, MySQL, PHP e Perl, são selecionados. No entanto, se você não precisar de algum desses componentes, pode desmarcá-los para economizar espaço em disco.
Passo 4: Escolha a pasta de instalação
Agora é hora de escolher a pasta onde você deseja instalar o XAMPP. A pasta padrão é “C:\xampp”, mas você pode selecionar uma localização diferente, se preferir. Certifique-se de escolher uma pasta em que você tenha permissões de gravação e que seja de fácil acesso.
Passo 5: Inicie a instalação
Após selecionar os componentes e a pasta de instalação, clique no botão “Next” ou “Instalar” para iniciar o processo de instalação. Aguarde até que a instalação seja concluída. Isso pode levar alguns minutos, pois o instalador está copiando arquivos e configurando o ambiente.
Passo 6: Configuração do arquivo httpd.conf
Abra o XAMPP, clique no botão Config. na linha do serviço Apache, opção "Apache (httpd.conf)". Encontre a última linha que começo com "#LoadModule..." e copie o código abaixo e cole depois dela, antes de <IfModule unixd_module>:
<Location /frontofficeapi>
SetHandler frontofficeapi_module-handle
</Location>
Depois, entre no diretório C:\xampp\apache\modules e cole os arquivos "mod_FrontOfficeAPI.dll" e "FrontOfficeAPIResources.json" nessa pasta. Esse arquivo JSON indicará a porta para conexão e os dados para conexão com o banco (veja aqui)
Passo 7: Configuração adicional (opcional)
Após a conclusão da instalação, você pode optar por fazer algumas configurações adicionais. O XAMPP pode configurar automaticamente os serviços de Apache e MySQL para iniciar quando o computador for ligado. Além disso, você pode configurar exceções de firewall para permitir o acesso aos serviços web. Essas configurações são opcionais, mas podem ser úteis para facilitar o uso do XAMPP.
Passo 8: Inicie o XAMPP (Apache)
Agora que o XAMPP está instalado, você pode iniciar o painel de controle do XAMPP para gerenciar os serviços. Clique no ícone do painel de controle do XAMPP na área de trabalho ou procure por ele no menu Iniciar. O painel de controle exibirá uma lista dos serviços disponíveis, como Apache, MySQL e PHP. Você pode iniciar e parar esses serviços com apenas um clique.
Conclusão:
Com o XAMPP instalado no seu computador Windows, você tem um ambiente de desenvolvimento web completo à sua disposição. Você pode criar e testar aplicativos web localmente antes de implantá-los em um servidor de hospedagem. O XAMPP simplifica o processo de configuração e permite que você se concentre no desenvolvimento do seu projeto. Experimente o XAMPP e aproveite a conveniência de ter um ambiente de desenvolvimento local poderoso e fácil de usar.
TELA PADRÃO DO XAMP:
Configuração do HTTPD.CONF do Apache para habilitar o serviço da API FrontOffice
- Pare (Stop) o servidor APACHE e clica no botão de config para acessar o aquivo TXT httpd.conf e configurar o módulo da API FronToffice conforme a imagem abaixo.
...
- API_PORT: chave para configuração da porta
- DATABASE_SCHEMA: chave para schema do banco
- DATABASE_ALIAS: chave para alias do banco
- DATABASE_PASSWORD: chave para a senha do banco
6. Iniciando o serviço
Após instalação localize no iniciar do windows o atalho para abrir o programa xamp. | |
|---|---|
Após iniciar o aplicativo será mostrado a tela ao lado, clique no botão start para que o serviço fique habilitado para o uso. | |
Desta forna o serviço já esta disponivel para ser utilizado, feche a tela. |
...
7.
MÉTODOS DISPONÍVEIS NA API
Abaixo os Métodos disponíveis nos EndPoints da API. Estado color Green title Publicado
| Dica |
|---|
Authenticate: POST - http://localhost:porta/frontofficeapi/v1/authenticateHotel: GET – http://localhost:porta/frontofficeapi/v1/hotelOrigem Reserva: GET – http://localhost:porta/frontofficeapi/v1/origemReservaReserva Grupo : GET – http://localhost:porta/frontofficeapi/v1/reservaGrupo/?dataEntada=10/11/2021&idHotel=1Cliente Reservante: GET – http://localhost:porta/frontofficeapi/v1/clienteReservante/?idHotel=1Inventário: GET – http://localhost:porta/frontofficeapi/v1/inventario/?idHotel=1&dataIni=01/04/2022&dataFim=10/08/2022Hospedagem: GET – http://localhost:porta/frontofficeapi/v1/hospedagem?idHotel=1&dataIni=01/04/2022&dataFim=31/12/2022UH: GET – http://localhost:porta/frontofficeapi/v1/UH/?idHotel=3&tipo=9Tipo UH: GET – http://localhost:porta/frontofficeapi/v1/tipoUH/?idHotel=1 |
...
Authenticate
/frontofficeapi/v1/authenticateEstado colour Green title POST Descrição: Inserir Authenticate
Requisição
{
"clientId": "38629890-9CF8-46B0-ACF8-03AD46A3DCC8",
"clientSecret": "276d56d0-77ad-11f0-8962-113d4e2eef4e",
"app": "FRONTOFFICEAPI"
}Respostas
Código
Response
201
OK400
Bad Request
Listar cliente reservante
/frontofficeapi/v1/clienteReservanteEstado colour Blue title GET Descrição: Listar cliente reservante
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
status
string
Não
Status
dataPassandoInicio
string
Não
Data passando inicial
dataPassandoFim
string
Não
Data passando final
dataChegadaInicio
string
Não
Data chegada inicial
dataChegadaFim
string
Não
Data chegada final
dataPartidaInicio
string
Não
Data partida inicial
dataPartidaFim
string
Não
Data partida final
page
string
Não
Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição.
limit
string
Não
Quantidade de registros por página
Respostas
Código
Descrição
200
OK
Listar Disponibilidade
/frontofficeapi/v1/disponibilidadeEstado colour Blue title GET Descrição: Listar Disponibilidade
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
dataIni
string
Sim
Data inicial - padrão dd-mm-yyyy
dataFim
string
Sim
Data final - padrão dd-mm-yyyy
tipouh
string
Sim
Tipo UH
idContrato
integer
Não
Identificador do contrato do cliente
idAgrupadorUh
string
Não
Identificador do Agrupador de Uhs
codAgrupadorUH
string
Não
Código do Agrupador de Uhs
page
string
Não
Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição.
limit
string
Não
Quantidade de registros por página
Respostas
Código
Descrição
200
OK
Listar Hospedagem
/frontofficeapi/v1/hospedagemEstado colour Blue title GET Descrição: Listar Hospedagem
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
dataIni
string
Sim
Data inicial
dataFim
string
Sim
Data Final
cancelada
integer
Não
Para incluir reservas canceladas na resposta, utilize o valor 6
gratuidade
integer
Não
Para incluir reservas gratuitas na resposta, utilize o valor 1
page
string
Não
Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição.
limit
string
Não
Quantidade de registros por página
Respostas
Código
Descrição
200
OK
Listar Hospede
/frontofficeapi/v1/hospedeEstado colour Blue title GET Descrição: Listar Hospede
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHospede
integer
Sim
Identificador do hospede
page
string
Não
Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição.
limit
string
Não
Quantidade de registros por página
Respostas
Código
Descrição
200
OK
Listar hotel
/frontofficeapi/v1/hotelEstado colour Blue title GET Descrição: Listar hotel
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Não
Identificador do hotel
nome
string
Não
Nome do hotel
Respostas
Código
Descrição
200
OK
Listar Inventario
/frontofficeapi/v1/inventarioEstado colour Blue title GET Descrição: Listar Inventario
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
dataIni
string
Sim
Data inicial - padrão dd-mm-yyyy
dataFim
string
Sim
Data final - padrão dd-mm-yyyy
tipouh
string
Sim
Tipo UH
idContrato
integer
Não
Identificador do contrato do cliente
page
string
Não
Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição.
limit
string
Não
Quantidade de registros por página
Respostas
Código
Descrição
200
OK
Listar Origem Reserva
/frontofficeapi/v1/origemReservaEstado colour Blue title GET Descrição: Listar Origem Reserva
Respostas
Código
Descrição
200
OK
Reserva
Cancelar Reserva
/frontofficeapi/v1/reserva/{numReserva}Estado colour Yellow title PUT Descrição: Cancelar Reserva
Parâmetros
Nome
Tipo
Obrigatório
Descrição
numReserva
integer
Sim
Número da reserva
Respostas
Código
Descrição
201
Created
204
No Content
404
Not Found
Listar Reserva
/frontofficeapi/v1/reservaEstado colour Blue title GET Descrição: Listar Reserva
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idhotel
Integer
Sim
Identificador do hotel
numreserva
string
Não
Numero da reserva
numdocumento
string
Não
Documento do cliente
dataInicial
string
Não
Data inicial do filtro. Sozinha, retorna registros a partir desta data
dataFinal
string
Não
Data final do filtro. Usada com dataInicio para intervalo.
status
Integer
Não
Status da reserva
page
integer
Não
Número da página
pageSize
integer
Não
Quantidade de registros por página
Respostas
Código
Descrição
200
OK
204
No Content
Possíveis status de reserva
Código
Descrição
0 A Confirmar 1 Confirmada 2 Check-In 3 Check-Out 4 Pendente 5 No-Show 6 Cancelada 7 Waiting List 8 Em Tentativa
Inserir Reserva
/frontofficeapi/v1/reservaEstado colour Green title POST Descrição: Inserir Reserva
Parâmetros
Nome
Tipo
Obrigatório
Descrição
dados
Sim
Respostas
Código
Descrição
201
Created
400
Bad Request
Listar reserva de grupo
/frontofficeapi/v1//reservaGrupoEstado colour Blue title GET Descrição: Listar reserva de grupo
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
dataEntrada
string
Sim
Data da entrada
dataSaida
string
Sim
Data da saída
page
string
Não
Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição.
limit
string
Não
Quantidade de registros por página
Respostas
Código
Descrição
200
OK
Listar Segmento
/frontofficeapi/v1/SegmentoEstado colour Blue title GET Descrição: Listar Segmento
Parâmetros
Nome
Tipo
Obrigatório
Descrição
IdHotel
string
Não
Hotel
CodSegmento
integer
Não
Identificador do Segmento
Respostas
Código
Descrição
200
OK
Listar TipoUH
/frontofficeapi/v1/tipoUHEstado colour Blue title GET Descrição: Listar TipoUH
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
IdTipoUh
integer
Não
Identificador do tipo de UH
Respostas
Código
Descrição
200
OK
Listar UH
/frontofficeapi/v1/UHEstado colour Blue title GET Descrição: Listar UH
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
tipo
string
Não
Tipo da UH
grupo
string
Não
Grupo da UH
Respostas
Código
Descrição
200
OK
Buscar agrupador de Uh
/frontofficeapi/v1/agrupadorUh/codReduzidoEstado colour Blue title GET Descrição: Buscar agrupador de Uh
Parâmetros
Nome
Tipo
Obrigatório
Descrição
idHotel
integer
Sim
Identificador do hotel
idAgrupadorUh
integer
Não
Identificador do agrupador de uh
codReduzido
string
Não
Código reduzido
Respostas
Código
Descrição
200
OK
404
Not Found




