API Reference
search
API REST · v1.0

API Iterpec

Documentação completa da API REST para integração B2B de turismo. Permite buscar e reservar hotéis, aluguéis de carro, transfers e passeios, além de gerenciar reservas via backoffice.

🏨Hotel🚗RentACar🚌Transfer🎡Tour & Tickets
Fluxo em 3 passos
Search → GetBookingConditions → DoBooking para todos os produtos.
Token de sessão
Tokens retornados no Search são válidos por 30 minutos.
Suporte
helpdesk@iterpec.com para dúvidas operacionais.
FLUXO DE RESERVA
1
Dados Estáticos
AirportDetail
2
Autocomplete
DestinationId
3
Hotel Detail
Hotel Detail
4a
Search
Availability
4b
GetBookingConditions
Validate price
4c
DoBooking
Confirm
4d
Cancel
Trip / Service

Datas, UTC e Boas Práticas

Todas as datas devem ser enviadas como string no formato ISO 8601. Nunca inclua informações de fuso horário nas datas, a menos que a documentação do campo específico indique o contrário.

CampoFormatoExemploObservação
Datas (CheckinDate, CheckoutDate, ServiceDate)YYYY-MM-DD2024-12-20Sempre no fuso horário local do destino.
Horários (Time, CheckInHour, CheckOutHour)HH:MM14:00Sempre em UTC. Converta para o fuso local ao exibir ao usuário.
Timestamps de resposta (TimeSpan)YYYY-MM-DD HH:MM:SS2024-12-20 14:30:58Sempre em UTC.
Datas em políticas de cancelamento (StartDate, EndDate)YYYY-MM-DD2024-12-15Representam o intervalo em que a penalidade se aplica (inclusive).
⚠️

CheckInHour e CheckOutHour são sempre em UTC. Converta para o fuso local do usuário antes de exibir.

ReToken e Revalidação de Disponibilidade

O **Token** retornado pelo Search é válido por **30 minutos**. Se o usuário demorar mais do que isso para avançar para o GetBookingConditions, o token expira. Nesse cenário, o sistema utiliza o **ReToken** — um mecanismo de revalidação automática que verifica se o quarto ainda está disponível e se o preço se manteve, sem necessidade de refazer o Search completo.

ReToken — Revalidação de Disponibilidade
Search
Token gerado (válido 30 min)
Token expirado?
Verificação automática
Não expirado
GetBookingConditions normal
Expirado
ReToken ativado automaticamente
RevalidateBookingConditions
SameRoomsFound / RoomsFoundWithChanges / RoomsNotFound
SameRoomsFound
Mesmo quarto encontrado

Disponibilidade e preço idênticos ao Search original. Prossiga normalmente para o DoBooking com o novo Token retornado.

RoomsFoundWithChanges
Quarto encontrado com alterações

O quarto ainda está disponível, mas houve mudança de preço ou de condições. Exiba as novas condições ao usuário antes de confirmar.

RoomsNotFound
Quarto não encontrado

O quarto não está mais disponível. Retorne ao Search para buscar novas opções. Nenhuma penalidade é aplicada.

Autenticação e Autorização

A API utiliza uma combinação de credenciais fixas (Username/Password) e tokens de sessão dinâmicos para autenticar e autorizar cada requisição.

1{
2 "Credential": {
3 "Username": "seu_usuario",
4 "Password": "sua_senha"
5 }
6}

Erros & Configurações

A API retorna códigos HTTP padrão. Todas as respostas são em JSON com compressão GZip disponível.

CódigoNomeDescrição
200OKA API retorna códigos HTTP padrão. Todas as respostas são em JSON com compressão GZip disponível.
400Bad RequestInvalid body — check required fields
401UnauthorizedInvalid credentials
404Not FoundResource not found
500Internal Server ErrorInternal error — contact support
Como Solicitar Suporte
Seg–Sex, 09:00–18:00 (GMT-3)
WhatsApp (fora do horário): +55 11 9 9501-4348
⚠️ Os contatos de voz/WhatsApp são exclusivos para emergências: queda de sistema ou erros no fluxo de reserva. Questões de integração são tratadas apenas por e-mail.

