Introduksjon
Provet praksisadministrasjonssystem for veterinærpraksis kan integreres med tredjepartsapplikasjoner ved hjelp av verktøy som kalles REST API og webhooks.
Webhooks er tilgjengelige i Provet for å sende varsler til tredjepartssystemer om tillegg eller endringer i dataene inne i Provet. Webhooks overfører ikke de faktiske endrede dataene, men i stedet informasjonen om hva som er endret ved kun å varsle tredjepartssystemet om endringen. Deretter kan det faktiske datagrunnlaget hentes av tredjepartssystemet ved å bruke Provet sin REST API.
REST API er en kommunikasjonsmetode for å aksessere, redigere eller legge til data som ligger i Provet programmatisk, av enhver tredjepartsapplikasjon. Provet sin REST API gir de fleste av nøkkeldatasettene i Provet som kan leses eller manipuleres av andre systemer.
Kombinasjonen av Provet webhooks og REST API skaper unike muligheter for å bygge integrerte løsninger. Enhver leverandør av andre systemer som kjenner til disse teknologiene, kan enkelt integrere med dataene som ligger i Provet prakseadministrasjonssystem for veterinærpraksis ved hjelp av disse teknologiene.
Før du kan begynne å bruke Provet sin API, må vi aktivere tilgang til et testmiljø for deg. Ta kontakt med vår Partner Development Manager for å komme i gang.
Vi oppretter et testmiljø for deg å få tilgang til under den første utviklingen. Vi oppretter også en integrasjonsmal med ønsket OAuth2 grant type for deg, med tilgang til testmiljøet ditt. Dette gjør at du kan utvikle og teste koden din mot API-en vår.
Se vår utviklerside for API-dokumentasjon, API-skjema og annen nyttig informasjon som kan hjelpe deg i utviklingen.
Webhooks
Webhooks kan konfigureres og aktiveres i Innstillinger > Integrasjoner > Webhooks, eller via et API-endepunkt. Hvis integrasjonen din bruker webhooks, anbefaler vi å automatisere oppretting av webhooks via en API. Se utviklersiden vår for den oppdaterte listen over Webhook Triggers og den detaljerte guider til Webhooks.
REST API
Provet tilbyr REST API for å muliggjøre tilgang til dataene som er lagret i Provet. API-en bruker OAuth 2.0-autentisering. Dataene returneres i JSON-format.
For å aksessere REST API trenger du en integrasjonsmal.
Provet API-støtter to grant types: Authorization Code og Client Credentials.
Authorization Code brukes til å autentisere brukergrensesnitt og tilfeller der brukere aksesserer API-en som seg selv. PKCE støttes og anbefales på det sterkeste. Offentlige klienter MÅ bruke PKCE.
Client Credentials brukes for bakend-tilkobling der tjenester kommuniserer direkte med en annen uten brukerhandlinger.
REST API kan aksesseres ved å bruke en URL satt sammen slik: https://<provet_environment>/<provet_id>/api/0.1/
URL-en <provet_environment> er litt ulik for hvert miljø. Den kan for eksempel være
provetcloud.com for EU-miljø
us.provetcloud.com for US-miljø
I URL-en <provet_id> er den unike ID-en til Provet-instansen for firmaet ditt
Hele URL-en vises alltid i API-innstillinger i Provet Innstillinger > Integrasjoner > Åpen API tilgang.
Provet REST API er browsable, noe som bør gi utviklere gode muligheter til å vurdere mulighetene for dataoverføring.
Legg til en integrasjonsapplikasjon i Provet
Når malen er opprettet, kan integrasjonen ses i integrasjonskatalogen i Provet: Innstillinger > Integrasjoner > Åpen API tilgang > Legg til applikasjon. Katalogen viser tilgjengelige integrasjoner og inneholder en kort beskrivelse av hva hver integrasjon gjør. Hvis integrasjonen har flere oppsettinstruksjoner, vises dette også i katalogen.
Integrasjoner kan ha begrenset synlighet: de kan begrenses til kun enkelte Provet-tenant eller i enkelte land. Tredjeparten som leverer integrasjonen, kan velge hvor bredt integrasjonen må være synlig på tenantene. Når det finnes begrensninger, vises applikasjonen i integrasjonskatalogen bare på de tenantene / i de landene der det er tillatt.
Alternativer ved registrering av en ny kunde
Hver gang en ny kunde registrerer seg for å bruke en integrasjon, det vil si velger den fra integrasjonskatalogen i Provet (Legg til applikasjon), sendes unike kundeopplysninger til integrasjonsleverandøren. Det finnes to alternativer for å varsle en registrering av en ny kunde, og som kan velges når du oppretter en integrasjonsmal:
e-post
hookup URL
Når integrasjonen kun brukes på én Provet-instans, er e-post et godt valg: da kan personen som mottar e-posten konfigurere autentiseringsdetaljene for integrasjonen og begynne å bruke den. På den andre siden, når integrasjonen brukes bredt, anbefales hookup URL og automatisering av å legge til en ny kunde.
Hookup URL lytter etter automatiske varsler om nye kunder. Når en ny kunde legger til integrasjonen i Provet, sender orkestreringsverktøyet automatisk en JSON-melding til den oppgitte URL-en. Det er ikke behov for noen menneskelig interaksjon, når integrasjonen automatisk parser den nye kunden fra JSON-meldingen og legger til legitimasjonen deres i kundetabellen deres.
JSON-skjema for dataene som sendes for nye integrasjonsregistreringer:
{ "$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] } }}
Tillatelser
Når en ny integrasjonsapplikasjon legges til i Provet, opprettes en virtuell bruker og en tillatelsesgruppe automatisk for integrasjonen. Den virtuelle brukeren kalles Integration <Integration name> og kan finnes i Innstillinger > Brukere ved å bruke filteret Virtuell. Tillatelsesgruppen har samme navn som integrasjonen.
Provet støtter automatisert administrasjon av tillatelser, som reduserer manuelt arbeid og sikrer konsistens. Denne funksjonen kalles «permission template» og legges til i integrasjonsmalen. Kontakt Provet support for å få permission template i integrasjonsmalen din.
Når permission templates endres, oppdateres den tilknyttede tillatelsesgruppen i Provet automatisk for å samsvare med den nyeste malen. Tilleggede tillatelser inkluderes, og fjernede tillatelser ekskluderes for å sikre synkronisering.
Hvis det ikke brukes permission templates, har den som standard de samme tillatelsene som tillatelsesgruppen Brukere.
Hvis en integrasjon krever andre tillatelser (noen endepunkter er avvist eller du ønsker å begrense tillatelsene), må tillatelsene redigeres. Sjekk i Provet API-skjema hvilke tillatelser hvert endepunkt krever. Se også Vis og administrer bruker-tillatelser.
Integrasjon spesifikk for avdeling
I Provet-miljøer med flere klinikkavdelinger kan en integrasjon aktiveres eller deaktiveres separat for hver klinikkavdeling. Denne innstillingen er kun informativ og oppretter ikke ekstra kundeinformasjon. Listen over avdelinger der integrasjonen er aktivert, inngår i datalasten til webhooken.
Hver gang integrasjonen aktiveres eller deaktiveres for en avdeling, sendes en ny webhook som inneholder følgende informasjon:
Alle avdelinger som er aktivert for øyeblikket
Avdelingen som ble lagt til
Avdelingen som ble fjernet
Denne funksjonaliteten er vanligvis ikke nødvendig. Hvis du trenger informasjon om hvilke avdelinger som bruker eller ikke bruker integrasjonen din på samme Provet-tenant, ta kontakt med Provet support og spør om du kan få denne funksjonen aktivert for integrasjonen din.
I Provet viser integrasjoner som er spesifikke for avdeling en Aktiver- eller Deaktiver-knapp på slutten av raden. Dette gjør at brukere kan aktivere eller deaktivere integrasjonen for avdelingen de ser på akkurat nå. Etter at en integrasjon er lagt til, må den aktiveres separat for hver avdeling. Avdelingene der integrasjonen er aktivert, vises ved siden av Deaktiver-knappen. Hvis en integrasjon ikke støtter aktivering som er spesifikk for avdeling, aktiveres den automatisk på organisasjonsnivå.
Frigi en integrasjon
Når du har utviklet og testet integrasjonen din og ønsker å frigi den for offentlig bruk, ta kontakt med Provet support for å få integrasjonsmalen din synlig for alle Provet-instansene. Hvis integrasjonen din ikke er kundespesifikk og er ment å brukes i mange Provet-instansene av mange brukere, finnes det noen krav som må oppfylles før du går live. Disse kravene er ment å gjøre integrasjons-oppstart enklere og gi nødvendig informasjon for Provet support.
Lag en kort video om integrasjonen din: hvordan den brukes og hva den gjør.
Lag en oppstarts-/onboarding-instruksjon som inneholder alle manuelle steg som Provet-brukeren må ta for å ta integrasjonen i bruk. Stegene kan også inkludere handlingene som trengs i systemet ditt.
Se dette eksempel på onboarding-guide. Eksempel-integrasjonen bruker én webhook, men integrasjonen din kan trenge annen konfigurasjon, for eksempel et egendefinert felt.
Gi oss både videoen og onboarding-guiden, og gi beskjed om hvilke markeder / i hvilke land integrasjonen skal være synlig.
For å automatisere onboarding og minimere menneskelige feil anbefaler vi å bruke følgende funksjoner for offentlige integrasjoner som brukes på tvers av mange Provet-tenant:
Permission template
Hookup URL i stedet for e-postvarsel
Oppretting av webhooks og egendefinerte knapper via API-endepunkter (hvis aktuelt)
Hvis du ikke har disse funksjonene i bruk, ta kontakt med Provet support for å få konfigurert permission template og hookup URL for deg. Hvis du har en spesifikk grunn til å bruke et e-postvarsel, gi oss beskjed.
For partnere med lokasjonsbasert fakturering er funksjonen som gjelder for avdeling påkrevd. Den må konfigureres, testes og inkluderes i onboarding-instruksjonene før integrasjonen kan gå live.
