Trimoji Resume API - Dokumentaatio
Viimeksi päivitetty: 22. toukokuuta 2024
Tämä API mahdollistaa CV:iden analysoinnin (jäsentämisen), ihanteellisten kandidaattiprofiilien (ns. "Personi") luomisen ja CV:iden pisteyttämisen näitä profiileja vastaan rekrytointiprosessin optimoimiseksi.
Konfiguraatio
Muuttujiesi konfigurointi
Ennen tämän API:n käyttöä, määritä seuraavat muuttujat:
-
base_url: API:n perusosoite (esim.https://integration.trimoji.fr/api/v1/resume). -
partner_token: Ainutlaatuinen kumppanisi todennustunnuksesi. -
customer_token: Asiakaskohtainen API-avaimesi. Voit hankkia sen Trimoji Panelista klikkaamalla "Kopioi API-avaimeni" -painiketta.
Turvallisuus
Autentikointi
Kaikissa API-pyynnöissä tulee olla mukana Authorization-otsake (header), joka sisältää partner_token.
Authorization: oma_partner_token_tähän
Asynkroninen
Takaisinkutsu-mekanismi (Webhook)
Useat toiminnot, kuten CV:n lataus, ovat asynkronisia. Kun käsittely on valmis, Trimoji lähettää tulokset antamaasi callback_url-osoitteeseen.
Takaisinkutsu onnistuneessa tapauksessa
Onnistuneen jäsennyksen yhteydessä callback_url-osoitteeseen lähetettävät tiedot noudattavat tätä JSON-rakennetta:
{
"metadatas": {
"oma_avaimesi": "muokattavissa_oleva_arvo"
},
"resumeData": {
"firstname": "string",
"lastname": "string",
"email": "string",
"phone": "string",
"sex": "string ('f', 'm', tai '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_koodi)", "level": "string" }
],
"hobbies": ["string"],
"telework": "string | null ('Flexible', 'Full time', ...)"
}
Takaisinkutsu epäonnistuneessa tapauksessa
Jos CV:n käsittely epäonnistuu, lähetetään takaisinkutsu, joka sisältää virheen yksityiskohdat ja käsittelylokit.
{
"metadatas": {
"uid": "user123",
"source": "webapp"
},
"error": {
"code": "PROCESSING_FAILED",
"message": "Datan poiminta annetusta tiedostosta epäonnistui virheellisen muodon vuoksi."
},
"logs": [
"[2024-05-21T10:00:05.123Z] [FILE_UPLOAD] [OK] Tiedosto ladattu onnistuneesti.",
"[2024-05-21T10:00:06.456Z] [PROCESS_STARTED] [OK] Käsittely aloitettu.",
"[2024-05-21T10:00:15.789Z] [DATA_STRUCTURE_GENERATION] [ERROR] Tekoälymalli palautti virheellisen rakenteen."
]
}
CV-jäsentäminen
CV:n jäsennyksen API
1. Lataa CV
Lähetä CV-tiedosto asynkronista jäsennyksen käsittelyä varten. Tulokset toimitetaan callback_url-osoitteeseen.
POST /upload
Body-parametrit (form-data)
| Avain | Tyyppi | Kuvaus |
|---|---|---|
customer_token * |
Teksti | Asiakas-API-avaimesi. |
uploaded_file * |
Tiedosto | CV-tiedosto. Maksimikoko: 5MB. Sallitut tiedostopäätteet: pdf, docx, png, jpg, jpeg, txt, webp, doc, rtf, pptx, otp, odp, odt. |
callback_url |
Teksti | URL tulosten vastaanottamiseen asynkronisesti. |
metadatas |
Teksti | Muokattavissa oleva JSON-merkkijono seurantaa varten (tracking). |
personi_id |
Teksti | Valinnainen Personi ID CV:n linkittämiseksi. |
{
"success": true,
"message": "Success",
"data": {
"resume_id": "6ff7d7fe-8e53-4ddf-b68a-f9d4658f5bc8"
}
}
2. Hae CV:n tiedot
Hae jäsennetyt tiedot CV:stä käyttämällä sen resume_id.
GET /get/{customer_token}/{resume_id}
{
"success": true,
"message": "Success",
"data": {
"resumeData": {
"firstname": "Lou",
"lastname": "Pagès",
"email": "[email protected]",
"age": 22
},
"experiences": [ ... ],
"diplomas": [ ... ]
}
}
3. Hae prosessilokit
Hae tietyn CV:n käsittelylokit, hyödyllinen jäsennyongelmien vianmäärityksessä.
GET /get/{customer_token}/{resume_id}/logs
4. Poista CV
Merkitsee CV:n poistetuksi (pehmeä poisto).
DELETE /delete/{customer_token}/{resume_id}
Personi & Pisteytys
Personi & Pisteytys API
"Personi" on ihanteellinen kandidaattiprofiili, joka määritellään JSON-muodossa. CV:t voidaan pisteyttää tätä profiilia vasten.
1. Luo Personi
Luo uusi ihanteellinen kandidaattiprofiili. Voit antaa yksityiskohtaiset kriteerit manuaalisesti tai käyttää auto_weights ja auto_keywords -lipukkeita, jotta tekoälymme voi luoda ne tehtävänkuvauksen perusteella.
POST /personi/create
Body-parametrit (JSON)
| Avain | Tyyppi | Kuvaus |
|---|---|---|
customer_token * |
String | Asiakas-API-avaimesi. |
custom_id * |
String | Ainutlaatuinen tunniste Personille omassa järjestelmässäsi. |
position * |
String | Tehtävänimike. |
position_description * |
String | Roolin yksityiskohtainen kuvaus. |
company_description * |
String | Yrityksen kuvaus. |
sector * |
String | Tehtävän toimiala. |
company |
String | Yrityksen nimi. |
diploma |
String | Vaadittu vähimmäistutkintotaso. |
telework |
String | Etätyökäytäntö. Arvot: FLEXIBLE, FULLTIME, HYBRID, NEVER, OCCASIONAL, ONDEMAND, PARTTIME, ROTATION. |
education_weight |
Number | Paino koulutuspisteille (0-100). |
experience_weight |
Number | Paino kokemuspisteille (0-100). |
skills_weight |
Number | Paino taitopisteille (0-100). |
knowledge_weight |
Number | Paino tietopisteille (0-100). |
keywords_weight |
Number | Paino avainsanapisteille (0-100). |
geolocation |
Object | Sijaintikriteerit: {"address": "string", "radius": number}. Säteily kilometreinä (oletus 10). |
keywords |
Array | Manuaaliset avainsanat: [{"word": "string", "is_mandatory": boolean}]. |
languages |
Array | Kielivaatimukset: [{"id": "iso_code", "level": "A1-C2"}]. Tasot: A1, A2, B1, B2, C1, C2. |
driving_licenses |
Array | Vaaditut ajokortit, esim: ["B", "C1"]. |
auto_keywords |
Boolean | Aseta true generoidaksesi avainsanat automaattisesti. |
auto_weights |
Boolean | Aseta true määritelläksesi painoarvot automaattisesti. |
Huomautus painoarvoista: Jos käytät manuaalisia painoarvoja, kaikkien *_weight-kenttien summan tulee olla tasan 100. Jos mitään painoarvoja ei anneta ja auto_weights on epätosi, käytetään oletusjakaumaa.
Esimerkkipyyntöjä
Automaattinen generointi (tekoäly)
{
"custom_id": "MKT_ASSIST_001",
"customer_token": "oma_token",
"position": "Junior Marketing Assistant",
"position_description": "We are looking for...",
"company_description": "Innovate Corp...",
"sector": "Marketing",
"auto_keywords": true,
"auto_weights": true
}
Manuaalinen konfiguraatio
{
"custom_id": "SENIOR_DEV_002",
"customer_token": "oma_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 }
}
{
"success": true,
"message": "Success",
"data": {
"personi_id": "f8e1e2c3-6337-4644-9fbf-7e382d089e3d"
}
}
2. Hae kaikki Personit
Hae luettelon kaikista aktiivisista Personi-profiileista asiakastilillesi. Jos usealla Personilla on sama custom_id, palautetaan vain uusin päivitetty.
GET /get/{customer_token}/personi/all
{
"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. Hae Personin tiedot
Hae täydelliset asetukset ja tiedot tietystä Personista.
GET /get/{customer_token}/personi/details/{personi_id}
{
"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": "Anglais", "is_mandatory": true } ],
"skills": [ { "skill": "active_listening", "value": 72 } ]
}
}
}
4. Pisteytä CV Personia vastaan
Laske tietyn CV:n pistemäärä suhteessa tiettyyn Personiin. Palauttaa valinnaisesti HTML-selityksen pistemäärästä.
POST /matching
Body-parametrit (JSON)
| Avain | Tyyppi | Kuvaus |
|---|---|---|
resume_id * |
String | Pisteytettävän CV:n tunniste. |
personi_id * |
String tai Array | Pisteytettävän Personin/Personien tunniste(t). |
explainer |
String | Palauttaa pisteytysselityksen. Arvot: 'en', 'fr', 'es'. |
{
"success": true,
"message": "Success",
"data": {
"score": 60,
"personi_name": "Kehittäjä Trimojilla"
}
}
5. Pisteytä kaikki CV:t Personia vastaan
Laske kaikkien tilisi aktiivisten CV:iden pistemäärä yhden Personin suhteessa, palauttaen lajitellun luettelon parhaista vastaavuuksista.
POST /matchingAll
Body-parametrit (JSON)
| Avain | Tyyppi | Kuvaus |
|---|---|---|
resume_id * |
String | Pisteytettävän CV:n tunniste. |
customer_token * |
String | Asiakas-API-avaimesi. |
limit |
Integer | Tulosten enimmäismäärä (oletus 100). |
{
"success": true,
"message": "Success",
"data": [
{
"personi_id": "839d2953...",
"personi_name": "SENIOR HR BUSINESS PARTNER...",
"score": 100
}
]
}
6. Pisteytä kaikki CV:t yhden Personin vastaan
Laske kaikkien tilisi aktiivisten CV:iden pistemäärä yhtä Personia vastaan.
POST /matchingAllResumes
Body-parametrit (JSON)
| Avain | Tyyppi | Kuvaus |
|---|---|---|
customer_token * |
String | Asiakas-API-avaimesi. |
personi_id * |
String | Pisteytettävän Personin tunniste. |
limit |
Integer | Pisteytettävien CV:iden enimmäismäärä. |
{
"success": true,
"message": "Success",
"data": [
{
"resume_id": "ac4d685e-c8e4-474d-a92a-16758009fafe",
"score": 100
},
{
"resume_id": "602d7fc9-2b85-4064-9ae6-ad5be08d5bcb",
"score": 95
}
]
}
7. Poista Personi
Merkitsee Personin poistetuksi (pehmeä poisto).
DELETE /delete/{customer_token}/personi/{personi_id}