API de Vagas do Procure Aqui

Publica vagas de emprego a partir de outra plataforma e consulta as vagas do Procure Aqui a partir de qualquer sistema externo, usando uma chave de API.

Cada chave de API tem um de três tipos, e só pode usar as operações desse tipo:

TipoPodeEfeito
internoPublicar e apagarVaga fica publicada de imediato
parceiroPublicar e apagarVaga fica pendente de aprovação
consultaListar e lerSó leitura, sem publicar

As chaves são pedidas à equipa do Procure Aqui. Uma chave típica tem este aspeto:

X-API-Key: pa_par_8f3a91c2e6b0d4f7a1c8...

Autenticação

Todos os pedidos exigem o cabeçalho X-API-Key. Sem ele, ou com uma chave inválida ou revogada, a API responde 401 Unauthorized.

curl https://www.procureaqui.net/wp-json/procure-aqui/v1/jobs \ -H "X-API-Key: pa_con_xxxxxxxxxxxxx"
Nota: a chave viaja no cabeçalho do pedido — usa sempre HTTPS. Guarda-a como farias com uma palavra-passe; se suspeitares que foi exposta, pede a revogação à equipa do Procure Aqui.
POST/jobs

Publicar uma vaga

Cria uma vaga nova. Se enviares external_id e já existir uma vaga com esse identificador publicada pela mesma chave, a vaga é atualizada em vez de duplicada.

Publicado Pendente

Chaves interno → publicado de imediato. Chaves parceiro → pendente até aprovação manual no painel.

Corpo do pedido

CampoTipo
titlestringobrigatório
descriptionstringobrigatório
company_namestringobrigatório
company_emailstring (email)obrigatório
locationstringobrigatório
applicationstringobrigatório — email ou instrução de candidatura
company_websitestring (url)opcional
category_idintegeropcional
job_type_idintegeropcional
external_idstringopcional — ativa a atualização em vez de duplicação
curl -X POST https://www.procureaqui.net/wp-json/procure-aqui/v1/jobs \ -H "X-API-Key: pa_par_xxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "title": "Desenvolvedor Backend", "description": "Responsabilidades e requisitos...", "company_name": "Empresa X", "company_email": "rh@empresa.co.ao", "location": "Luanda, Talatona", "application": "rh@empresa.co.ao", "external_id": "vaga-123-plataforma-origem" }'

Resposta — 201 Created

{ "id": 482, "status": "pending", "link": "https://www.procureaqui.net/vaga/desenvolvedor-backend/" }
DELETE/jobs/{id}

Apagar uma vaga

Move a vaga para o lixo. Só funciona se a vaga tiver sido publicada com a mesma chave que está a fazer o pedido — uma chave não pode apagar vagas de outra origem.

curl -X DELETE https://www.procureaqui.net/wp-json/procure-aqui/v1/jobs/482 \ -H "X-API-Key: pa_par_xxxxxxxxxxxxx"
GET/jobs

Listar vagas

Devolve vagas publicadas, com filtros e paginação. Nunca inclui vagas pendentes ou apagadas.

Parâmetros de pesquisa

ParâmetroDescrição
searchPesquisa livre no título e conteúdo
locationFiltra por localização (correspondência parcial)
categorySlug da categoria
job_typeSlug do tipo de contrato
pagePágina, a partir de 1 (predefinição: 1)
per_pageResultados por página, até 50 (predefinição: 20)
curl "https://www.procureaqui.net/wp-json/procure-aqui/v1/jobs?location=Luanda&per_page=10" \ -H "X-API-Key: pa_con_xxxxxxxxxxxxx"

Resposta — 200 OK

{ "jobs": [ { "id": 482, "title": "Desenvolvedor Backend", "company_name": "Empresa X", "location": "Luanda, Talatona", "category": ["Tecnologia"], "job_type": ["Full-time"], "link": "https://www.procureaqui.net/vaga/desenvolvedor-backend/", "date_published": "2026-07-20T09:12:00+01:00" } ], "page": 1, "per_page": 10, "total": 34, "total_pages": 4 }
GET/jobs/{id}

Obter uma vaga específica

Devolve o detalhe completo de uma vaga publicada, incluindo descrição e dados de candidatura.

curl https://www.procureaqui.net/wp-json/procure-aqui/v1/jobs/482 \ -H "X-API-Key: pa_con_xxxxxxxxxxxxx"
Atenção: este endpoint devolve o campo application (contacto de candidatura). Se a plataforma que consome a API for pública, considera se esse dado deve ficar visível ou ser omitido.

Códigos de erro

HTTPCódigoSignificado
401pa_unauthorizedChave em falta, inválida, revogada, ou sem permissão para esta operação
403pa_forbiddenA chave não é dona do recurso (ex: tentar apagar vaga de outra origem)
404pa_not_foundVaga não encontrada
422pa_missing_field / pa_invalid_emailCampo obrigatório em falta ou inválido
{ "code": "pa_missing_field", "message": "Campo obrigatório em falta: location" }

Especificação OpenAPI

Para importar a API no Postman, Insomnia ou Swagger, descarrega a especificação completa no formato OpenAPI 3.0.

Descarregar openapi.yaml