Hoppa till huvudinnehåll

Talent Hire API - Dokumentation baserad på användningsfall

Denna artikel beskriver hur Talent Hires externa API kan användas för att lösa specifika uppgifter (användningsfall).

Skrivet av Rasmus Svensson
Uppdaterad för mer än 5 månader sedan

Introduktion

API:et låter externa system interagera med rekryteringsprocesser, kandidatdata, organisationsstruktur med mera.

För fullständig teknisk referens om varje endpoint, inklusive alla parametrar, request/response-scheman och datatyper, se den fullständiga Swagger UI.

Autentisering

Alla anrop till API:et kräver autentisering. Det finns två metoder som stöds: Bearer Token (rekommenderas oftast) och Basic Authentication. Välj en av metoderna för varje anrop.

Metod 1: Bearer Token (Rekommenderad)

  1. Hämta en Token: Anropa GET /Api/Auth/Token med era client och secret koder som query parametrar.

    GET /Api/Auth/Token?client={your_client_code}&secret={your_secret_code}
  2. Använd Token: Svaret från /Api/Auth/Token är en sträng (token). Denna token ska inkluderas i Authorization-headern för alla efterföljande anrop, med prefixet "Bearer ".

    Authorization: Bearer <token_string_from_step_1>
  3. En token har begränsad giltighetstid och behöver sedan förnyas genom att upprepa steg 1.

Metod 2: Basic Authentication

Ni kan också autentisera genom att använda HTTP Basic Authentication direkt i varje anrop (förutom till /Api/Auth/Token).

  1. Skapa Base64-sträng: Kombinera ert client (användarnamn) och secret (lösenord) med ett kolon emellan (client:secret) och Base64-koda resultatet.

    • Exempel: Om client är mitt_client_id och secret är mitt_hemliga_lösenord, blir strängen mitt_client_id:mitt_hemliga_lösenord. Base64-kodningen av detta blir (exempelvis) bWl0dF9jbGllbnRfaWQ6bWl0dF9oZW1saWdhX2zDtnNlbm9yZA==.

    • (Verifiera detta: Kontrollera med Visma om det verkligen är client och secret som ska användas som användarnamn/lösenord för Basic Auth).

  2. Använd Header: Inkludera den Base64-kodade strängen i Authorization-headern med prefixet "Basic ".

    Authorization: Basic <base64_encoded_client:secret_string>
  3. Denna header måste skickas med varje API-anrop som kräver autentisering.


1. Arkivering

Syfte: Hämta information om avslutade rekryteringsprocesser, anställningar och kandidater för arkiveringsändamål.

Relevanta Endpoints:

  • GET /Api/Applications/Hired: Hämtar anställda kandidater inom ett visst tidsintervall (t.ex. för att arkivera data om nyligen anställda).

    • Notera: Använd hiredFrom och hiredTo parametrar.

  • GET /Api/Applications/{id}: Hämtar detaljerad information om en specifik ansökan via dess ID.

  • GET /Api/Applications/CollectedCandidateInformation: Hämtar specifik insamlad kandidatinformation för en ansökan (kan vara relevant för arkivering av viss data).

  • GET /Api/Applications/{id}/Document/{documentId}: Hämtar specifika dokument (t.ex. CV, personligt brev) kopplade till en ansökan för arkivering.

  • GET /Api/Assignments: Hämtar en lista över uppdrag (annonser/rekryteringar). Kan filtreras på status (t.ex. Completed_Recruited, Completed_Cancelled) och datumintervall för att hitta avslutade annonser.

  • GET /Api/Assignments/{id}: Hämtar detaljerad information om en specifik annons.

  • GET /Api/Assignments/{id}/AsPDF: Hämtar hela annonsen som PDF.

  • GET /Api/HiringCases: Hämtar en lista över ärenden. Kan filtreras på datum för att hitta äldre/avslutade ärenden.

  • GET /Api/HiringCases/{id}: Hämtar detaljerad information om ett specifikt avslutat ärende.

  • GET /Api/HiringCases/{id}/RequirementsProfileAsPdf: Hämtar kravprofilen för ett ärende som PDF.


2. Annonslista

Syfte: Hämta information om publicerade och aktiva jobbannonser för att visa dem i ett externt system (t.ex. en karriärsida eller intranät).

Relevanta Endpoints:

  • GET /Api/Assignments: Hämtar en lista över annonser. Detta är den primära endpointen. Använd parametrar för att filtrera:

    • assignmentStatusIdFrom: Sätt till Published för att endast få publicerade annonser.

    • publishStartDateTo, applicationEndDateFrom: För att filtrera på relevanta datum.

    • hiringCaseId: Om du vill lista annonser för ett specifikt ärende.

  • GET /Api/Assignments/{id}: Hämtar fullständiga detaljer för en specifik annons baserat på dess ID (hämtat från listan ovan). Detta inkluderar beskrivningar, kvalifikationer, kontaktpersoner etc.

  • GET /Api/Departments: Kan användas för att hämta en lista över avdelningar, om annonslistan ska kunna filtreras per avdelning i det externa systemet.

  • GET /Api/HiringCases/{id}: Kan användas för att hämta information om det övergripande ärendet som en annons tillhör, om den kontexten behövs.


3. Onboarding

Syfte: Hämta data om en kandidat som har blivit anställd för att initiera onboarding-processen i ett annat system (t.ex. HR- eller lönesystem).

