TalentMind API

v1.0.0

توثيق واجهة TalentMind البرمجية — وصول برمجي إلى تحليل المقابلات وتقييم المهارات الشخصية وقياس مدى ملاءمة المرشّحين للثقافة المؤسسية. واجهة REST وخطافات الويب (webhooks) لدمج التقييم بالذكاء الاصطناعي في نظام تتبّع المتقدّمين لديك

المصادقة

يُمرَّر ترويسة Authorization بالصيغة Bearer {token}

المخطّط

BearerAuth

النوع

API Key

الترويسة

Authorization

المقابلات

post

uploadInterview

ارفع تسجيل مقابلة للتحليل

جسم الطلب · application/json

candidate_idمطلوب

string

معرّف المرشّح

vacancy_idمطلوب

string

معرّف الوظيفة

media_urlمطلوب

string

رابط تسجيل المقابلة (mp4 أو mp3 أو m4a)

الاستجابات

200تم قبول المقابلة للمعالجة
400طلب غير صالح
post/v1/interviews
الطلب
import axios from 'axios';

async function uploadInterview() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/interviews', {
      candidate_id: 'cand_4f21',
      vacancy_id: 'ui-engineer',
      media_url: 'https://cdn.acme.io/int-204.mp4'
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

uploadInterview();
الاستجابة · application/json
{
  "success": true,
  "id": "int_8d24f0",
  "status": "processing",
  "created_at": "2026-06-13T09:24:00Z"
}
get

getInterview

احصل على حالة مقابلة ونتيجة تحليلها

معاملات المسار

idمطلوب

string

معرّف المقابلة

الاستجابات

200نجاح
404المقابلة غير موجودة
get/v1/interviews/{id}
الطلب
import axios from 'axios';

async function getInterview() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/interviews/int_8d24f0', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getInterview();
الاستجابة · application/json
{
  "success": true,
  "id": "int_8d24f0",
  "status": "completed",
  "match": 0.88,
  "report_url": "https://app.talentmind.app/r/int_8d24f0",
  "scores": {
    "leadership": 0.88,
    "communication": 0.84,
    "empathy": 0.75,
    "logic": 0.76
  }
}
get

listInterviews

عرض قائمة المقابلات

معاملات الاستعلام

status

string

Enum: processing · completed · failed

التصفية حسب الحالة

limit

integer

الافتراضي: 20

عدد السجلّات. الحدّ الأقصى 100.

offset

integer

الافتراضي: 0

الإزاحة للتقسيم إلى صفحات.

الاستجابات

200نجاح
400طلب غير صالح
get/v1/interviews
الطلب
import axios from 'axios';

async function listInterviews() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/interviews', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' },
      params: {
        status: 'completed',
        limit: 20,
        offset: 0
      }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

listInterviews();
الاستجابة · application/json
{
  "success": true,
  "total": 128,
  "items": [
    { "id": "int_8d24f0", "status": "completed", "match": 0.88 },
    { "id": "int_7b15c2", "status": "processing", "match": null }
  ]
}

المرشّحون

get

getCandidateScore

قيّم المهارات الشخصية لمرشّح

معاملات المسار

idمطلوب

string

معرّف المرشّح

الاستجابات

200نجاح
404المرشّح غير موجود
get/v1/candidates/{id}/score
الطلب
import axios from 'axios';

async function getCandidateScore() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/candidates/cand_4f21/score', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCandidateScore();
الاستجابة · application/json
{
  "success": true,
  "candidate_id": "cand_4f21",
  "match": 0.88,
  "scores": {
    "leadership": 0.88,
    "communication": 0.84,
    "empathy": 0.75,
    "planning": 0.85,
    "stress_tolerance": 0.68
  }
}
get

getCandidateReport

تقرير كامل عن المرشّح

معاملات المسار

idمطلوب

string

معرّف المرشّح

الاستجابات

200نجاح
404المرشّح غير موجود
get/v1/candidates/{id}/report
الطلب
import axios from 'axios';

