Pular para o conteúdo

Sua configuração

Estes valores são inseridos nos exemplos de código abaixo. Nenhuma chamada é feita a partir deste portal.

ws-

Sem o prefixo ws-. Ex.: cliente → resulta em ws-cliente.cangooroo.net

Diferente do clientId. Usado apenas na Commons API (Autocomplete/HotelDetail).

Token concedido ao parceiro integrador.

Portal

Introdução

O Cangooroo API Docs é o portal interativo da API REST Cangooroo para integração B2B de turismo. Aqui você consulta todos os endpoints, gera exemplos em 6 linguagens e revisa convenções que o parceiro precisa dominar antes de publicar em produção.

O fluxo dinâmico segue quatro etapas numeradas na sidebar: 1. Dados estáticos 2. Autocomplete 3. Enriquecimento 4. Chamadas dinâmicas (Search → GetBookingConditions → DoBooking → Cancel).

Convenções

Datas & UTC

A API mistura data local (do hotel/serviço) com horários em UTC (timestamps de sistema). Nunca converta datas de check-in/check-out — elas são locais por definição.

  • checkIn / checkOut: YYYY-MM-DD, horário local do hotel.
  • createdAt, updatedAt: ISO 8601 em UTC.
  • TimeSpan: HH:MM:SS.

Segurança

Autenticação

A API dinâmica é multi-tenant por subdomínio (ws-[clientId].cangooroo.net). A Commons API usa host único com managerid e token na URL — não são intercambiáveis com o clientId.

Configure seus três valores no card acima. Todos os exemplos de código serão reescritos automaticamente.

HTTP

Erros & Status HTTP

  • 200 — sucesso.
  • 400 — payload inválido; ver campo errors.
  • 401 / 403 — credenciais inválidas ou sem permissão para o serviço.
  • 409 — indisponibilidade / conflito de estado. Chame ReToken e reprocesse.
  • 5xx ou timeout — não crie nova reserva. Use GetBookingDetail (polling) para resolver o status real antes de qualquer nova ação.

Reserva

Status de Reserva

  • Pending — reserva aceita internamente, aguardando confirmação do fornecedor.
  • Confirmed — fornecedor confirmou; localizador emitido.
  • OnRequest — depende de confirmação manual (SLA definido por fornecedor).
  • Cancelled — reserva cancelada; verifique políticas antes de reprocessar cobrança.
  • Rejected — fornecedor recusou; a reserva não conta como emitida.

Revalidação

ReToken

Após a Search, cada tarifa tem um rateKey com validade curta. Se o cliente demorar para escolher, chame ReToken para revalidar antes do GetBookingConditions — isso evita erros 409 no momento do DoBooking.

1

Dados Estáticos

GET

HotelDetail (dados estáticos)

Retorna dados estáticos de um hotel: nome, endereço, coordenadas, fotos, comodidades. Usado para enriquecer o cache local antes das buscas dinâmicas.

URL
http://commons.t4w.com.br/new/api/v1/mapping/hoteldetail/{hotelCode}/managerid/123/token/SEU_TOKEN_AQUI

Parâmetros

  • hotelCodestringrequired

    Código único do hotel no catálogo Cangooroo.

Try it outReferência

Código único do hotel no catálogo Cangooroo.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X GET "http://commons.t4w.com.br/new/api/v1/mapping/hoteldetail/{hotelCode}/managerid/123/token/SEU_TOKEN_AQUI"
Exemplo de response
{
  "hotelCode": "12345",
  "name": "Hotel Copacabana Palace",
  "address": "Av. Atlântica, 1702",
  "city": "Rio de Janeiro",
  "country": "BR",
  "stars": 5
}
2

Autocomplete

GET

Autocomplete

Retorna sugestões de destinos, hotéis, aeroportos e cidades a partir de um termo digitado.

URL
http://commons.t4w.com.br/new/api/v1/mapping/autocomplete/all/{term}/managerid/123/token/SEU_TOKEN_AQUI

Parâmetros

  • termstringrequired

    Termo digitado pelo usuário (mín. 3 caracteres).

Try it outReferência

Termo digitado pelo usuário (mín. 3 caracteres).

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X GET "http://commons.t4w.com.br/new/api/v1/mapping/autocomplete/all/{term}/managerid/123/token/SEU_TOKEN_AQUI"
Exemplo de response
[
  {
    "type": "city",
    "code": "RIO",
    "name": "Rio de Janeiro, Brasil"
  },
  {
    "type": "hotel",
    "code": "12345",
    "name": "Hotel Copacabana Palace"
  }
]
3

