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
logo_urlstring (url)opcional — imagem pública do logótipo; é descarregada e associada à vaga
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", "logo_url": "https://empresa.co.ao/logo.png", "external_id": "vaga-123-plataforma-origem" }'
Nota: logo_url tem de ser um endereço público (acessível sem autenticação) para uma imagem PNG, JPEG ou WEBP. O Procure Aqui descarrega-a e guarda uma cópia própria — não precisas de manter o ficheiro original disponível depois da vaga criada.

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"
POST/articles

Publicar um artigo de blog

Cria um artigo no post type blog — separado das vagas de emprego. Fornecido pelo plugin Procure Aqui - API de Artigos (instalado à parte), mas usa as mesmas chaves interno/parceiro desta API. Se enviares external_id e já existir um artigo com esse identificador publicado pela mesma chave, o artigo é atualizado em vez de duplicado.

Publicado Pendente

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

Corpo do pedido

CampoTipo
titlestringobrigatório
contentstring (HTML)obrigatório
categorystringopcional — slug da categoria
tagsarray de stringsopcional — nomes das tags, criadas automaticamente se não existirem
image_urlstring (url)opcional — imagem de destaque; é descarregada e associada ao artigo
external_idstringopcional — ativa a atualização em vez de duplicação
curl -X POST https://www.procureaqui.net/wp-json/procure-aqui/v1/articles \ -H "X-API-Key: pa_par_xxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "title": "5 dicas para uma boa entrevista de emprego", "content": "<p>Conteúdo do artigo em HTML...</p>", "category": "carreira", "tags": ["entrevistas", "dicas"], "image_url": "https://origem.com/imagem-destaque.jpg" }'

Resposta — 201 Created

{ "id": 913, "status": "pending", "link": "https://www.procureaqui.net/blog/5-dicas-entrevista/" }
DELETE/articles/{id}

Apagar um artigo

Move o artigo para o lixo. Só funciona se tiver sido publicado com a mesma chave que está a fazer o pedido.

curl -X DELETE https://www.procureaqui.net/wp-json/procure-aqui/v1/articles/913 \ -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", "company_logo": "https://www.procureaqui.net/wp-content/uploads/2026/07/logo-empresa-x.png", "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