API v1
API para Programadores
Integre o JobFlow nos seus sistemas com a nossa API REST. Autenticação via token Bearer (Laravel Sanctum).
Autenticação
Registe uma conta, faça login para obter um token Bearer e inclua-o em cada pedido autenticado.
POST /api/v1/auth/register
POST /api/v1/auth/login
POST /api/v1/auth/logout (auth required)
GET /api/v1/auth/me (auth required)
POST /api/v1/auth/login
POST /api/v1/auth/logout (auth required)
GET /api/v1/auth/me (auth required)
O token deve ser incluído no header: Authorization: Bearer {token}
Anúncios de Emprego
Pesquise anúncios por categoria, posição geográfica e raio. Candidate-se diretamente via API.
GET /api/v1/jobs ?category=&location=&radius=&page=
GET /api/v1/jobs/{slug}
GET /api/v1/categories
POST /api/v1/jobs/{id}/apply (auth required)
GET /api/v1/jobs/{slug}
GET /api/v1/categories
POST /api/v1/jobs/{id}/apply (auth required)
Candidaturas
Gerir candidaturas: consultar o estado, atualizar (empresas) ou retirar (trabalhadores).
GET /api/v1/applications (auth required)
GET /api/v1/applications/{id} (auth required)
PUT /api/v1/applications/{id}/status (company only)
POST /api/v1/applications/{id}/withdraw (worker only)
GET /api/v1/applications/{id} (auth required)
PUT /api/v1/applications/{id}/status (company only)
POST /api/v1/applications/{id}/withdraw (worker only)
Perfis
Ler e atualizar o perfil de trabalhador ou empresa. Aceder ao trust score.
GET /api/v1/profile/worker (auth required)
PUT /api/v1/profile/worker (auth required)
GET /api/v1/profile/company (auth required)
PUT /api/v1/profile/company (auth required)
GET /api/v1/profile/trust-score (auth required)
PUT /api/v1/profile/worker (auth required)
GET /api/v1/profile/company (auth required)
PUT /api/v1/profile/company (auth required)
GET /api/v1/profile/trust-score (auth required)
Exemplo de utilização
# Login
curl -X POST https://jobflow.trovido.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","password":"secret"}'
# Response
{"token":"1|abc...","user":{...}}
# List jobs (with token)
curl https://jobflow.trovido.com/api/v1/jobs?category=chef&page=1 \
-H "Authorization: Bearer 1|abc..."
Notas importantes
- Rate limit: 60 pedidos/minuto para utilizadores autenticados, 30/minuto para anónimos.
- Todas as respostas são em formato JSON. Content-Type: application/json.
- As listas suportam paginação: ?page=1&per_page=15 (máx 100).
- Erros devolvidos com código HTTP apropriado (401, 403, 404, 422, 429) e body JSON com campo "message".
- O acesso API está disponível para os planos Business e Premium. O plano Starter tem acesso apenas de leitura aos anúncios públicos.