async function getCandidateReport() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/candidates/cand_4f21/report', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCandidateReport();
الاستجابة · application/json
{
  "success": true,
  "candidate": {
    "name": "Dmitry Sokolov",
    "position": "Senior Project Manager"
  },
  "compatibility": 0.74,
  "recommendation": "recommended",
  "strengths": ["Systems thinking", "End-to-end project ownership"],
  "risks": ["High salary expectations"]
}
post

compareCandidates

قارن بين المرشّحين وفق معايير

جسم الطلب · application/json

candidate_idsمطلوب

array<string>

معرّفات المرشّحين (من 2 إلى 10)

criteria

string

معيار المقارنة (مثلًا، القيادة)

الاستجابات

200نجاح
400طلب غير صالح
post/v1/candidates/compare
الطلب
import axios from 'axios';

async function compareCandidates() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/candidates/compare', {
      candidate_ids: ['cand_4f21', 'cand_9a02'],
      criteria: 'leadership'
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

compareCandidates();
الاستجابة · application/json
{
  "success": true,
  "ranking": [
    { "candidate_id": "cand_4f21", "score": 0.88 },
    { "candidate_id": "cand_9a02", "score": 0.81 }
  ]
}

الثقافة

get

getCultureProfile

ملف الثقافة المؤسسية للشركة

الاستجابات

200نجاح
get/v1/culture/profile
الطلب
import axios from 'axios';

async function getCultureProfile() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/culture/profile', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCultureProfile();
الاستجابة · application/json
{
  "success": true,
  "parameters_count": 54,
  "dimensions": {
    "innovation": 0.64,
    "stability": 0.78,
    "people": 0.72,
    "results": 0.81,
    "detail": 0.75,
    "team": 0.69,
    "competitiveness": 0.58
  }
}
post

getCultureFit

قيّم مدى ملاءمة مرشّح للحمض المؤسسي للشركة

جسم الطلب · application/json

candidate_idمطلوب

string

معرّف المرشّح

الاستجابات

200نجاح
400طلب غير صالح
post/v1/culture/fit
الطلب
import axios from 'axios';

async function getCultureFit() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/culture/fit', {
      candidate_id: 'cand_4f21'
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCultureFit();
الاستجابة · application/json
{
  "success": true,
  "fit_score": 0.74,
  "matches": ["Execution discipline", "Analytical approach"],
  "attention": ["Team collaboration"]
}

Webhooks

post

createWebhook

اشترك في أحداث التحليل

جسم الطلب · application/json

urlمطلوب

string

رابط تسليم الأحداث

eventsمطلوب

array<string>

الأحداث: interview.completed، report.ready، candidate.scored

الاستجابات

200تم إنشاء الـwebhook
400طلب غير صالح
post/v1/webhooks
الطلب
import axios from 'axios';

async function createWebhook() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/webhooks', {
      url: 'https://acme.io/hooks/talentmind',
      events: ['interview.completed', 'report.ready']
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

createWebhook();
الاستجابة · application/json
{
  "success": true,
  "id": "wh_2c91",
  "url": "https://acme.io/hooks/talentmind",
  "events": ["interview.completed", "report.ready"]
}
get

listWebhooks

عرض قائمة الـwebhooks

الاستجابات

200نجاح
get/v1/webhooks
الطلب
import axios from 'axios';

async function listWebhooks() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/webhooks', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

listWebhooks();
الاستجابة · application/json
{
  "success": true,
  "items": [
    {
      "id": "wh_2c91",
      "url": "https://acme.io/hooks/talentmind",
      "events": ["interview.completed", "report.ready"]
    }
  ]
}
delete

deleteWebhook

احذف webhook

معاملات المسار

idمطلوب

string

معرّف الـwebhook

الاستجابات

200تم حذف الـwebhook
404الـwebhook غير موجود
delete/v1/webhooks/{id}
الطلب
import axios from 'axios';

async function deleteWebhook() {
  try {
    const response = await axios.delete('https://api.talentmind.app/v1/webhooks/wh_2c91', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

deleteWebhook();
الاستجابة · application/json
{
  "success": true,
  "deleted": true
}