Códigos de erro
Os erros chegam em três formatos: erros de autenticação como HTTP 401, erros de regra de negócio dentro de um HTTP 200 com success: false e erros do envio da reserva em BookingPushRS.Error. Esta página lista todos os códigos.
Erros de autenticação#
| HTTP | Resposta | Causa |
|---|---|---|
| 401 | {"success": false, "error": "Authentication required"} | Token ausente, desconhecido ou com formato Bearer malformado. |
| 200 | message: partner_is_not_found | Login: o par de chaves não confere. |
| 200 | message: hotel_is_not_found | Login: nenhum hotel para o hotelSeoUrl. |
| 200 | message: hotel_permission_is_not_found | Login: o parceiro não tem autorização para o hotel. |
Códigos do campo message#
Códigos de texto em snake_case, retornados junto com success: false.
| message | Endpoint | Descrição |
|---|---|---|
hotel_id_is_not_found | A maioria | hotelID não foi enviado. |
start_date_is_not_found / end_date_is_not_found | Disponibilidade | Parâmetro de data ausente. |
online_cupon_is_not_found | Cupom | Código desconhecido, inativo, expirado ou indisponível. |
mail_host_is_not_found | Configurações de e-mail | Nenhum SMTP configurado para o canal online. |
hotel_company_info_could_not_found | Dados do POS virtual | Nenhum provedor de pagamento configurado para o hotel. |
bank_info_is_not_found | Pagamento (tipo 3) | Nenhuma conta bancária habilitada para vendas online. |
required_input_info_not_submitted | Pagamento (tipo 10) | Falta um campo obrigatório; errors[] indica quais. |
country_info_sent_incorrectly | Pagamento (tipo 10) | countryID não está na lista de países. |
there_is_missing_info_in_the_shopping_cart | Pagamento (tipo 10) | Um item do carrinho não tem id, name, piece ou price; errors[] indica qual. |
Códigos de erro da lista de quartos#
A lista de quartos (POST /external/online/roomType) retorna um errorCode numérico e um errorMessage legível. A mensagem é traduzida conforme o parâmetro language; baseie seu código em errorCode.
| errorCode | Significado | O que fazer |
|---|---|---|
10001 | Hotel não encontrado | Verifique o hotelID. |
10002 | Parâmetro ausente (hotelID, startDate, endDate, adultCount) | Envie os campos obrigatórios. |
10003 | Hotel fechado para vendas online | O hotel precisa habilitar o canal online no painel. |
10004 | Nenhum tipo de quarto aberto aos canais | O hotel precisa abrir tipos de quarto para venda online. |
10022 | Parâmetros inválidos | Check-in hoje ou depois, check-out após o check-in, no máximo 30 noites, 1–40 adultos, 0–10 crianças. |
20001 | Disponibilidade insuficiente para adultos | Sugira outras datas ou outra ocupação. |
20002 | Disponibilidade insuficiente para crianças | Não restam quartos com capacidade para crianças. |
20003 / 20004 | Disponibilidade insuficiente para adultos e crianças | A capacidade total não atende à solicitação. |
Quando há disponibilidade, mas um tipo de quarto específico não pode ser vendido, o roomCount dele é 0 e o motivo está em roomRestrictionMessage: closed_to_checkin, closed_to_checkout, passive_sales, minimum_stay, maximum_stay, closed_to_arrival, price_not_found.
Erros do envio da reserva#
Em vez de Success: true, o BookingPushRS traz o campo Error:
{
"BookingPushRS": {
"Error": "Could not register.",
"BookingConfirmNumbers": [
{
"confirmTime": 1755500000,
"bookingID": 0,
"bookingType": "Book",
"HMS_ID": null
}
]
}
}| Error | Código | Causa |
|---|---|---|
| No available data could be found. | 01 | Corpo vazio ou JSON impossível de interpretar; Bookings[0].hotelID ausente. |
| Hotel registration not found on HMS. | 02 | O hotel não está vinculado ao canal online, ou o canal está inativo. |
| Could not register. | — | Erro ao gravar (ID de tipo de quarto ou de regime inválido, datas inconsistentes). |
| Failed to parse information. | — | Faltam campos esperados na estrutura. |
Quando tentar novamente#
- 401: faça login mais uma vez e repita a requisição.
- 500 e erros de rede: até 3 tentativas, com intervalos de 1 s, 2 s e 4 s. Ao repetir um envio de reserva, reutilize o mesmo
ID; umBookcom um código já existente atualiza o registro em vez de criar uma duplicata. - success: false: não repita; corrija o parâmetro ou ofereça uma alternativa ao hóspede.
- Nos chamados de suporte, inclua a requisição completa (com segredos e dados de cartão mascarados), a resposta e o horário.