Relevanta Endpoints:

  • GET /Api/Applications/Hired: Hämtar en lista över anställda kandidater, ofta filtrerat på ett snävt datumintervall (hiredFrom, hiredTo) för att få de senaste anställningarna. Detta är startpunkten.

  • GET /Api/Applications/{id}: Hämtar detaljer för en specifik anställd kandidat (ID fås från listan ovan). Innehåller CV-data och referenser till dokument.

  • GET /Api/Applications/CollectedCandidateInformation: Hämtar eventuell ytterligare specifik information som samlats in om kandidaten under processen via dynamiska fält.

  • GET /Api/Applications/{id}/Document/{documentId}: Hämtar dokument som CV, intyg, personligt brev etc., baserat på dokument-ID från ansökan.

  • GET /Api/Assignments/{id}: Hämtar information om annonsen som kandidaten ansökte till (ID fås från ansökan).

  • GET /Api/HiringCases/{id}: Hämtar information om ärendet som ledde till anställningen (ID fås från annonsen).


4. Synkronisering av organisation och användare

Syfte: Synkronisera organisationsstruktur (konton, avdelningar) och användare mellan Talent Hire och ett externt system (t.ex. AD, HR-system). Notera: Hantering av kundkonton på högsta nivå sker ofta separat från den löpande synkroniseringen av avdelningar och användare inom ett konto.

Relevanta Endpoints:

  • Konton (Accounts - inom ramen för synk):

    • GET /Api/Accounts/{id}/AccessGroups: Hämtar behörighetsgrupper för ett specifikt konto (kan behövas för kontext vid synkning av användare inom det kontot).

    • POST /Api/Accounts/{id}/SyncRecruiters: Synkroniserar en lista av användare mot ett specifikt konto (skapar/uppdaterar/tar bort baserat på RemoteId). Detta är ofta effektivare än enskilda POST/PUT/DELETE för användare.

    • POST /Api/Accounts/{id}/SimulateSyncRecruiters: Simulerar en synkronisering för ett specifikt konto.

  • Avdelningar (Departments):

    • GET /Api/Departments: Listar avdelningar.

    • POST /Api/Departments: Skapar en ny avdelning.

    • GET /Api/Departments/{id}: Hämtar detaljer för en specifik avdelning.

    • PUT /Api/Departments/{id}: Uppdaterar en befintlig avdelning.

    • DELETE /Api/Departments/{id}: Tar bort en avdelning.

    • GET /Api/Departments/{id}/ContactPersons: Hämtar kontaktpersoner för en avdelning.

    • POST /Api/Departments/{id}/ContactPersons: Skapar en kontaktperson.

    • GET /Api/Departments/{id}/MainProcesses: Hämtar processer kopplade till en avdelning.

    • GET /Api/Departments/{id}/DynamicField: Hämtar dynamiska fält för en avdelning.

    • POST/Api/Departments/{id}/DynamicField: Skapar ett dynamiskt fält.

    • DELETE /Api/Departments/{id}/DynamicField/{dynamicFieldId}: Tar bort ett dynamiskt fält.

  • Användare (Recruiters - oftast via SyncRecruiters, men enskilda anrop finns):

    • GET /Api/Recruiters: Listar användare (kan filtreras på avdelning).

    • POST /Api/Recruiters: Skapar en ny användare.

    • GET /Api/Recruiters/{id}: Hämtar detaljer för en specifik användare.

    • PUT /Api/Recruiters/{id}: Uppdaterar en befintlig användare.

    • DELETE /Api/Recruiters/{id}: Tar bort (inaktiverar oftast) en användare.

    • GET /Api/Recruiters/{id}/AccessGroups: Hämtar rättighetsgrupper för en användare.

    • POST /Api/Recruiters/{id}/AccessGroups: Kopplar en rättighetsgrupp till en användare.


5. Skapa ärende

Syfte: Skapa ett nytt ärende och eventuellt en tillhörande annons från ett externt system.

Relevanta Endpoints:

  • POST /Api/HiringCases: Skapar ett nytt ärende. Detta är den centrala endpointen för detta use case. Kräver information som ansvarig rekryterare, avdelning, titel, antal jobb etc.

    • Beroenden: Du kan behöva hämta ID:n först via:

      • GET /Api/Departments: För att få departmentId.

      • GET /Api/Departments/{id}/MainProcesses: För att få mainProcessId.

      • GET /Api/Recruiters: För att få ID för responsibleRecruiter och eventuella additionalRecruiters.

  • POST /Api/Assignments: Skapar en ny annons som kopplas till ett ärende (via hiringCaseId). Detta görs ofta i samband med eller efter att ärendet skapats.

    • Beroenden: Kräver hiringCaseId från det skapade ärendet. Kan också kräva ID:n för kontaktpersoner:

      • GET /Api/Departments/{id}/ContactPersons: För att få ID:n till kontaktpersoner.

  • PUT /Api/HiringCases/{id}: Kan användas för att uppdatera ärendet efter att det skapats (t.ex. lägga till mer information).

  • PUT /Api/Assignments/{id}: Kan användas för att uppdatera annonsen efter att den skapats.

  • GET /Api/HiringCases/{id}: Kan användas för att verifiera att ärendet skapades korrekt och hämta dess ID och detaljer.

  • GET /Api/Assignments/{id}: Kan användas för att verifiera att annonsen skapades korrekt.

Fick du svar på din fråga?