Este documento explicita com exemplos, como utilizar os recursos disponíveis no REST API de Sites de Hotéis. Assim como, as formas de se realizar uma requisição e suas possíveis respostas.
Requisição para listar todos os hotéis do sistema, podendo opcionalmente receber filtros personalizados via path, de forma que se o cliente não definir nenhum parâmetro de consulta (nenhum filtro), os parâmetros receberão os valores padrão.
- Possíveis parâmetros de consulta
- cidade ⇒ Filtrar hotéis pela cidade escolhida. Padrão: Nulo
- estrela_min ⇒ Avaliações mínimas de hotéis de 0 a 5. Padrão: 0
- estrela_max ⇒ Avaliações máximas de hotéis de 0 a 5. Padrão: 5
- diaria_min ⇒ Valor mínimo da diária do hotel de R$ 0 a R$ 10.000,00. Padrão: 0
- diaria_max ⇒ Valor máximo da diária do hotel de R$ 0 a R$ 10.000,00. Padrão: 10000
- limit ⇒ Quantidade máxima de elementos exibidos por página. Padrão: 50
- offset ⇒ Quantidade de elementos pular (geralmente múltiplo de limit). Padrão: 0
Method | URL |
---|---|
GET | /hoteis?estrelas_min=4.5&limit=10&offset=0&diaria_max=600 |
Como resposta, obtém-se uma lista de hotéis que se enquadram nos filtros da requisição acima e código 200.
Requisição para visualizar os dados de um hotel específico.
Method | URL |
---|---|
GET | /hoteis/{id} |
Como resposta, obtém-se um JSON com os dados do hotel requisitado e código 200.
Quando o id não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o hotel não foi encontrado e código 404.
Exemplo de Requisição cadastrar um novo usuário.
Method | URL |
---|---|
POST | /cadastro |
Header |
---|
Content-Type: application/json |
Request Body |
---|
Como resposta, obtém-se uma mensagem de sucesso informado que usuário foi criado, e código 201.
Status | Response Body |
---|---|
201 Created |
Quando o email já existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o email já foi cadastrado, e código 404.
O email cadastrado recebera um link para confirmar o cadastro. O serviço utilizado para o envio de email é a Twilio. É necessário criar um arquivo dotenv com as credenciais corretas para utilização do serviço da Twilio.
Exemplo de Requisição ativar um usuário.
Method | URL |
---|---|
POST | /confirmacao/{id} |
Como resposta, obtém-se uma mensagem de sucesso informado que usuário foi ativado, e código 200.
Status | Response Body |
---|---|
201 Created |
Exemplo de Requisição logar com um usuário.
Method | URL |
---|---|
POST | /login |
Header |
---|
Content-Type: application/json |
Request Body |
---|
Como resposta, obtém-se o token de acesso que será necessário para fazer as requisições que só podem ser feitas com login, e código 200.
Ao informar um email ou senha inválidos, como resposta, obtém-se uma mensagem de erro de código 401 não autorizado, informando que usuário ou senha estão incorretos.
Exemplo de Requisição para consultar usuários.
Method | URL |
---|---|
GET | /usuarios |
Header |
---|
Authorization: Bearer seu-token |
Como resposta, obtém-se uma lista de usuários, e código 200.
Status | Response Body |
---|---|
200 |
Exemplo de Requisição para consultar um usuário.
Method | URL |
---|---|
GET | /usuarios/{id} |
Header |
---|
Authorization: Bearer seu-token |
Como resposta, obtém-se um usuário, e código 200.
Status | Response Body |
---|---|
200 |
Quando o id não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o usuário não foi encontrado e código 404.
Exemplo de Requisição para editar um usuário.
Method | URL |
---|---|
PUT | /usuarios/{id} |
Header |
---|
Authorization: Bearer seu-token |
Request Body |
---|
Como resposta, obtém-se o usuário editado, e código 200.
Status | Response Body |
---|---|
200 |
Quando o id não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o usuário não foi encontrado e código 404.
Exemplo de requisição para deletar um usuário.
Method | URL |
---|---|
DELETE | /usuarios/{id} |
Header |
---|
Authorization: Bearer seu-token |
Como resposta, obtém-se uma mensagem confirmando a exclusão do usuário, e código 200.
Status | Response Body |
---|---|
200 |
Quando o id não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o usuário não foi encontrado e código 404.
Exemplo de Requisição para consultar sites.
Method | URL |
---|---|
GET | /sites |
Como resposta, obtém-se uma lista de usuários, e código 200.
Status | Response Body |
---|---|
200 |
Exemplo de Requisição para consultar um site.
Method | URL |
---|---|
POST | /adicionar |
Request Body |
---|
Como resposta, obtém-se uma mensagem de sucesso informado que o site foi criado, e código 201.
Status | Response Body |
---|---|
200 |
Exemplo de Requisição para consultar um site.
Method | URL |
---|---|
PUT | /site/{nome} |
Request Body |
---|
Como resposta, obtém-se uma mensagem de sucesso informado que o site foi editado, e código 200.
Status | Response Body |
---|---|
200 |
Quando o nome não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o site não foi encontrado e código 404.
Exemplo de requisição para deletar um site.
Method | URL |
---|---|
DELETE | /site/{nome} |
Como resposta, obtém-se uma mensagem confirmando a exclusão do site, e código 200.
Status | Response Body |
---|---|
200 |
Quando o nome não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o site não foi encontrado e código 404.
Para cadastrar um hotel é necessário ter cadastrado antes o site ao qual ele pertence.
Exemplo de requisição para cirar um hotel.
Method | URL |
---|---|
POST | /hoteis/{id} |
Header |
---|
Authorization: Bearer seu-token |
Request Body |
---|
Como resposta, obtém-se uma mensagem de sucesso informado que o hotel foi criado, e código 201.
Status | Response Body |
---|---|
200 |
Exemplo de requisição para editar um hotel.
Method | URL |
---|---|
PUT | /hoteis/{id} |
Header |
---|
Authorization: Bearer seu-token |
Request Body |
---|
Como resposta, obtém-se uma mensagem de sucesso informado que o hotel foi criado, e código 201.
Status | Response Body |
---|---|
200 | --- |
Quando o id não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o hotel não foi encontrado e código 404.
Exemplo de requisição para deletar um hotel.
Method | URL |
---|---|
DELETE | /hoteis/{id} |
Header |
---|
Authorization: Bearer seu-token |
Como resposta, obtém-se uma mensagem confirmando a exclusão do hotel, e código 200.
Status | Response Body |
---|---|
200 |
Quando o id não existe. Como resposta, obtém-se uma mensagem de erro, dizendo que o hotel não foi encontrado e código 404.