STAG
https://jobflow.trovido.com
JobFlow JobFlow
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)

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)

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)

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)

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.