Enriquecer com Hotel Detail

GET

HotelDetail (enriquecimento)

Mesma rota da etapa 1, usada após a Search para exibir detalhes ricos do hotel na tela de resultados.

URL
http://commons.t4w.com.br/new/api/v1/mapping/hoteldetail/{hotelCode}/managerid/123/token/SEU_TOKEN_AQUI

Parâmetros

  • hotelCodestringrequired

    Código do hotel retornado pela Search.

Try it outReferência

Código do hotel retornado pela Search.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X GET "http://commons.t4w.com.br/new/api/v1/mapping/hoteldetail/{hotelCode}/managerid/123/token/SEU_TOKEN_AQUI"
4

Search

Filtrar por produto
HotelPOST

Search — Hotel

Busca disponibilidade e tarifas. Guarde o searchId e a rateKey — ambos são necessários nas etapas seguintes.

URL
https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/search

Parâmetros

  • cityCodestringrequired

    Código do destino.

  • checkIndaterequired

    Data de entrada (YYYY-MM-DD, horário local).

  • checkOutdaterequired

    Data de saída (YYYY-MM-DD).

  • roomsarrayrequired

    Array de quartos com adultos e idades das crianças.

  • languagestring

    Idioma do conteúdo (pt, en, es).

Try it outReferência

Código do destino.

Data de entrada (YYYY-MM-DD, horário local).

Data de saída (YYYY-MM-DD).

Array de quartos com adultos e idades das crianças.

Idioma do conteúdo (pt, en, es).

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/search" \
  -H "Content-Type: application/json" \
  -d '{
  "cityCode": "RIO",
  "checkIn": "2026-12-20",
  "checkOut": "2026-12-27",
  "rooms": [
    {
      "adults": 2,
      "childrenAges": [
        8
      ]
    }
  ],
  "language": "pt"
}'
Exemplo de response
{
  "searchId": "abc123",
  "hotels": [
    {
      "hotelCode": "12345",
      "name": "Hotel Copacabana Palace",
      "totalPrice": 5250,
      "currency": "BRL"
    }
  ]
}
RentACarPOST

Search — Rentacar

Busca disponibilidade e tarifas. Guarde o searchId e a rateKey — ambos são necessários nas etapas seguintes.

URL
https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/search

Parâmetros

  • pickupLocationstringrequired

    IATA/código da agência de retirada.

  • dropoffLocationstring

    Código da agência de devolução (se diferente).

  • pickupDateTimedaterequired

    Data/hora de retirada (ISO local).

  • dropoffDateTimedaterequired

    Data/hora de devolução (ISO local).

  • driverAgenumberrequired

    Idade do motorista principal.

  • languagestring

    Idioma do conteúdo (pt, en, es).

Try it outReferência

IATA/código da agência de retirada.

Código da agência de devolução (se diferente).

Data/hora de retirada (ISO local).

Data/hora de devolução (ISO local).

Idade do motorista principal.

Idioma do conteúdo (pt, en, es).

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/search" \
  -H "Content-Type: application/json" \
  -d '{
  "pickupLocation": "GIG",
  "dropoffLocation": "GIG",
  "pickupDateTime": "2026-12-20T10:00:00",
  "dropoffDateTime": "2026-12-27T10:00:00",
  "driverAge": 35,
  "language": "pt"
}'
Exemplo de response
{
  "searchId": "car-abc",
  "vehicles": [
    {
      "vehicleCode": "ECON-01",
      "category": "Econômico",
      "totalPrice": 890,
      "currency": "BRL"
    }
  ]
}
TransferPOST

Search — Transfer

Busca disponibilidade e tarifas. Guarde o searchId e a rateKey — ambos são necessários nas etapas seguintes.

URL
https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/search

Parâmetros

  • fromLocationstringrequired

    Ponto de origem (aeroporto/hotel).

  • toLocationstringrequired

    Ponto de destino.

  • pickupDateTimedaterequired

    Data/hora do embarque (ISO local).

  • passengersnumberrequired

    Total de passageiros.

  • roundTripboolean

    Se true, ida e volta.

  • languagestring

    Idioma do conteúdo (pt, en, es).

Try it outReferência

Ponto de origem (aeroporto/hotel).

Ponto de destino.

Data/hora do embarque (ISO local).

Total de passageiros.

