Snabblänkar
Inledning
Provet veterinärpraktikhanteringssystem kan integreras med tredjepartsapplikationer med hjälp av verktyg som kallas REST API och webhooks.
Webhooks finns tillgängliga i Provet för att skicka meddelanden till tredjepartssystem om tillägg eller ändringar i data i Provet. Webhooks överför inte de faktiska ändrade uppgifterna, utan överför i stället informationen om vad som har ändrats genom att helt enkelt meddela tredjepartssystemet om ändringen. De faktiska uppgifterna kan sedan hämtas av tredjepartssystemet genom att använda Provets REST API.
REST API är en kommunikationsmetod för att komma åt, redigera eller lägga till data som finns i Provet programmatiskt av en tredjepartsapplikation. Provet's REST API erbjuder de flesta av Provet's nyckeldata som kan läsas eller manipuleras av andra system.
Kombinationen av Provet webhooks & REST API skapar unika möjligheter för att bygga integrerade lösningar. Alla leverantörer av andra system som känner till dessa tekniker kan enkelt integrera med de data som finns i Provet veterinärpraktikhanteringssystem genom att använda dessa tekniker.
Innan du kan börja använda Provets API:er måste vi ge dig tillgång till testmiljön. Vänligen kontakta vår Partner Development Manager för att komma igång.
Vi kommer att skapa en testmiljö som du kan komma åt under den inledande utvecklingen. Vi kommer också att skapa en integrationsmall med önskad OAuth2 grant-typ för att du ska få tillgång till din testmiljö. Detta gör att du kan utveckla och testa din kod med vårt API.
Se vår utvecklarsida för API-dokumentation, API-schema och annan värdefull information som hjälper dig med din utveckling.
Webhooks
Webhooks kan konfigureras och aktiveras i Inställningar > Allmänt > Integrationer > Webhooks, eller via en API-slutpunkt. Om din integration använder webhooks rekommenderar vi att du automatiserar skapandet av webhooks via ett API. Se vår webbplats för utvecklare för den uppdaterade List of Webhook Triggers och den detaljerade Webhooks-guiden.
REST API
Provet tillhandahåller REST API för att möjliggöra åtkomst till de data som lagras i Provet. API:et använder OAuth 2.0-autentisering. Uppgifterna returneras i formatet JSON.
För att få tillgång till REST API behöver du en integrationsmall.
Provet API stöder två typer av bidrag: Auktoriseringskod och Klientlegitimation.
Authorization Code används för att autentisera användargränssnitt och i de fall där användare får tillgång till API:et som sig själva. PKCE stöds och rekommenderas starkt. Publika klienter MÅSTE använda PKCE.
Client Credentials används för backend-anslutning där tjänster kommunicerar direkt med varandra utan några användaråtgärder.
REST API kan nås med hjälp av en URL som sammanställs enligt följande: https://<provet_environment>/<provet_id>/api/0.1/
<provet_environment> URL skiljer sig lite åt för varje miljö. Den kan till exempel vara
provetcloud.com för EU-miljö
us.provetcloud.com för amerikansk miljö
I URL:en <provet_id> är det unika ID:t för Provet-instansen för ditt företag
Hela URL:en visas alltid i API-inställningarna i Provet Inställningar > Integrationer > Öppen API-åtkomst.
Provet REST API är sökbart, vilket bör ge goda möjligheter för utvecklare att utvärdera möjligheterna till dataöverföring.
Lägg till en integrationsapplikation i Provet
När mallen är skapad kan integrationen ses i integrationskatalogen i Provet: Inställningar > Integrationer > Öppen API-åtkomst > Lägg till applikation. Katalogen innehåller en lista över tillgängliga integrationer och en kort beskrivning av vad varje integration gör. Om integrationen har fler installationsinstruktioner visas även dessa i katalogen.
Integrationerna kan ha begränsad synlighet: de kan begränsas till endast vissa Provet-hyresgäster eller i vissa länder. Den tredje part som tillhandahåller integrationen kan välja i vilken utsträckning integrationen behöver vara synlig för hyresgästerna. När det finns begränsningar visas applikationen i Integration Catalogue endast på de hyresgäster / i de länder som den är tillåten på.
Alternativ i en ny klientregistrering
Varje gång en ny kund registrerar sig för att använda en integration, dvs. väljer den från integrationskatalogen i Provet (Lägg till applikation), skickas unika klientuppgifter till integrationsleverantören. Det finns två alternativ för att meddela en registrering av en ny klient som kan väljas när man skapar en integrationsmall:
e-post
uppkoppling URL
När integrationen endast används på en Provet-instans är e-post ett bra val: då kan den person som tar emot e-postmeddelandet konfigurera autentiseringsuppgifterna för integrationen och börja använda den. När integrationen används i stor utsträckning rekommenderas å andra sidan hookup URL och automatisering av att lägga till en ny klient.
Hookup URL lyssnar efter eventuella automatiska meddelanden om nya kunder. När en ny klient lägger till integrationen i Provet skickar orkestreringsverktyget automatiskt ett JSON-meddelande till den angivna URL:en. Det finns inget behov av mänsklig interaktion, eftersom integrationen automatiskt analyserar den nya klienten från JSON-meddelandet och lägger till deras autentiseringsuppgifter i sin klienttabell.
JSON-schema för de data som skickas för nya integrationsregistreringar:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "required": [ "provet_id", "client_id", "client_secret", "algorithm", "authorization_grant_type", "client_type", "redirect_uris", "token_url", "authorize_url", "openid_autodiscovery_url" ], "properties": { "provet_id": { "type": "number", "description": "Provet ID of the tenant who added this integration." }, "client_id": { "type": "string" }, "client_secret": { "type": ["null", "string"] }, "algorithm": { "type": ["null", "string"], "description": "Signing algorithm used.", "examples": [null, "HS256", "RS256"] }, "authorization_grant_type": { "type": "string", "description": "Authorization flow used.", "examples": ["authorization_code", "client_credentials"] }, "client_type": { "type": "string", "description": "Client type.", "examples": ["confidential", "public"] }, "redirect_uris": { "type": "string", "description": "Space-separated list of callback URIs.", "examples": ["https://example.com/callback"] }, "token_url": { "type": "string", "description": "OAuth2.0 token endpoint URL." }, "authorize_url": { "type": "string", "description": "OAuth2.0 authorize endpoint URL." }, "openid_autodiscovery_url": { "type": ["null", "string"], "description": "OpenID autodiscovery URL. Null if integration does not use OpenID." }, "departments": { "type": "array", "items": { "type": "integer" }, "description": "Array of department IDs that have enabled this integration.", "examples": [[1, 2, 3]] }, "added_department": { "type": "integer", "description": "ID of the department that enabled this integration.", "examples": [3] }, "removed_department": { "type": "integer", "description": "ID of the department that disabled this integration.", "examples": [3] } }}Behörigheter
När en ny integrationsapplikation läggs till i Provet skapas automatiskt en virtuell användare och en behörighetsgrupp för integrationen. Den virtuella användaren heter Integration <Integration name> och finns i Settings > Users med hjälp av filtret Virtual. Behörighetsgruppen har samma namn som integrationen.
Provet stöder automatiserad behörighetshantering, vilket minskar det manuella arbetet och säkerställer enhetlighet. Den här funktionen kallas "behörighetsmall" och läggs till i integrationsmallen. Kontakta Provet support för att få din behörighetsmall på din integrationsmall.
När behörighetsmallar ändras uppdateras den tillhörande behörighetsgruppen i Provet automatiskt så att den matchar den senaste mallen. De tillagda behörigheterna inkluderas och borttagna behörigheter exkluderas för att säkerställa synkronisering.
Om en behörighetsmall inte används har den som standard samma behörigheter som behörighetsgruppen Users.
Om en integration kräver andra behörigheter (vissa endpoints nekas eller om du vill begränsa behörigheterna) måste behörigheterna redigeras. Kontrollera från Provet API schema vilka behörigheter varje endpoint behöver. Se även Visa och hantera användarbehörigheter.
Avdelningsspecifik integration
I Provet-miljöer med flera klinikplatser kan en integration aktiveras eller inaktiveras separat för varje klinikplats. Den här inställningen är endast informativ och skapar inte några ytterligare klientdata. Listan över klinikplatser där integrationen är aktiverad ingår i datanyttolasten för webhooken.
Varje gång integrationen aktiveras eller inaktiveras för en klinikplats skickas en ny webhook med följande information:
Alla för närvarande aktiverade avdelningar
Den avdelning som tillkom
Den avdelning som togs bort
Denna funktionalitet krävs normalt inte. Om du behöver ha information om vilka klinikplatser som använder eller inte använder din integration på samma Provet-hyresgäst, vänligen kontakta Provet support och fråga om du kan få den här funktionen aktiverad för din integration.
I Provet visar integrationer som är specifika för en klinikplats en Enable eller Disable knapp i slutet av raden. Detta gör det möjligt för användare att aktivera eller inaktivera integrationen för den klinikplats som de för närvarande tittar på. När en integration har lagts till måste den aktiveras separat för varje klinikplats. De klinikplatser där integrationen är aktiverad visas bredvid knappen Disable. Om en integration inte stöder klinikplatsspecifik aktivering aktiveras den automatiskt på organisationsnivå.
Frigörande av en integration
När du har utvecklat och testat din integration och vill släppa den för allmän användning, kontakta Provet support för att få din integrationsmall synlig för alla Provet-instanser. Om din integration inte är kundspecifik och den är avsedd att användas i många Provet-instanser av många användare, finns det några krav som måste uppfyllas innan du går live. Dessa krav är avsedda att göra integrationens onboarding enklare och tillhandahålla nödvändig information för Provet-support.
Skapa en kort video om din integration: hur du använder den och vad den gör.
Skapa en onboarding-instruktion som innehåller alla de manuella steg som Provet-användaren behöver för att ta din integration i bruk. Stegen kan även omfatta de åtgärder som behövs i ditt system.
Se detta exempel på onboarding-guide. I exemplet på integration används en webhook, men din integration kan behöva någon annan konfiguration som ett anpassat fält etc.
Ge oss både videon och onboarding-guiden och låt oss veta på vilka marknader / i vilka länder din integration ska vara synlig i.
För att automatisera onboarding och minimera mänskliga fel rekommenderar vi att använda följande funktioner för offentliga integrationer som används över många Provet-instanser:
Mall för tillstånd
URL för uppkoppling i stället för e-postmeddelande
Skapande av webhooks och anpassade knappar via API-slutpunkter (om tillämpligt)
Om du inte använder dessa funktioner kan du kontakta Provets support för att konfigurera behörighetsmallen och URL:en för anslutning åt dig. Om du har en särskild anledning att använda ett e-postmeddelande, vänligen meddela oss.
För partners med platsbaserad fakturering krävs den platsspecifika funktionen för kliniken. Den måste konfigureras, testas och inkluderas i onboarding-instruktionerna innan integrationen kan gå live.