Status de Reserva

Cada reserva possui um status que reflete seu estado atual no sistema Cangooroo.

CONFIRMADO

Reserva confirmada, encaminhada ao hotel e com garantia de pagamento ao fornecedor.

CANCELADO

Reserva cancelada. Cobranças de penalidade continuam se aplicáveis.

REJEITADO

Falta de disponibilidade, mudança de tarifa, timeout do fornecedor ou nomes com caracteres especiais. Refaça a reserva sem risco de penalidade.

PROBLEMA TÉCNICO

Timeout no recebimento do número de confirmação. Em 70% dos casos a reserva está confirmada. Não crie nova reserva — consulte helpdesk@iterpec.com.

SOLICITAÇÃO DE RESERVA

Ocorre quando o cadastro do cliente está bloqueado por falta de crédito disponível.

AGUARDANDO PAGAMENTO

Conteúdo pré-pago com tarifa em penalidade. O sistema aguarda pagamento via cartão.

PROBLEMA NO CANCELAMENTO

Alguma conexão não comunicou o cancelamento ao fornecedor. Envie e-mail para helpdesk@iterpec.com.

EM PROGRESSO

Status de transição. Use GetBookingDetail para recuperar o status real.

1

Dados Estáticos

Dados de destinos, aeroportos e conteúdo base que raramente mudam. Recomendado atualizar a cada 30 dias e armazenar em cache local.

GET🌐Geral

AirportDetail

GEThttp://commons.t4w.com.br/new/api/v1/mapping/airport/{airportCode}/token/{token}
Busca dados detalhados de um aeroporto pelo código IATA. Útil para exibir informações de origem/destino em buscas de transfer e pacotes.

URL Parameters

NomeTipoReq.Descrição
airportCodestringreqCódigo IATA do aeroporto
ex: GRU
tokenstringreqToken de acesso
ex: aac7faba-ca30-4071-a18a-41cda1424bdc
managerIdintegerreqID do manager
ex: 270
1{}
2

Autocomplete

Sugestões em tempo real de destinos, hotéis e pontos de interesse. Ideal para campos de busca com digitação progressiva.

3

Enriquecer dados estáticos com Hotel Detail

Enriquece os dados de um hotel com fotos, geolocalização, amenities e informações de quartos. Use o HotelId retornado pelo Autocomplete ou pelo Search.

GET🏨Hotel

HotelDetail

GEThttp://commons.t4w.com.br/new/api/v1/mapping/hotel/{hotelId}/token/{token}
Busca fotos, dados completos, geolocalização, fotos de quarto (se disponível) e amenities do hotel e dos quartos. Este endpoint é chamado **após** o Autocomplete ou o Search para enriquecer a exibição do hotel ao usuário antes da reserva.

URL Parameters

NomeTipoReq.Descrição
hotelIdintegerreqID do hotel (retornado pelo Autocomplete ou Search)
ex: 160459
tokenstringreqToken de acesso
ex: aac7faba-ca30-4071-a18a-41cda1424bdc
managerIdintegerreqID do manager
ex: 270

Response Fields

NomeTipoReq.Descrição
idintegeroptID do hotel
destinationobjectoptDados do destino com nome multilíngue
namestringoptNome do hotel
addressstringoptEndereço completo
latitudenumberoptLatitude geográfica
longitudenumberoptLongitude geográfica
categorystringoptCategoria em estrelas (1–5)
amenitiesarray[string]optLista de comodidades do hotel
photosarray[string]optURLs das fotos do hotel
roomsarray[object]optDados dos tipos de quarto com fotos e amenities
1{}

Payment

Pagamento de reservas via cartão de crédito. Utilizado quando `IsPrePayment: true` no Search.

POST💳Payment

payBooking

POSThttps://ws.iterpec.com/API/REST/Payment.svc/payBooking
Realiza o pagamento de uma reserva via cartão de crédito. Utilizado quando `IsPrePayment` é `true` no retorno do Search.

Request Body