Se true, ida e volta.

Idioma do conteúdo (pt, en, es).

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/search" \
  -H "Content-Type: application/json" \
  -d '{
  "fromLocation": "GIG",
  "toLocation": "HOTEL-12345",
  "pickupDateTime": "2026-12-20T14:30:00",
  "passengers": 2,
  "roundTrip": false,
  "language": "pt"
}'
Exemplo de response
{
  "searchId": "trf-abc",
  "services": [
    {
      "serviceCode": "PRIV-SEDAN",
      "vehicleType": "Sedan Privativo",
      "totalPrice": 220,
      "currency": "BRL"
    }
  ]
}
Tour & TicketsPOST

Search — Tour

Busca disponibilidade e tarifas. Guarde o searchId e a rateKey — ambos são necessários nas etapas seguintes.

URL
https://ws-cliente.cangooroo.net/API/REST/Tour.svc/search

Parâmetros

  • cityCodestringrequired

    Código da cidade do passeio.

  • datedaterequired

    Data do passeio (YYYY-MM-DD).

  • adultsnumberrequired

    Número de adultos.

  • childrennumber

    Número de crianças.

  • languagestring

    Idioma do conteúdo (pt, en, es).

Try it outReferência

Código da cidade do passeio.

Data do passeio (YYYY-MM-DD).

Número de adultos.

Número de crianças.

Idioma do conteúdo (pt, en, es).

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Tour.svc/search" \
  -H "Content-Type: application/json" \
  -d '{
  "cityCode": "RIO",
  "date": "2026-12-22",
  "adults": 2,
  "children": 1,
  "language": "pt"
}'
Exemplo de response
{
  "searchId": "tour-abc",
  "tours": [
    {
      "tourCode": "CRISTO-STD",
      "name": "Cristo Redentor + City Tour",
      "totalPrice": 340,
      "currency": "BRL"
    }
  ]
}
4

GetBookingConditions

HotelPOST

GetBookingConditions — Hotel

Retorna condições finais: preço firme, políticas de cancelamento e MoreInformation. Chamada obrigatória antes do DoBooking.

URL
https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/getBookingConditions

Parâmetros

  • searchIdstringrequired

    ID retornado pela Search.

  • hotelCodestringrequired

    Código do item escolhido na Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

Try it outReferência

ID retornado pela Search.

Código do item escolhido na Search.

Chave da tarifa validada em GetBookingConditions.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/getBookingConditions" \
  -H "Content-Type: application/json" \
  -d '{
  "searchId": "abc123",
  "hotelCode": "ITEM-CODE",
  "rateKey": "RATE-XYZ"
}'
Exemplo de response
{
  "rateKey": "RATE-XYZ",
  "price": {
    "total": 5250,
    "currency": "BRL",
    "firm": true
  },
  "cancellationPolicy": [
    {
      "deadline": "2026-12-15T23:59:59Z",
      "penalty": 0
    }
  ]
}
RentACarPOST

GetBookingConditions — Rentacar

Retorna condições finais: preço firme, políticas de cancelamento e MoreInformation. Chamada obrigatória antes do DoBooking.

URL
https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/getBookingConditions

Parâmetros

  • searchIdstringrequired

    ID retornado pela Search.

  • vehicleCodestringrequired

    Código do item escolhido na Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

Try it outReferência

ID retornado pela Search.

Código do item escolhido na Search.

Chave da tarifa validada em GetBookingConditions.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/getBookingConditions" \
  -H "Content-Type: application/json" \
  -d '{
  "searchId": "abc123",
  "vehicleCode": "ITEM-CODE",
  "rateKey": "RATE-XYZ"
}'
Exemplo de response
{
  "rateKey": "RATE-XYZ",
  "price": {
    "total": 5250,
    "currency": "BRL",
    "firm": true
  },
  "cancellationPolicy": [
    {
      "deadline": "2026-12-15T23:59:59Z",
      "penalty": 0
    }
  ]
}
TransferPOST

GetBookingConditions — Transfer

Retorna condições finais: preço firme, políticas de cancelamento e MoreInformation. Chamada obrigatória antes do DoBooking.

URL
https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/getBookingConditions

Parâmetros

  • searchIdstringrequired

    ID retornado pela Search.

  • serviceCodestringrequired

    Código do item escolhido na Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

Try it outReferência

ID retornado pela Search.

Código do item escolhido na Search.

