Presiota käyttävät yritykset vapauttavat avoimia vuoroja henkilöstöpalveluyrityksilleen. Te haette tarjoukset API:n kautta tai saatte ne webhookilla, ilmoitatte työntekijänne - ja hyväksyntä näkyy heti miehityksessä. Ilman puhelinta, ilman sähköpostipingistä.
Kumppani-API on tarkoituksella pieni: kolme päätepistettä ja yksi webhook. Se kuvaa täsmälleen sen kulun, joka nykyään hoidetaan puhelimitse - vain ilman tarkentavia kysymyksiä ja ilman listan jälkikäteistä päivittämistä.
Kaikki tarjoukset, jotka yritys on vapauttanut teille - päivämäärällä, ajalla, työpisteellä, vaaditulla pätevyydellä, paikkamäärällä ja määräajalla.
Heti kun yritys vapauttaa tarjouksen teille, webhook-URL:nne saa tarjouksen JSON-muodossa - kyselysilmukkaa ei tarvita.
Ilmoitatte työntekijän nimen, pätevyyden ja yhteystiedot tarjoukseen. Yritys hyväksyy tai hylkää - tilan näette milloin tahansa.
Yritys luo teidät kumppanihallinnassaan: nimi, yhteystiedot, mitkä työpisteet ja pätevyydet katatte. Jokainen yritys, jonka kanssa työskentelette, luo teidät erikseen.
Presio luo API-avaimen kumppania ja yritystä kohden. Yritys luovuttaa sen teille turvallista reittiä; te lähetätte sen jokaisen pyynnön mukana headerissa x-partner-key mukana.
Joko kyselette GET /offers -päätepistettä säännöllisesti, tai tallennatte yritykselle webhook-URL:n ja saatte jokaisen uuden tarjouksen heti.
Kohdan POST /offers/{id}/respond kautta ilmoitatte työntekijän. Kun yritys hyväksyy, työntekijä on työvuorolistassa ja lasketaan tavoite/toteuma-miehitykseen. Tilan näette kohdassa GET /responses.
Kaikki pyynnöt kulkevat JSON-muodossa HTTPS:n yli. API-avain tunnistaa sekä kumppanin että yrityksen - erillistä kirjautumista ei ole.
<code>Perus-URL: https://jvesiwsaghavrelflbjc.supabase.co/functions/v1/partner-api Header: x-partner-key: <teidän API-avaimenne> Content-Type: application/json</code>
Palauttaa kaikki tarjoukset, jotka on vapautettu teille ja jotka eivät ole vielä vanhentuneet - mukaan lukien omat ilmoituksenne niihin.
<code>GET /offers x-partner-key: <teidän API-avaimenne> 200 OK { "partner": { "id": "…", "name": "Pflege-Personal Nord GmbH" }, "offers": [ { "id": "8f2c…", "organization": "Klinikum Beispielstadt", "date": "2026-09-05", "shift": "Aamuvuoro", "startTime": "06:30", "endTime": "14:30", "workplace": "Osasto 3", "requiredSkill": "Sairaanhoitaja", "slots": 1, "note": "Raportti 6:15 kansliassa", "deadline": "2026-09-04T18:00:00Z", "state": "open", "myResponses": 0, "myAccepted": 0 } ] }</code>
Ilmoittaa työntekijän tarjoukseen. Yksi ilmoitus per työntekijä ja tarjous on mahdollinen; useamman paikan tapauksessa voitte ilmoittaa useita työntekijöitä.
<code>POST /offers/8f2c…/respond x-partner-key: <teidän API-avaimenne> Content-Type: application/json { "name": "Anna Esimerkki", "qualification": "Sairaanhoitaja", "contact": "0170 1234567", "note": "paikalla klo 6:30 alkaen" } 201 Created { "ok": true, "response": { "id": "c41a…", "state": "applied" } }</code>
Kaikki antamanne ilmoitukset ajantasaisella tilalla: applied (ilmoitettu), accepted (yrityksen hyväksymä, työntekijä on suunniteltu vuoroon) tai declined (hylätty tai tarjous täytetty muulla tavalla).
<code>GET /responses x-partner-key: <teidän API-avaimenne> 200 OK { "responses": [ { "id": "c41a…", "offerId": "8f2c…", "name": "Anna Esimerkki", "state": "accepted", "updatedAt": "2026-09-04T09:12:00Z" }, { "id": "d902…", "offerId": "71be…", "name": "Max Malli", "state": "applied", "updatedAt": "2026-09-04T09:20:00Z" } ] }</code>
Jos yritys tallentaa teille webhook-URL:n, Presio lähettää jokaisesta uudesta tarjouksesta POST-pyynnön samalla tarjousobjektilla kuin kohdassa GET /offers. Vastatkaa 2xx-koodilla; virhetilanteissa toimitus yritetään uudelleen.
<code>POST <teidän webhook-URL> Content-Type: application/json { "event": "offer.created", "offer": { "id": "8f2c…", "organization": "Klinikum Beispielstadt", "date": "2026-09-05", "shift": "Aamuvuoro", "startTime": "06:30", "endTime": "14:30", "workplace": "Osasto 3", "requiredSkill": "Sairaanhoitaja", "slots": 1, "note": "Raportti 6:15 kansliassa", "deadline": "2026-09-04T18:00:00Z", "state": "open" } }</code>
<code>401 Unauthorized API-avain puuttuu, on virheellinen tai yritys on peruuttanut sen 404 Not Found Tarjousta ei ole olemassa tai sitä ei ole vapautettu teille 409 Conflict Tarjous on jo täytetty, vanhentunut tai työntekijä on jo ilmoitettu</code>
Rajapinta on rakennettu niin, että molemmat osapuolet näkevät vain sen, mitä ne tarvitsevat työvuoroa varten.
Kerro meille lyhyesti, mitä yrityksiä palvelette ja mikä järjestelmä teillä on käytössä - lähetämme teille testitunnukset ja esimerkkitarjouksia.
Keskustele liitännästä Kokeile Presiota ilmaiseksi