Las empresas que usan Presio liberan sus turnos abiertos para sus proveedores de personal. Vosotros consultáis las ofertas por API o las recibís por webhook, proponéis a vuestro personal - y la confirmación cuenta de inmediato en la cobertura. Sin teléfono, sin ping-pong de correos.
La API de partners es deliberadamente pequeña: tres endpoints y un webhook. Reproduce exactamente el proceso que hoy funciona por teléfono - solo que sin consultas y sin retocar el cuadrante.
Todas las ofertas que una empresa ha liberado para vosotros - con fecha, hora, puesto de trabajo, cualificación necesaria, plazas y plazo.
En cuanto una empresa libera una oferta para vosotros, vuestra URL de webhook recibe la oferta en JSON - sin necesidad de consultar en bucle.
Proponéis el nombre, la cualificación y el contacto de una persona para una oferta. La empresa confirma o rechaza - el estado lo veis en todo momento.
La empresa os da de alta en su gestión de partners: nombre, contacto, qué puestos de trabajo y cualificaciones cubrís. Cada empresa con la que trabajáis os da de alta por separado.
Presio genera una clave API por partner y empresa. La empresa os la entrega de forma segura; vosotros la enviáis en cada petición en el header x-partner-key .
O bien consultáis GET /offers con regularidad, o bien registráis en la empresa una URL de webhook y recibís cada nueva oferta de inmediato.
Mediante POST /offers/{id}/respond proponéis a una persona. Si la empresa confirma, la persona figura en el cuadrante y cuenta en la cobertura prevista/real. El estado lo veis en GET /responses.
Todas las peticiones van en JSON por HTTPS. La clave API identifica a la vez al partner y a la empresa - no hay ningún otro inicio de sesión.
<code>URL base: https://jvesiwsaghavrelflbjc.supabase.co/functions/v1/partner-api Header: x-partner-key: <vuestra clave API> Content-Type: application/json</code>
Devuelve todas las ofertas liberadas para vosotros y aún no caducadas - incluidas vuestras propias propuestas.
<code>GET /offers x-partner-key: <vuestra clave API> 200 OK { "partner": { "id": "…", "name": "Pflege-Personal Nord GmbH" }, "offers": [ { "id": "8f2c…", "organization": "Klinikum Beispielstadt", "date": "2026-09-05", "shift": "Turno de mañana", "startTime": "06:30", "endTime": "14:30", "workplace": "Planta 3", "requiredSkill": "Enfermero/a titulado/a", "slots": 1, "note": "Relevo a las 6:15 en el control de enfermería", "deadline": "2026-09-04T18:00:00Z", "state": "open", "myResponses": 0, "myAccepted": 0 } ] }</code>
Propone a una persona para una oferta. Es posible una propuesta por persona y oferta; con varias plazas podéis proponer a varias personas.
<code>POST /offers/8f2c…/respond x-partner-key: <vuestra clave API> Content-Type: application/json { "name": "Anna Beispiel", "qualification": "Enfermero/a titulado/a", "contact": "0170 1234567", "note": "en el sitio a partir de las 6:30" } 201 Created { "ok": true, "response": { "id": "c41a…", "state": "applied" } }</code>
Todas las propuestas que habéis enviado, con su estado actual: applied (propuesta), accepted (confirmada por la empresa, la persona está planificada) o declined (rechazada u oferta cubierta de otro modo).
<code>GET /responses x-partner-key: <vuestra clave 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>
Si la empresa registra una URL de webhook para vosotros, Presio envía con cada nueva oferta un POST con el mismo objeto de oferta que en GET /offers. Responded con 2xx; en caso de error, la entrega se repite.
<code>POST <vuestra URL de webhook> Content-Type: application/json { "event": "offer.created", "offer": { "id": "8f2c…", "organization": "Klinikum Beispielstadt", "date": "2026-09-05", "shift": "Turno de mañana", "startTime": "06:30", "endTime": "14:30", "workplace": "Planta 3", "requiredSkill": "Enfermero/a titulado/a", "slots": 1, "note": "Relevo a las 6:15 en el control de enfermería", "deadline": "2026-09-04T18:00:00Z", "state": "open" } }</code>
<code>401 Unauthorized Falta la clave API, no es válida o la empresa la ha retirado 404 Not Found La oferta no existe o no está liberada para vosotros 409 Conflict La oferta ya está cubierta, ha caducado o la persona ya ha sido propuesta</code>
La interfaz está construida para que cada parte vea solo lo que necesita para el servicio.
Escribidnos brevemente a qué empresas dais servicio y qué sistema usáis - os enviamos un acceso de prueba y ofertas de ejemplo.
Hablar de la integración Probar Presio gratis