Chave da tarifa validada em GetBookingConditions.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/getBookingConditions" \
  -H "Content-Type: application/json" \
  -d '{
  "searchId": "abc123",
  "serviceCode": "ITEM-CODE",
  "rateKey": "RATE-XYZ"
}'
Exemplo de response
{
  "rateKey": "RATE-XYZ",
  "price": {
    "total": 5250,
    "currency": "BRL",
    "firm": true
  },
  "cancellationPolicy": [
    {
      "deadline": "2026-12-15T23:59:59Z",
      "penalty": 0
    }
  ]
}
Tour & TicketsPOST

GetBookingConditions — Tour

Retorna condições finais: preço firme, políticas de cancelamento e MoreInformation. Chamada obrigatória antes do DoBooking.

URL
https://ws-cliente.cangooroo.net/API/REST/Tour.svc/getBookingConditions

Parâmetros

  • searchIdstringrequired

    ID retornado pela Search.

  • tourCodestringrequired

    Código do item escolhido na Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

Try it outReferência

ID retornado pela Search.

Código do item escolhido na Search.

Chave da tarifa validada em GetBookingConditions.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Tour.svc/getBookingConditions" \
  -H "Content-Type: application/json" \
  -d '{
  "searchId": "abc123",
  "tourCode": "ITEM-CODE",
  "rateKey": "RATE-XYZ"
}'
Exemplo de response
{
  "rateKey": "RATE-XYZ",
  "price": {
    "total": 5250,
    "currency": "BRL",
    "firm": true
  },
  "cancellationPolicy": [
    {
      "deadline": "2026-12-15T23:59:59Z",
      "penalty": 0
    }
  ]
}
4

Booking

HotelPOST

DoBooking — Hotel

Confirma a reserva no fornecedor. Envie a mesma idempotencyKey em caso de retry — em timeout, use GetBookingDetail antes de tentar novamente.

URL
https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/doBooking

Parâmetros

  • idempotencyKeyuuidrequired

    UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

  • searchIdstringrequired

    ID retornado pela Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

  • guestsarrayrequired

    Lista de pessoas com nome, sobrenome e documento.

Try it outReferência

UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

ID retornado pela Search.

Chave da tarifa validada em GetBookingConditions.

Lista de pessoas com nome, sobrenome e documento.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/doBooking" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotencyKey": "b3c1c9a2-8f2d-4a10-9c1f-1d2b6e0a4e77",
  "searchId": "abc123",
  "rateKey": "RATE-XYZ",
  "guests": [
    {
      "firstName": "Ana",
      "lastName": "Souza",
      "document": "12345678900"
    },
    {
      "firstName": "Bruno",
      "lastName": "Souza",
      "document": "98765432100"
    }
  ]
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Confirmed",
  "supplierLocator": "SUP-4a7b"
}
RentACarPOST

DoBooking — Rentacar

Confirma a reserva no fornecedor. Envie a mesma idempotencyKey em caso de retry — em timeout, use GetBookingDetail antes de tentar novamente.

URL
https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/doBooking

Parâmetros

  • idempotencyKeyuuidrequired

    UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

  • searchIdstringrequired

    ID retornado pela Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

  • passengersarrayrequired

    Lista de pessoas com nome, sobrenome e documento.

Try it outReferência

UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

ID retornado pela Search.

Chave da tarifa validada em GetBookingConditions.

Lista de pessoas com nome, sobrenome e documento.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/doBooking" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotencyKey": "b3c1c9a2-8f2d-4a10-9c1f-1d2b6e0a4e77",
  "searchId": "abc123",
  "rateKey": "RATE-XYZ",
  "passengers": [
    {
      "firstName": "Ana",
      "lastName": "Souza",
      "document": "12345678900"
    },
    {
      "firstName": "Bruno",
      "lastName": "Souza",
      "document": "98765432100"
    }
  ]
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Confirmed",
  "supplierLocator": "SUP-4a7b"
}
TransferPOST

DoBooking — Transfer

Confirma a reserva no fornecedor. Envie a mesma idempotencyKey em caso de retry — em timeout, use GetBookingDetail antes de tentar novamente.

URL
https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/doBooking

Parâmetros

  • idempotencyKeyuuidrequired

    UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

  • searchIdstringrequired

    ID retornado pela Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

  • passengersarrayrequired

    Lista de pessoas com nome, sobrenome e documento.

Try it outReferência

UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

ID retornado pela Search.

Chave da tarifa validada em GetBookingConditions.

