|
|
|
# Introdução
|
|
|
|
|
|
|
|
Esta página descreve os endpoints relacionados à aplicação. Abaixo, você encontrará os detalhes de cada endpoint, incluindo a URI, método HTTP, parâmetros e respostas.
|
|
|
|
|
|
|
|
# ArticleController
|
|
|
|
|
|
|
|
### Obter Artigo Específico
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /articles/{articleId}</span>
|
|
|
|
* **Método:** GET
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `articleId` ID do artigo.
|
|
|
|
* `language` Idioma solicitado.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Quando o artigo é encontrado. Retorna os detalhes do artigo.</span>
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se o artigo não for encontrado.</span>
|
|
|
|
|
|
|
|
### Obter Todos os Artigos
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /articles</span>
|
|
|
|
* **Método:** GET
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `language` Idioma solicitado.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Retorna uma lista de artigos. Se não houver artigos, retorna uma lista vazia.</span>
|
|
|
|
|
|
|
|
### Criar Artigo
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /articles</span>
|
|
|
|
* **Método:** POST
|
|
|
|
* **Corpo da requisição:** Contém os detalhes do artigo a ser criado. ID é autogerado.
|
|
|
|
* **Resposta:**
|
|
|
|
* **201 CREATED:** Quando o artigo é criado com sucesso. <span dir="">Retorna os detalhes do artigo recém-criado.</span>
|
|
|
|
|
|
|
|
# ImmigrantController
|
|
|
|
|
|
|
|
### Deletar Imigrante
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /immigrants/{email}</span>
|
|
|
|
* **Método:** DELETE
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `email` E-mail do imigrante.
|
|
|
|
* **Resposta:**
|
|
|
|
* **204 NO CONTENT:** <span dir="">Quando o imigrante é excluído com sucesso.</span>
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se o imigrante não for encontrado.</span>
|
|
|
|
|
|
|
|
### Obter Todos os Imigrantes
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>immigrants
|
|
|
|
* **Método:** GET
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Retorna uma lista de imigrantes. Se não houver imigrantes, retorna uma lista vazia.</span>
|
|
|
|
|
|
|
|
### Obter Imigrante Específico
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /immigrants/{email}</span>
|
|
|
|
* **Método:** GET
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `email` E-mail do imigrante.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** Quando o imigrante é encontrado. Retorna os detalhes do imigrante.
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se o imigrante não for encontrado.</span>
|
|
|
|
|
|
|
|
### Editar Imigrante
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /immigrants/{email}</span>
|
|
|
|
* **Método:** PATCH
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `email` E-mail do imigrante.
|
|
|
|
* **Corpo da requisição:** Contém os detalhes do imigrante a ser atualizado.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Retorna os detalhes do imigrante após a atualização.</span>
|
|
|
|
* **400 BAD REQUEST:** Em caso de tentativa de alteração de e-mail ou outros erros.
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se o imigrante não for encontrado.</span>
|
|
|
|
|
|
|
|
### Criar Imigrante
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /immigrants</span>
|
|
|
|
* **Método:** POST
|
|
|
|
* **Corpo da requisição:** Contém os detalhes do imigrante a ser criado.
|
|
|
|
* **Resposta:**
|
|
|
|
* **201 CREATED:** <span dir="">Quando o imigrante é criado com sucesso.</span>
|
|
|
|
* **400 BAD REQUEST:** <span dir="">Em caso de dados inválidos.</span>
|
|
|
|
* **409 CONFLICT:** <span dir="">Se o e-mail já estiver em uso.</span>
|
|
|
|
* **500 INTERNAL SERVER ERROR:** Em caso de erro interno.
|
|
|
|
|
|
|
|
# InstitutionController
|
|
|
|
|
|
|
|
### Deletar Instituição
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /institutions/{email}</span>
|
|
|
|
* **Método:** DELETE
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `email` E-mail da instituição.
|
|
|
|
* **Resposta:**
|
|
|
|
* **204 NO CONTENT:** <span dir="">Quando a instituição é excluída com sucesso.</span>
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se a instituição não for encontrada.</span>
|
|
|
|
|
|
|
|
### Obter Todas as Instituições
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>institutions
|
|
|
|
* **Método:** GET
|
|
|
|
* **Parâmetros (opcional)**<span dir="">:</span>
|
|
|
|
* `status` <span dir="">Status da instituição</span>.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Retorna uma lista de instituições. Se não houver instituições, retorna uma lista vazia.</span>
|
|
|
|
* **400 BAD REQUEST:** Em caso de status inválido.
|
|
|
|
|
|
|
|
### Obter Instituição Específica
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>institutions<span dir="">/{email}</span>
|
|
|
|
* **Método:** GET
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `email` E-mail da instituição.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** Quando a instituição é encontrada. Retorna os detalhes da instituição.
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se a instituição não for encontrada.</span>
|
|
|
|
|
|
|
|
### Editar Instituição
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>institutions<span dir="">/{email}</span>
|
|
|
|
* **Método:** PATCH
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `email` E-mail da instituição.
|
|
|
|
* **Corpo da requisição:** Contém os detalhes da instituição a ser atualizada.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Retorna os detalhes da instituição após a atualização.</span>
|
|
|
|
* **400 BAD REQUEST:** Em caso de dados inválidos.
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se a instituição não for encontrada.</span>
|
|
|
|
|
|
|
|
### Atualizar Status da Instituição
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>institutions<span dir="">/{email}</span>/status
|
|
|
|
* **Método:** PATCH
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `email` E-mail da instituição.
|
|
|
|
* **Cabeçalho da requisição:**
|
|
|
|
* `Authorization` Chave do usuário.
|
|
|
|
* **Corpo da requisição:**
|
|
|
|
* `status` Status a ser atualizado (REJECTED/APPROVED).
|
|
|
|
* `feedback` Mensagem de feedback.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** Retorna os detalhes da instituição após a atualização.
|
|
|
|
* **400 BAD REQUEST:** Em caso de Status inválido ou não informado.
|
|
|
|
* **404 NOT FOUND:** Se a instituição não for encontrada.
|
|
|
|
|
|
|
|
### Criar Instituição
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>institutions
|
|
|
|
* **Método:** POST
|
|
|
|
* **Corpo da requisição:** Contém os detalhes da instituição a ser criada.
|
|
|
|
* **Resposta:**
|
|
|
|
* **201 CREATED:** <span dir="">Quando a instituição é criada com sucesso.</span>
|
|
|
|
* **400 BAD REQUEST:** <span dir="">Em caso de dados inválidos.</span>
|
|
|
|
* **409 CONFLICT:** <span dir="">Se o e-mail já estiver em uso.</span>
|
|
|
|
* **500 INTERNAL SERVER ERROR:** Em caso de erro interno.
|
|
|
|
|
|
|
|
# ProgramController
|
|
|
|
|
|
|
|
### Criar Programa
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>programs
|
|
|
|
* **Método:** POST
|
|
|
|
* **Corpo da requisição:** Contém os detalhes do programa a ser criado.
|
|
|
|
* **Resposta:**
|
|
|
|
* **201 CREATED:** <span dir="">Quando o programa é criado com sucesso.</span> Retorna os detalhes do programa.
|
|
|
|
|
|
|
|
### Atualizar Status do Programa
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>programs<span dir="">/{id}</span>/status
|
|
|
|
* **Método:** PATCH
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `id` ID do programa.
|
|
|
|
* **Cabeçalho da requisição:**
|
|
|
|
* `Authorization` Chave do usuário.
|
|
|
|
* **Corpo da requisição:**
|
|
|
|
* `status` Status a ser atualizado (REJECTED/APPROVED).
|
|
|
|
* `feedback` Mensagem de feedback.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** Retorna os detalhes do programa após a atualização.
|
|
|
|
* **400 BAD REQUEST:** Em caso de Status inválido ou não informado.
|
|
|
|
* **404 NOT FOUND:** Se o programa não for encontrado.
|
|
|
|
|
|
|
|
### Obter Programa Específico
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>programs<span dir="">/{id}</span>
|
|
|
|
* **Método:** GET
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `id` ID do programa.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** Quando o programa é encontrado. Retorna os detalhes do programa.
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se o programa não for encontrado.</span>
|
|
|
|
|
|
|
|
### Obter Categorias de Programas
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /programs/</span>categories
|
|
|
|
* **Método:** GET
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Retorna um mapa com as categorias e suas respectivas contagens.</span>
|
|
|
|
|
|
|
|
### Obter Todos os Programas
|
|
|
|
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>programs
|
|
|
|
* **Método:** GET
|
|
|
|
* **Parâmetros (opcional)**<span dir="">:</span>
|
|
|
|
* `status`<span dir=""> Status d</span>o programa.
|
|
|
|
* `institutionEmail` E-mail da instituição.
|
|
|
|
* `type` Tipo do programa.
|
|
|
|
* **Resposta:**
|
|
|
|
* **200 OK:** <span dir="">Retorna uma lista de programas que atendem aos filtros fornecidos. Se não houver programas, retorna uma lista vazia.</span>
|
|
|
|
|
|
|
|
### Deletar Programa
|
|
|
|
|
|
|
|
* **URI:**<span dir=""> /</span>programs<span dir="">/{id}</span>
|
|
|
|
* **Método:** DELETE
|
|
|
|
* **Parâmetros:**
|
|
|
|
* `id` ID do programa.
|
|
|
|
* **Resposta:**
|
|
|
|
* **204 NO CONTENT:** <span dir="">Quando o programa é excluído com sucesso.</span>
|
|
|
|
* **404 NOT FOUND:** <span dir="">Se o programa não for encontrado.</span> |
|
|
|
\ No newline at end of file |