Logotrimoji
Probeer gratis

Hardskills API

Trimoji Resume API Documentatie

Laatst bijgewerkt: 22 mei 2024

Deze API stelt u in staat CV's te analyseren (parsen), ideale kandidaatprofielen (genaamd "Personi") aan te maken en CV's te scoren ten opzichte van deze profielen om uw recruitmentproces te optimaliseren.

Configuratie

Configureer uw variabelen

Voordat u deze API gebruikt, configureer de volgende variabelen:

  • base_url : De basis-URL van de API (bijv. https://integration.trimoji.fr/api/v1/resume).
  • partner_token : Uw unieke partnerauthenticatietoken.
  • customer_token : Uw klant-specifieke API-sleutel. U kunt deze verkrijgen via het Trimoji Panel door op de knop "kopieer mijn API-sleutel" te klikken.

Beveiliging

Authenticatie

Alle API-verzoeken moeten een Authorization header bevatten met uw partner_token.

Authorization: uw_partner_token_hier

Asynchroon

Callback Mechanisme (Webhook)

Meerdere operaties, zoals het uploaden van CV's, zijn asynchroon. Wanneer de verwerking is voltooid, stuurt Trimoji de resultaten naar de callback_url die u heeft opgegeven.

Callback bij Succes

De gegevens die naar uw callback_url worden gestuurd bij een succesvolle parsin, volgen deze JSON-structuur:


{
  "metadatas": {
    "uw_sleutel": "gepersonaliseerde_waarde"
  },
  "resumeData": {
    "firstname": "string",
    "lastname": "string",
    "email": "string",
    "phone": "string",
    "sex": "string ('v', 'm', of 'other')",
    "age": "integer | null",
    "introduction": "string | null",
    "address": "string | null",
    "lat": "number | null",
    "lon": "number | null",
    "processed_at": "datetime_string"
  },
  "experiences": [
    {
      "poste": "string",
      "company": "string",
      "size": "string | null ('AE', 'MIE', 'TPE', ...)",
      "start_date": "integer | null",
      "end_date": "integer | null",
      "duration": "integer | null",
      "tasks": ["string"]
    }
  ],
  "diplomas": [
    { "name": "string", "date": "integer | null" }
  ],
  "licenses": [
    { "name": "string", "desc": "string" }
  ],
  "languages": [
    { "name": "string (iso_code)", "level": "string" }
  ],
  "hobbies": ["string"],
  "telework": "string | null ('Flexible', 'Full time', ...)"
}

Callback bij Falen

Als de CV-verwerking mislukt, wordt een callback gestuurd met de foutdetails en de verwerkingslogboeken.


{
  "metadatas": {
    "uid": "user123",
    "source": "webapp"
  },
  "error": {
    "code": "PROCESSING_FAILED",
    "message": "Gegevensverwerking van het verstrekte bestand mislukt vanwege een ongeldig formaat."
  },
  "logs": [
    "[2024-05-21T10:00:05.123Z] [FILE_UPLOAD] [OK] Bestand succesvol geüpload.",
    "[2024-05-21T10:00:06.456Z] [PROCESS_STARTED] [OK] Verwerking gestart.",
    "[2024-05-21T10:00:15.789Z] [DATA_STRUCTURE_GENERATION] [ERROR] AI-model gaf een ongeldige structuur terug."
  ]
}

CV Parsin

CV Parsin API

1. CV Uploaden

Stuur een CV-bestand voor asynchroon parsen. De resultaten worden naar de callback_url gestuurd.

POST /upload

Body Parameters (form-data)

Sleutel Type Beschrijving
customer_token * Tekst Uw klant-API-sleutel.
uploaded_file * Bestand CV-bestand. Max grootte: 5MB. Toegestane extensies: pdf, docx, png, jpg, jpeg, txt, webp, doc, rtf, pptx, otp, odp, odt.
callback_url Tekst URL om asynchrone resultaten te ontvangen.
metadatas Tekst Aangepaste JSON-string voor tracking.
personi_id Tekst Optionele Personi ID om het CV te koppelen.
Voorbeeld Reactie

{
    "success": true,
    "message": "Success",
    "data": {
        "resume_id": "6ff7d7fe-8e53-4ddf-b68a-f9d4658f5bc8"
    }
}

2. CV-gegevens Ophalen

Haal de geparste informatie van een CV op met behulp van de resume_id.

GET /get/{customer_token}/{resume_id}

Voorbeeld Reactie

{
    "success": true,
    "message": "Success",
    "data": {
        "resumeData": {
            "firstname": "Lou",
            "lastname": "Pagès",
            "email": "[email protected]",
            "age": 22
        },
        "experiences": [ ... ],
        "diplomas": [ ... ]
    }
}

3. Proceslogboeken Ophalen

Haal de verwerkingslogboeken voor een specifiek CV op, handig voor het debuggen van parsinproblemen.

GET /get/{customer_token}/{resume_id}/logs

4. CV Verwijderen

Markeer een CV als verwijderd (logische verwijdering / soft delete).

DELETE /delete/{customer_token}/{resume_id}

Personi & Scoring

Personi & Scoring API

Een "Personi" is een ideaal kandidaatprofiel, gedefinieerd in JSON-formaat, waartegen CV's gescoord kunnen worden.

1. Personi Aanmaken

Maak een nieuw ideaal kandidaatprofiel aan. U kunt handmatig gedetailleerde criteria opgeven, of de vlaggen auto_weights en auto_keywords gebruiken om onze AI deze te laten genereren op basis van de functiebeschrijving.

POST /personi/create

Body Parameters (JSON)

Sleutel Type Beschrijving
customer_token * String Uw klant-API-sleutel.
custom_id * String Een unieke ID voor de Personi in uw systeem.
position * String De functietitel.
position_description * String Gedetailleerde beschrijving van de rol.
company_description * String Beschrijving van het bedrijf.
sector * String De bedrijfssector van de functie.
company String De naam van het bedrijf.
diploma String Vereist minimaal opleidingsniveau.
telework String Thuiswerkbeleid. Waarden: FLEXIBLE, FULLTIME, HYBRID, NEVER, OCCASIONAL, ONDEMAND, PARTTIME, ROTATION.
education_weight Number Gewicht voor de opleiding-score (0-100).
experience_weight Number Gewicht voor de ervarings-score (0-100).
skills_weight Number Gewicht voor de vaardigheden-score (0-100).
knowledge_weight Number Gewicht voor de kennis-score (0-100).
keywords_weight Number Gewicht voor de trefwoorden-score (0-100).
geolocation Object Locatiecriteria: {"address": "string", "radius": number}. Radius in km (standaard 10).
keywords Array Handmatige trefwoorden: [{"word": "string", "is_mandatory": boolean}].
languages Array Taaleisen: [{"id": "iso_code", "level": "A1-C2"}]. Niveaus: A1, A2, B1, B2, C1, C2.
driving_licenses Array Vereiste rijbewijzen, bijv. ["B", "C1"].
auto_keywords Boolean Zet op true om automatisch trefwoorden te genereren.
auto_weights Boolean Zet op true om gewichten automatisch in te stellen.

Opmerking over Gewichten: Als u handmatige gewichten gebruikt, moet de som van alle *_weight velden precies 100 zijn. Als er geen gewichten worden opgegeven en auto_weights onwaar is, wordt een standaardverdeling gebruikt.

Voorbeeld Verzoeken

Automatische Generatie (AI)


{
    "custom_id": "MKT_ASSIST_001",
    "customer_token": "uw_token",
    "position": "Junior Marketing Assistant",
    "position_description": "We are looking for...",
    "company_description": "Innovate Corp...",
    "sector": "Marketing",
    "auto_keywords": true,
    "auto_weights": true
}

Handmatige Configuratie


{
    "custom_id": "SENIOR_DEV_002",
    "customer_token": "uw_token",
    "position": "Senior Software Engineer",
    "position_description": "Seeking experienced...",
    "company": "Tech Solutions",
    "telework": "HYBRID",
    "education_weight": 10,
    "experience_weight": 40,
    "skills_weight": 20,
    "knowledge_weight": 10,
    "keywords_weight": 20,
    "keywords": [
        {"word": "Spring Boot", "is_mandatory": true}
    ],
    "geolocation": { "address": "Paris", "radius": 20 }
}
Voorbeeld Reactie

{
    "success": true,
    "message": "Success",
    "data": {
        "personi_id": "f8e1e2c3-6337-4644-9fbf-7e382d089e3d"
    }
}

2. Alle Personi's Ophalen

Haal de lijst op van alle actieve Personi's voor uw klantaccount. Als meerdere Personi's dezelfde custom_id delen, wordt alleen de meest recent bijgewerkte teruggegeven.

GET /get/{customer_token}/personi/all

Voorbeeld Reactie

{
    "success": true,
    "message": "Success",
    "data": [
        {
            "id": "f8e1e2c3...",
            "custom_id": "SENIOR_DEV_002",
            "name": "Senior Software Engineer Profile",
            "created_at": "2024-05-15T10:00:00.000Z"
        }
    ]
}

3. Personi Details Ophalen

Haal de volledige configuratie en details van een specifieke Personi op.

GET /get/{customer_token}/personi/details/{personi_id}

Voorbeeld Reactie

{
    "success": true,
    "message": "Success",
    "data": {
        "id": "5e0273f8-8cfd-4673-9a89-3f4c934d3391",
        "name": "Associate Product Manager | London",
        "matching_settings": {
            "weights": { "percent_experience": 44, "percent_hardskills": 19 },
            "languages": [ { "lang": "Engels", "is_mandatory": true } ],
            "skills": [ { "skill": "active_listening", "value": 72 } ]
        }
    }
}

4. CV Scoren tegen een Personi

Bereken de score van een specifiek CV tegen een specifiek Personi. Geeft optioneel een HTML-uitleg van de score terug.

POST /matching

Body Parameters (JSON)

Sleutel Type Beschrijving
resume_id * String ID van het te scoren CV.
personi_id * String of Array ID van de Personi(s) waartegen gescoord moet worden.
explainer String Retourneert de uitleg van de score. Waarden: 'en', 'fr', 'es'.
Voorbeeld Reactie (Standaard)

{
    "success": true,
    "message": "Success",
    "data": {
        "score": 60,
        "personi_name": "Ontwikkelaar bij Trimoji"
    }
}

5. Alle CV's Scoren tegen een Personi

Bereken de score van alle actieve CV's op uw account tegen één Personi, waarbij een gesorteerde lijst van de beste matches wordt geretourneerd.

POST /matchingAll

Body Parameters (JSON)

Sleutel Type Beschrijving
resume_id * String ID van het te scoren CV.
customer_token * String Uw klant-API-sleutel.
limit Integer Max aantal resultaten (standaard 100).
Voorbeeld Reactie

{
    "success": true,
    "message": "Success",
    "data": [
        {
            "personi_id": "839d2953...",
            "personi_name": "SENIOR HR BUSINESS PARTNER...",
            "score": 100
        }
    ]
}

6. Alle CV's Scoren tegen een Personi

Bereken de score van alle actieve CV's op uw account tegen één Personi.

POST /matchingAllResumes

Body Parameters (JSON)

Sleutel Type Beschrijving
customer_token * String Uw klant-API-sleutel.
personi_id * String ID van de Personi waartegen gescoord moet worden.
limit Integer Max aantal CV's te scoren.
Voorbeeld Reactie

{
    "success": true,
    "message": "Success",
    "data": [
        {
            "resume_id": "ac4d685e-c8e4-474d-a92a-16758009fafe",
            "score": 100
        },
        {
            "resume_id": "602d7fc9-2b85-4064-9ae6-ad5be08d5bcb",
            "score": 95
        }
    ]
}

7. Personi Verwijderen

Markeer een Personi als verwijderd (logische verwijdering / soft delete).

DELETE /delete/{customer_token}/personi/{personi_id}

Top