Lista de pessoas com nome, sobrenome e documento.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/doBooking" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotencyKey": "b3c1c9a2-8f2d-4a10-9c1f-1d2b6e0a4e77",
  "searchId": "abc123",
  "rateKey": "RATE-XYZ",
  "passengers": [
    {
      "firstName": "Ana",
      "lastName": "Souza",
      "document": "12345678900"
    },
    {
      "firstName": "Bruno",
      "lastName": "Souza",
      "document": "98765432100"
    }
  ]
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Confirmed",
  "supplierLocator": "SUP-4a7b"
}
Tour & TicketsPOST

DoBooking — Tour

Confirma a reserva no fornecedor. Envie a mesma idempotencyKey em caso de retry — em timeout, use GetBookingDetail antes de tentar novamente.

URL
https://ws-cliente.cangooroo.net/API/REST/Tour.svc/doBooking

Parâmetros

  • idempotencyKeyuuidrequired

    UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

  • searchIdstringrequired

    ID retornado pela Search.

  • rateKeystringrequired

    Chave da tarifa validada em GetBookingConditions.

  • passengersarrayrequired

    Lista de pessoas com nome, sobrenome e documento.

Try it outReferência

UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

ID retornado pela Search.

Chave da tarifa validada em GetBookingConditions.

Lista de pessoas com nome, sobrenome e documento.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Tour.svc/doBooking" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotencyKey": "b3c1c9a2-8f2d-4a10-9c1f-1d2b6e0a4e77",
  "searchId": "abc123",
  "rateKey": "RATE-XYZ",
  "passengers": [
    {
      "firstName": "Ana",
      "lastName": "Souza",
      "document": "12345678900"
    },
    {
      "firstName": "Bruno",
      "lastName": "Souza",
      "document": "98765432100"
    }
  ]
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Confirmed",
  "supplierLocator": "SUP-4a7b"
}
4

Cancel

HotelPOST

Cancel — Hotel (modo 1: por viagem)

Cancela todos os serviços associados a uma reserva. Ver políticas em GetBookingConditions antes de acionar.

URL
https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/cancelAllHotelServices

Parâmetros

  • bookingNumberstringrequired

    Número da reserva a cancelar.

Try it outReferência

Número da reserva a cancelar.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Hotel.svc/cancelAllHotelServices" \
  -H "Content-Type: application/json" \
  -d '{
  "bookingNumber": "CGR-2026-0001"
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Cancelled",
  "refundAmount": 0
}
RentACarPOST

Cancel — Rentacar (modo 1: por viagem)

Cancela todos os serviços associados a uma reserva. Ver políticas em GetBookingConditions antes de acionar.

URL
https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/cancelAllRentacarServices

Parâmetros

  • bookingNumberstringrequired

    Número da reserva a cancelar.

Try it outReferência

Número da reserva a cancelar.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/RentACar.svc/cancelAllRentacarServices" \
  -H "Content-Type: application/json" \
  -d '{
  "bookingNumber": "CGR-2026-0001"
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Cancelled",
  "refundAmount": 0
}
TransferPOST

Cancel — Transfer (modo 1: por viagem)

Cancela todos os serviços associados a uma reserva. Ver políticas em GetBookingConditions antes de acionar.

URL
https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/cancelAllTransferServices

Parâmetros

  • bookingNumberstringrequired

    Número da reserva a cancelar.

Try it outReferência

Número da reserva a cancelar.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Transfer.svc/cancelAllTransferServices" \
  -H "Content-Type: application/json" \
  -d '{
  "bookingNumber": "CGR-2026-0001"
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Cancelled",
  "refundAmount": 0
}
Tour & TicketsPOST

Cancel — Tour (modo 1: por viagem)

Cancela todos os serviços associados a uma reserva. Ver políticas em GetBookingConditions antes de acionar.

URL
https://ws-cliente.cangooroo.net/API/REST/Tour.svc/cancelAllTourServices

Parâmetros

  • bookingNumberstringrequired

    Número da reserva a cancelar.

Try it outReferência

Número da reserva a cancelar.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Tour.svc/cancelAllTourServices" \
  -H "Content-Type: application/json" \
  -d '{
  "bookingNumber": "CGR-2026-0001"
}'
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Cancelled",
  "refundAmount": 0
}

Payment

POST

Payment — Charge

Registra a cobrança da reserva. Envie sempre uma idempotencyKey; em caso de timeout, consulte GetPaymentStatus antes de reenviar.

