StepByCV API

API Kullanım

Recruiter CV Analysis API - Job Match Scoring endpoint dokümantasyonu

Authentication

API istekleri için önce Bearer token almanız gerekir. ConsumerKey ve SecretKey ile token endpoint'ine istek atarak token alın, sonra diğer endpoint'lerde bu token'ı Authorization: Bearer header'ında gönderin.

1. Token Al

POST https://api.stepbycv.com/api/recruiter/v1/token
Content-Type: application/json

{
  "consumerKey": "sbcr_xxxxxxxxxxxxxxxxxxxxxxxx",
  "secretKey": "your-secret-key"
}

Response: { "accessToken": "...", "expiresIn": 3600 } (expiresIn saniye cinsinden, varsayılan 1 saat)

2. API İsteklerinde Token Kullan

Authorization: Bearer {accessToken}

Roller API

CV analizinde roleId kullanmak için önce mevcut rolleri listeleyin. Recruiter API için Bearer token gereklidir.

Mevcut Rolleri Listele (Recruiter API)

GET https://api.stepbycv.com/api/recruiter/v1/roles
Authorization: Bearer {accessToken}

Response örneği:

[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": ".NET Developer",
    "description": "Backend .NET geliştirici",
    "requiredSkills": ["C#", ".NET", "SQL"],
    "niceToHaveSkills": ["Docker", "Redis"],
    "minYearsExperience": 3,
    "iconName": null
  }
]

Önce token alın, sonra bu endpoint'i Bearer ile çağırın. Dönen id değerini analyze-cv isteğinde roleId olarak kullanın.

Not: Ana sitedeki CV analiz sayfası rol listesi için GET /api/roles kullanır (auth yok). Recruiter API müşterileri ise Bearer gerektiren yukarıdaki endpoint'i kullanmalıdır.

İnteraktif API Tester

Consumer Key ve Secret Key ile token alın, ardından CV analizi yapın.

1. Token Al

2. CV Analizi

GET /api/recruiter/v1/roles (Bearer gerekli). roleId veya jobDescription kullanın.

* roleId veya jobDescription en az biri gerekli.

CV Analiz Endpoint

POST https://api.stepbycv.com/api/recruiter/v1/analyze-cv

Request (multipart/form-data)

AlanTipZorunluAçıklama
filePDFEvetCV dosyası
roleIdGuidHayır*Rol ID. GET /api/recruiter/v1/roles (Bearer gerekli) ile mevcut rolleri alın
jobDescriptionstringHayırİş ilanı metni; varsa analiz buna göre yapılır
jobTitlestringHayırİş ilanı başlığı (opsiyonel)

* roleId veya jobDescription en az biri zorunludur.

Response (200 OK)

{
  "score": 82,
  "matchLevel": "High",
  "missingSkills": ["Docker", "Kubernetes"],
  "strongSkills": ["C#", ".NET", "SQL"],
  "experienceMatch": true,
  "summary": "Candidate is strong backend developer..."
}

matchLevel: High (≥75), Medium (≥50), Low (<50)

cURL Örneği

Önce rolleri listeleyip roleId alın, sonra token alıp CV analizi yapın:

# 0. Mevcut rolleri listele (roleId için)
curl -s "https://api.stepbycv.com/api/roles" | jq

# 1. Token al
TOKEN=$(curl -s -X POST "https://api.stepbycv.com/api/recruiter/v1/token" \
  -H "Content-Type: application/json" \
  -d '{"consumerKey":"sbcr_your_consumer_key","secretKey":"your_secret_key"}' \
  | jq -r '.accessToken')

# 2. Mevcut rolleri listele (roleId için, Bearer gerekli)
curl -s "https://api.stepbycv.com/api/recruiter/v1/roles" \
  -H "Authorization: Bearer $TOKEN" | jq

# 3. analyze-cv ile istek at (roleId veya jobDescription ile)
curl -X POST "https://api.stepbycv.com/api/recruiter/v1/analyze-cv" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@cv.pdf" \
  -F "roleId=3fa85f64-5717-4562-b3fc-2c963f66afa6"

# 4. veya jobDescription ile:
curl -X POST "https://api.stepbycv.com/api/recruiter/v1/analyze-cv" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@cv.pdf" \
  -F "jobDescription=We are looking for a .NET Developer with 3+ years experience..."

jq yoksa, token response'undan accessToken değerini manuel kopyalayıp Bearer header'ında kullanabilirsiniz.