NomeTipoReq.Descrição
BookingIdstringreqID da reserva
CredentialobjectreqCredenciais de acesso
PaymentConditionIdstringreqID da condição de pagamento
PaymentRequestCC1objectreqDados do cartão de crédito
1{
2 "BookingId": "1864605",
3 "Credential": {
4 "Password": "{{minhasenha}}",
5 "Username": "{{meuusuario}}"
6 },
7 "PaymentConditionId": "CC-001",
8 "PaymentRequestCC1": {
9 "ContractingParty": {
10 "Address": "Rua das Flores, 100",
11 "CPF": "123.456.789-00",
12 "CityName": "São Paulo",
13 "CountryCode": "BR",
14 "Email": "titular@email.com",
15 "PersonName": "João Silva",
16 "PhoneDDD": "11",
17 "PhoneNumber": "999999999"
18 }
19 }
20}

ClientBackOffice

Gestão e consulta de reservas. Use GetBookingList para monitorar alterações e GetBookingDetail para atualizar dados.

POST📋BackOffice

GetBookingDetail

POSThttps://ws.iterpec.com/API/REST/ClientBackOffice.svc/GetBookingDetail
💡 Chamar este método atualiza o status da reserva. Use polling a cada 5–30 min para resolver estados ambíguos (TechnicalProblem, PendingCancellation).
Obtém dados detalhados de uma reserva e **atualiza seu status** com o estado mais recente do fornecedor. É o método central para resolver reservas em estados ambíguos. Além de retornar dados para faturamento, voucher e número de confirmação do hotel (HCN), cada chamada sincroniza o status da reserva com o fornecedor. Isso torna o método essencial para monitoramento automático via polling.

Request Body

NomeTipoReq.Descrição
CredentialobjectreqCredenciais de acesso
BookingIdstringreqID da reserva (ReservationId)
ex: "1864605"

Response Fields

NomeTipoReq.Descrição
BookingobjectoptDados completos da reserva
⚠️
🔄 Chamar GetBookingDetail ATUALIZA o status da reserva
Cada chamada a este método sincroniza o status da reserva com o fornecedor. Não é apenas uma consulta — é uma atualização ativa. Use isso a seu favor: ao chamar periodicamente (polling), você obtém o status final de reservas que ficaram em estados ambíguos após o DoBooking.
📊 Estados Ambíguos que Requerem Polling
Após o DoBooking, uma reserva pode retornar em um dos seguintes estados que exigem acompanhamento ativo:
StatusSignificadoAnalogiaAção Recomendada
TechnicalProblemErro técnico durante a criação. Não se sabe se a reserva foi criada no fornecedor.HTTP 500 de uma APIPolling a cada 5 min por até 30 min
PendingReserva criada, aguardando confirmação do fornecedor (ex: OnRequest).HTTP 202 AcceptedPolling a cada 10 min por até 30 min
PendingCancellationSolicitação de cancelamento enviada, aguardando confirmação do fornecedor.HTTP 202 de um DELETEPolling a cada 5 min por até 30 min
RejectedReserva rejeitada pelo fornecedor. Status final — sempre resultará em cancelamento.HTTP 422Não requer polling — status final
Este PRD define como implementar o monitoramento automático de reservas em estados ambíguos usando GetBookingDetail como mecanismo de polling.
1{
2 "Credential": {
3 "Username": "{{meuusuario}}",
4 "Password": "{{minhasenha}}"
5 },
6 "BookingId": "1864605"
7}
POST📋BackOffice

GetBookingList

POSThttps://ws.iterpec.com/API/REST/ClientBackOffice.svc/GetBookingList
Recupera lista de reservas que sofreram alteração de status, valor, período ou dados dos passageiros.

Request Body

NomeTipoReq.Descrição
CredentialobjectreqCredenciais de acesso
SearchBookingCriteriaobjectoptFiltros de busca (todos opcionais)
1{
2 "Credential": {
3 "Password": "{{minhasenha}}",
4 "Username": "{{meuusuario}}"
5 },
6 "SearchBookingCriteria": {
7 "BookingNumber": [],
8 "CheckinDateFrom": "2024-01-01",
9 "CheckinDateTo": "2024-01-31"
10 }
11}

© 2026 Iterpec · helpdesk@iterpec.com