Abaixo, uma descrição dos endpoints disponíveis.
GET /api/v1/projects
Retorna a lista de todos os projetos cadastradas. (Status: 200):
[
{
"id": 1,
"title": "Projeto Master",
"description": "Principal projeto criado",
"category": "Video",
"project_job_categories": [
{
"job_category_id": 1
},
{
"job_category_id": 2
}
]
},
{
"id": 2,
"title": "Projeto Website",
"description": "Um site de jogos",
"category": "Programação",
"project_job_categories": [
{
"job_category_id": 1
},
{
"job_category_id": 2
}
]
}
]
Retorno esperado caso não tenham projetos cadastrados. (Status: 200):
{
"message": "Nenhum projeto encontrado."
}
Erro interno de servidor (Status: 500)
Retorno esperado:
{
"errors": ["Erro interno de servidor."]
}
PATCH /api/v1/invitations/:id
Retorno esperado caso a requisição seja bem sucedida. (Status: 200)
Retorno caso o convite não esteja mais pendente. (Status: 409)
{
"message": ["Não é possível alterar convite que não está pendente."]
}
Erro para objeto não encontrado (Status: 404)
{
"errors": ["Erro, não encontrado."]
}
POST /api/v1/proposals
A requisição requer o ID de um projeto existente na plataforma Cola?Bora!, o ID válido de um perfil da Portfoliorrr e uma mensagem opcional.
{
"proposal":
{
"project_id": 1,
"profile_id": 3,
"email": "user@email.com",
"message": "Gostaria de participar do projeto!",
}
}
Retorno esperado caso a requisição seja bem sucedida. (Status: 201)
{
"data":
{
"proposal_id": 1
}
}
Retorno caso o projeto não exista na plataforma Cola?Bora!. (Status: 404)
{
"errors": ["Projeto não encontrado"]
}
Erros de ID de Perfil (Status: 409)
// ID de perfil em branco
{
"errors": ["ID de perfil não pode ficar em branco", "ID de Perfil não é um número"]
}
// ID de perfil menor ou igual a zero
{
"errors": ["ID de Perfil deve ser maior ou igual a 1"]
}
Erros de Solicitação (Status: 409)
// Usuário já tem solicitação pendente para o projeto
{
"errors": ["Usuário já tem solicitação pendente para o projeto"]
}
// Usuário já é colaborador do projeto
{
"errors": ["Usuário já faz parte deste projeto"]
}
Erro interno de servidor (Status: 500)
Retorno esperado:
{
"errors": ["Erro interno de servidor."]
}
PATCH /api/v1/proposals/:id
Esta requisição não requer um corpo. Basta somente enviar o patch para o endpoint e a solicitação será cancelada.
Retorno esperado caso a requisição seja bem sucedida. (Status: 204)
Retorno caso a solicitação não exista na plataforma Cola?Bora!. (Status: 404)
{
"errors": ["Erro, não encontrado."]
}
Retorno caso ocorra um erro interno no servidor. (Status: 500)
{
"errors": ["Erro interno de servidor."]
}
Retorno caso a solicitação esteja em um estado que não permite o cancelamento (Status: 409)
{
"errors": "Essa solicitação não está pendente"
}
- Todos os endpoints retornam dados no formato JSON.
- Em caso de sucesso, a resposta terá o código 200.
- Em caso de erro, o código e uma mensagem explicativa serão retornados.