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 indirKimlik 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_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxToken'ı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
/api/v1/ats/assessmentsYetki gerekliFirmanı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"/api/v1/ats/assessments/{id}Yetki gerekliTek bir değerlendirmeyi exam'leriyle (case tipi, süre ve dil) birlikte döndürür.
Yol parametreleri
| Alan | Tip | Kurallar |
|---|---|---|
id* | string | Assessment hash |
curl -X GET "https://api.maatrics.com/api/v1/ats/assessments/9bk2f1a7c3" \
-H "Authorization: Bearer ats_xxx"/api/v1/ats/assessments/{id}/applicantsYetki gerekliBir değerlendirmeye eklenen adayları en yeniden eskiye listeler. Burada status ham kayıt durumudur (pending, completed, failed).
Yol parametreleri
| Alan | Tip | Kurallar |
|---|---|---|
id* | string | Assessment hash |
curl -X GET "https://api.maatrics.com/api/v1/ats/assessments/9bk2f1a7c3/applicants" \
-H "Authorization: Bearer ats_xxx"/api/v1/ats/assessments/{id}/applicantsYetki gerekliTek ç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
| Alan | Tip | Kurallar |
|---|---|---|
id* | string | Assessment hash |
Gövde parametreleri
| Alan | Tip | Kurallar |
|---|---|---|
applicants* | array | 1–100 items |
applicants[].remote_id* | string | max 255 |
applicants[].first_name* | string | max 255 |
applicants[].last_name* | string | max 255 |
applicants[].email* | string | valid email, max 255 |
applicants[].status | string | optional, 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]"
}
]
}'/api/v1/ats/applicants/{remoteId}Yetki gerekliAday 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
| Alan | Tip | Kurallar |
|---|---|---|
remoteId* | string | Your candidate id |
curl -X GET "https://api.maatrics.com/api/v1/ats/applicants/cand-3f2a9b7c" \
-H "Authorization: Bearer ats_xxx"/api/ats/file/{remoteId}Yetki gerekmezAdayı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
| Alan | Tip | Kurallar |
|---|---|---|
remoteId* | string | Candidate id (acts as access key) |
curl -X GET "https://api.maatrics.com/api/ats/file/cand-3f2a9b7c" -o report.pdfSonuç 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ç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.
| type | Değerlendirme türü | report_data alanları |
|---|---|---|
language | Dil / İngilizce mülakatı | word_accuracy · speaking_fluency · vocabulary · grammar · general_level |
proficiency | Yetkinlik mülakatı | proficiencies[] (→ actions[]) |
technical · technical_code | Teknik 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.
| Durum | Ne zaman |
|---|---|
401 | API token eksik |
401 | Geçersiz veya pasif token |
404 | Değerlendirme veya aday bulunamadı |
404 | Rapor dosyası henüz oluşturulmadı (düz metin) |
422 | Aday ekleme doğrulama hatası |

