As empresas que usam o Presio libertam turnos em aberto para as suas agências de pessoal. Vocês obtêm as ofertas por API ou recebem-nas por webhook, propõem os vossos profissionais - e a confirmação conta de imediato na ocupação. Sem telefone, sem pingue-pongue de e-mails.
A API de parceiros é deliberadamente pequena: três endpoints e um webhook. Reproduz exatamente o processo que hoje corre por telefone - só que sem esclarecimentos e sem retoques no plano.
Todas as ofertas que uma empresa libertou para vocês - com data, hora, posto de trabalho, qualificação necessária, vagas e prazo.
Assim que uma empresa liberta uma oferta para vocês, o vosso URL de webhook recebe a oferta em JSON - sem necessidade de ciclo de consulta.
Propõem o nome, a qualificação e o contacto de um profissional para uma oferta. A empresa confirma ou recusa - o estado está sempre visível para vocês.
A empresa cria-vos na sua gestão de parceiros: nome, contacto, que postos de trabalho e qualificações cobrem. Cada empresa com que trabalham cria-vos separadamente.
O Presio gera uma chave API por parceiro e empresa. A empresa entrega-a de forma segura; vocês enviam-na em cada pedido no header x-partner-key .
Ou consultam GET /offers regularmente, ou registam na empresa um URL de webhook e recebem cada nova oferta de imediato.
Através de POST /offers/{id}/respond propõem um profissional. Se a empresa confirmar, o profissional fica no plano de turnos e conta na ocupação prevista/real. O estado veem-no em GET /responses.
Todos os pedidos vão em JSON por HTTPS. A chave API identifica ao mesmo tempo o parceiro e a empresa - não há mais nenhum login.
<code>URL base: https://jvesiwsaghavrelflbjc.supabase.co/functions/v1/partner-api Header: x-partner-key: <a vossa chave API> Content-Type: application/json</code>
Devolve todas as ofertas libertadas para vocês e ainda não expiradas - incluindo as vossas próprias propostas.
<code>GET /offers x-partner-key: <a vossa chave API> 200 OK { "partner": { "id": "…", "name": "Pflege-Personal Nord GmbH" }, "offers": [ { "id": "8f2c…", "organization": "Klinikum Beispielstadt", "date": "2026-09-05", "shift": "Turno da manhã", "startTime": "06:30", "endTime": "14:30", "workplace": "Enfermaria 3", "requiredSkill": "Enfermeiro/a", "slots": 1, "note": "Passagem de turno às 6:15 na sala de enfermagem", "deadline": "2026-09-04T18:00:00Z", "state": "open", "myResponses": 0, "myAccepted": 0 } ] }</code>
Propõe um profissional para uma oferta. É possível uma proposta por profissional e oferta; com várias vagas podem propor vários profissionais.
<code>POST /offers/8f2c…/respond x-partner-key: <a vossa chave API> Content-Type: application/json { "name": "Anna Beispiel", "qualification": "Enfermeiro/a", "contact": "0170 1234567", "note": "no local a partir das 6:30" } 201 Created { "ok": true, "response": { "id": "c41a…", "state": "applied" } }</code>
Todas as propostas que enviaram, com o estado atual: applied (proposta), accepted (confirmada pela empresa, o profissional está escalado) ou declined (recusada ou oferta preenchida de outra forma).
<code>GET /responses x-partner-key: <a vossa chave API> 200 OK { "responses": [ { "id": "c41a…", "offerId": "8f2c…", "name": "Anna Beispiel", "state": "accepted", "updatedAt": "2026-09-04T09:12:00Z" }, { "id": "d902…", "offerId": "71be…", "name": "Max Muster", "state": "applied", "updatedAt": "2026-09-04T09:20:00Z" } ] }</code>
Se a empresa registar um URL de webhook para vocês, o Presio envia a cada nova oferta um POST com o mesmo objeto de oferta que em GET /offers. Respondam com 2xx; em caso de erro, a entrega é repetida.
<code>POST <o vosso URL de webhook> Content-Type: application/json { "event": "offer.created", "offer": { "id": "8f2c…", "organization": "Klinikum Beispielstadt", "date": "2026-09-05", "shift": "Turno da manhã", "startTime": "06:30", "endTime": "14:30", "workplace": "Enfermaria 3", "requiredSkill": "Enfermeiro/a", "slots": 1, "note": "Passagem de turno às 6:15 na sala de enfermagem", "deadline": "2026-09-04T18:00:00Z", "state": "open" } }</code>
<code>401 Unauthorized Chave API em falta, inválida ou retirada pela empresa 404 Not Found A oferta não existe ou não está libertada para vocês 409 Conflict A oferta já está preenchida, expirou ou o profissional já foi proposto</code>
A interface está construída de forma a que ambos os lados vejam apenas o que precisam para a colocação.
Escrevam-nos em poucas palavras que empresas servem e que sistema usam - enviamos-vos um acesso de teste e ofertas de exemplo.
Falar sobre a integração Experimentar o Presio gratuitamente