Maatrics

ATS Entegrasyon API

Aday Takip Sisteminizi Maatrics'e bağlayın: basit bir REST API üzerinden aday ekleyin, sonuçları alın ve raporları çekin.

Temel URL

https://api.maatrics.com

Format

JSON / REST

Yetki

Bearer ats_…

Dış işe alım sistemleri bu API ile Maatrics değerlendirmelerine aday gönderir, ardından sonuçlarını takip edip alır. Adaylar sistemler arasında remote_id ile eşleşir — bu, ATS'inizin atadığı benzersiz kimliktir. Aday eklerken siz belirlersiniz; Maatrics her yanıt ve webhook'ta onu geri döndürür.

1.  ATS       ──GET   /assessments                ──▶  değerlendirmeleri keşfet
2.  ATS       ──POST  /assessments/:id/applicants ──▶  aday ekle → invite_url
3.  Aday      ── Maatrics üzerinde değerlendirmeyi tamamlar
4.  Maatrics  ──POST  webhook_url                 ──▶  sonuç (applicant.analyzed)
5.  ATS       ──GET   /applicants/:remote_id      ──▶  durum / sonuç sorgula
6.  ATS       ──GET   /api/ats/file/:remote_id    ──▶  PDF raporu indir

Kimlik Doğrulama

Her /api/v1/ats/* isteği bir Bearer token içermelidir. Token'lar entegrasyon başına üretilir; ats_ önekiyle başlar ve ardından 48 karakter gelir. Bir token yalnızca entegrasyonu aktif olduğu sürece geçerlidir.

Authorization: Bearer ats_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Token'ınızı Maatrics panelinden (ATS Entegrasyonları) alın veya yenileyin. /api/ats/file/:remoteId tek herkese açık uç noktadır — remote_id UUID'si erişim anahtarı işlevi görür; bu nedenle rapor URL'lerini gizli tutun.

Uç Noktalar

GET/api/v1/ats/assessmentsYetki gerekli

Firmanızın en az bir case'i olan tüm değerlendirmelerini, en yeniden eskiye döndürür. Dönen id (hash) değerini diğer çağrılarda kullanın.

curl -X GET "https://api.maatrics.com/api/v1/ats/assessments" \
  -H "Authorization: Bearer ats_xxx"
GET/api/v1/ats/assessments/{id}Yetki gerekli

Tek bir değerlendirmeyi exam'leriyle (case tipi, süre ve dil) birlikte döndürür.

Yol parametreleri

AlanTipKurallar
id*stringAssessment hash
curl -X GET "https://api.maatrics.com/api/v1/ats/assessments/9bk2f1a7c3" \
  -H "Authorization: Bearer ats_xxx"
GET/api/v1/ats/assessments/{id}/applicantsYetki gerekli

Bir değerlendirmeye eklenen adayları en yeniden eskiye listeler. Burada status ham kayıt durumudur (pending, completed, failed).

Yol parametreleri

AlanTipKurallar
id*stringAssessment hash
curl -X GET "https://api.maatrics.com/api/v1/ats/assessments/9bk2f1a7c3/applicants" \
  -H "Authorization: Bearer ats_xxx"
POST/api/v1/ats/assessments/{id}/applicantsYetki gerekli

Tek çağrıda 1–100 aday ekler. Gerektiğinde kullanıcı oluşturur, davet e-postası gönderir ve her aday için bir invite_url döndürür. Sonuç durumu created, linked_existing veya already_exists olur.

Yol parametreleri

AlanTipKurallar
id*stringAssessment hash

Gövde parametreleri

AlanTipKurallar
applicants*array1–100 items
applicants[].remote_id*stringmax 255
applicants[].first_name*stringmax 255
applicants[].last_name*stringmax 255
applicants[].email*stringvalid email, max 255
applicants[].statusstringoptional, max 50 (reserved)
curl -X POST "https://api.maatrics.com/api/v1/ats/assessments/9bk2f1a7c3/applicants" \
  -H "Authorization: Bearer ats_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "applicants": [
      {
        "remote_id": "cand-3f2a9b7c",
        "first_name": "John",
        "last_name": "Doe",
        "email": "[email protected]"
      }
    ]
  }'
GET/api/v1/ats/applicants/{remoteId}Yetki gerekli

Aday yaşam döngüsü durumunu döndürür. Aday için sonuç webhook'u yayınlandığında report_url ve yapılandırılmış sonuçlar da yanıta eklenir. Durum pending, in_progress, completed veya failed olur.

Yol parametreleri

AlanTipKurallar
remoteId*stringYour candidate id
curl -X GET "https://api.maatrics.com/api/v1/ats/applicants/cand-3f2a9b7c" \
  -H "Authorization: Bearer ats_xxx"
GET/api/ats/file/{remoteId}Yetki gerekmez

Adayın raporunu PDF olarak döndürür. Kimlik doğrulaması gerektirmez — remote_id değeri erişim anahtarı işlevi görür. Bu adres, report_url ile aynıdır.

Yol parametreleri

AlanTipKurallar
remoteId*stringCandidate id (acts as access key)
curl -X GET "https://api.maatrics.com/api/ats/file/cand-3f2a9b7c" -o report.pdf

Sonuç Webhook'u

Bir adayın analizi yayınlandığında Maatrics, aşağıdaki payload'ı entegrasyonunuzun webhook_url adresine POST eder. Hızlıca 2xx dönün, remote_id ile yinelenenleri eleyin, ardından report_url'den PDF'i çekin ve/veya yapılandırılmış sonuçlar için aday durumu uç noktasını çağırın. Payload, değerlendirme tipine göre değişen bir report_data taşır; aşağıda üç tip için birer örnek payload verilmiştir.

Sonuç webhook'ları şu an otomatik gönderilmez — aday başına Maatrics panelinden, otomatik yeniden deneme olmadan tetiklenir. Yedek olarak aday durumu uç noktasını sorgulayabilirsiniz.

Sonuçların yapısı değerlendirme tipine (type) göre değişir. Bir sonucu işlemeden önce type alanına bakın ve report_data'yı buna göre ayrıştırın — aşağıdaki Kullanım sekmesi tam olarak bunu gösterir.

typeDeğerlendirme türüreport_data alanları
languageDil / İngilizce mülakatıword_accuracy · speaking_fluency · vocabulary · grammar · general_level
proficiencyYetkinlik mülakatıproficiencies[] (→ actions[])
technical · technical_codeTeknik mülakat (kodlama dahil)proficiencies[] · skills[]
// On a result webhook — or the candidate status response —
// branch on `type` to parse report_data / results correctly:
function handleResult(payload) {
  switch (payload.type) {
    case "language":
      // word_accuracy, speaking_fluency, vocabulary, grammar, general_level
      return renderLanguageReport(payload.report_data);

    case "proficiency":
      // proficiencies[] — each with nested actions[]
      return renderProficiencyReport(payload.report_data);

    case "technical":
    case "technical_code":
      // proficiencies[] + skills[]
      return renderTechnicalReport(payload.report_data);

    default:
      return; // unknown type — ignore
  }
}

Hatalar

Standart HTTP durum kodları kullanılır. Doğrulama hataları, alan-bazlı bir errors nesnesiyle 422 döner. Her istek denetim ve hata ayıklama için sunucu tarafında loglanır.

DurumNe zaman
401API token eksik
401Geçersiz veya pasif token
404Değerlendirme veya aday bulunamadı
404Rapor dosyası henüz oluşturulmadı (düz metin)
422Aday ekleme doğrulama hatası