URL
https://ws-cliente.cangooroo.net/API/REST/Payment.svc/charge

Parâmetros

  • idempotencyKeyuuidrequired

    UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

  • bookingNumberstringrequired

    Número da reserva a cancelar.

  • amountnumberrequired

    Valor total a cobrar.

  • currencystringrequired

    ISO 4217 (BRL, USD, EUR).

  • methodstringrequired

    Método: credit_card | pix | bank_slip.

Try it outReferência

UUID v4 exclusivo desta tentativa. Reenvie o mesmo valor após timeout — NUNCA gere um novo.

Número da reserva a cancelar.

Valor total a cobrar.

ISO 4217 (BRL, USD, EUR).

Método: credit_card | pix | bank_slip.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/Payment.svc/charge" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotencyKey": "b3c1c9a2-8f2d-4a10-9c1f-1d2b6e0a4e77",
  "bookingNumber": "CGR-2026-0001",
  "amount": 5250,
  "currency": "BRL",
  "method": "credit_card"
}'
Exemplo de response
{
  "paymentId": "pay_9f8e",
  "status": "Approved",
  "capturedAt": "2026-11-14T18:22:03Z"
}
GET

Payment — GetPaymentStatus

Consulta o status atual de um pagamento. Use em polling (backoff 1s → 30s) após timeout do Charge.

URL
https://ws-cliente.cangooroo.net/API/REST/Payment.svc/status/{paymentId}

Parâmetros

  • paymentIdstringrequired

    Identificador retornado pelo Charge.

Try it outReferência

Identificador retornado pelo Charge.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X GET "https://ws-cliente.cangooroo.net/API/REST/Payment.svc/status/{paymentId}"
Exemplo de response
{
  "paymentId": "pay_9f8e",
  "status": "Approved",
  "amount": 5250,
  "currency": "BRL"
}

ClientBackOffice

GET

GetBookingDetail

Fonte-de-verdade para o estado real de uma reserva. Chame após timeout do DoBooking, antes de qualquer nova tentativa.

URL
https://ws-cliente.cangooroo.net/API/REST/ClientBackOffice.svc/getBookingDetail/{bookingNumber}

Parâmetros

  • bookingNumberstringrequired

    Número da reserva.

Try it outReferência

Número da reserva.

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X GET "https://ws-cliente.cangooroo.net/API/REST/ClientBackOffice.svc/getBookingDetail/{bookingNumber}"
Exemplo de response
{
  "bookingNumber": "CGR-2026-0001",
  "status": "Confirmed",
  "product": "hotel",
  "supplierLocator": "SUP-4a7b",
  "createdAt": "2026-11-14T18:20:11Z"
}
POST

ListBookings

Lista paginada de reservas por período de criação, status ou produto. Datas de criação são UTC.

URL
https://ws-cliente.cangooroo.net/API/REST/ClientBackOffice.svc/listBookings

Parâmetros

  • createdFromdaterequired

    Data inicial (ISO 8601 UTC).

  • createdTodaterequired

    Data final (ISO 8601 UTC).

  • statusstring

    Confirmed | Pending | Cancelled | OnRequest | Rejected.

  • pagenumber

    Página (1-based).

  • pageSizenumber

    Itens por página (máx 100).

Try it outReferência

Data inicial (ISO 8601 UTC).

Data final (ISO 8601 UTC).

Confirmed | Pending | Cancelled | OnRequest | Rejected.

Página (1-based).

Itens por página (máx 100).

Edite os parâmetros — o exemplo de código é atualizado ao vivo. Nenhuma chamada real é enviada.

Exemplo de request
curl -X POST "https://ws-cliente.cangooroo.net/API/REST/ClientBackOffice.svc/listBookings" \
  -H "Content-Type: application/json" \
  -d '{
  "createdFrom": "2026-11-01T00:00:00Z",
  "createdTo": "2026-11-30T23:59:59Z",
  "status": "Confirmed",
  "page": 1,
  "pageSize": 25
}'
Exemplo de response
{
  "total": 42,
  "page": 1,
  "pageSize": 25,
  "bookings": [
    {
      "bookingNumber": "CGR-2026-0001",
      "status": "Confirmed",
      "product": "hotel",
      "total": 5250,
      "currency": "BRL"
    }
  ]
}

Cache local

Downloads estáticos

Arquivos ZIP com o catálogo estático. Baixe, extraia e importe em seu banco local — atualize semanalmente.