Autenticação

O acesso à API Online Booking usa credenciais de parceiro emitidas pela HMS. O endpoint de login troca apiKey e apiSecret por um token, que é enviado como Authorization: Bearer em todas as demais requisições. Veja o guia Autenticação para mais detalhes.

Fazer login e obter um token#

POST/external/public/login

Não requer autenticação · Corpo: application/x-www-form-urlencoded ou multipart/form-data

Valida as credenciais do parceiro e emite um token se o parceiro tiver autorização para o hotel. O token fica vinculado a um único hotel; faça login separadamente para cada hotel.

Campos de formulário

apiKeystringobrigatório
Chave de parceiro emitida pela HMS.
apiSecretstringobrigatório
Segredo do parceiro. Mantenha-o somente no servidor.
hotelCodeintegerobrigatório
ID do hotel no HMS (hotelID). O parceiro precisa ter autorização para este hotel.
hotelSeoUrlstring
Slug de SEO do hotel no HMS. Usado no lugar de hotelCode apenas pelo próprio motor de reservas do HMS; integrações de terceiros devem enviar hotelCode.

Resposta

200 Token e dados do hotel. O token é válido por 7 dias; renove-o fazendo login novamente antes que expire.

successboolean
Indicador de resultado.
hotelCodestring
ID do hotel ao qual o token está vinculado.
tokenstring
Bearer token. Trate-o como opaco; não tente interpretá-lo.
hotelSeoUrlstring | null
Slug de SEO do hotel.

Respostas de erro

  • 200 partner_is_not_found — o par de chaves não confere; hotel_is_not_found — nenhum hotel para o hotelSeoUrl; hotel_permission_is_not_found — o parceiro não tem autorização para este hotel ou a autorização está inativa.
Requisição
curl "https://test.hms.gen.tr/external/public/login" \
  -d "apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q=" \
  -d "apiSecret=a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19" \
  -d "hotelCode=1000"
Resposta · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIsInRpbWV6b25lX3R5cGUiOjMsInRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIn0sInRva2VuIjoiM2tkOXNscTJwbTh2eHI0dHp5Nm53YjFoYzdmajVnYTAiLCJob3RlbElEIjoxMDAwLCJ1c2VySUQiOjQyLCJkYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTA4IDEwOjI0OjMxLjAwMDAwMCJ9fQ==",
    "hotelSeoUrl": "demo-otel"
}
Resposta · 200 (falha)
{
    "success": false,
    "token": null,
    "message": "hotel_permission_is_not_found"
}
Última atualização: 21 de setembro de 2026Encontrou um erro? Avise-nos