İhale verilerini kendi sisteminize bağlayın
İhale Metrik REST API ile ihale arama, detay, alarm ve profil verilerini kendi sistemlerinize entegre edin. Erişim, yalnız bizim oluşturup onayladığımız 3 parçalı kimlik (Access Key + Secret Key + Token) ve izin verilen IP adresleriyle sağlanır.
3 parçalı kimlik
Access Key + Secret Key + Token. Üçü birden doğru olmalı.
IP kilidi
Yalnız önceden bildirdiğiniz IP adres(ler)inden erişim.
Onaylı erişim
Her kimlik yönetici tarafından oluşturulup onaylanır; iptal edilebilir.
Başlarken
1. Kimlik talep edin
API erişimi davetlidir: destek ekibiyle iletişime geçin. Firmanız için bir kimlik oluşturup Access Key, Secret Key ve Token değerlerini güvenli biçimde iletiriz. Bu üç değer yalnız bir kez verilir; kaybederseniz yenisi üretilir.
2. Sabit IP adresinizi bildirin
İstek atacağınız sunucunun sabit genel IP adresini (ya da IP bloğunu) bize bildirin. Erişim yalnız bu adres(ler)den çalışır; başka bir IP’den gelen istek reddedilir. Bu, anahtar sızsa bile erişimi korur.
3. Üç başlıkla çağırın
Her isteğe üç kimlik başlığını birlikte ekleyin. Üçü de doğru, kimlik onaylı ve istek izinli IP’den ise yanıt döner; aksi halde hata kodu alırsınız.
Kimlik doğrulama
Her isteğe aşağıdaki üç başlığı ekleyin. Değerleri yalnız kimlik oluşturulurken bir kez verilir; güvenli bir sır deposunda saklayın, istemci tarafında (tarayıcı, mobil uygulama) gömmeyin.
X-Access-Key: imk_xxxxxxxxxxxxxxxxxxxxxxxx
X-Secret-Key: ims_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Authorization: Bearer imt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxÖrnek istek
curl -s "https://ihalemetrik.com/api/v1/tenders?query=yazilim&province=Ankara&limit=10" \
-H "X-Access-Key: imk_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "X-Secret-Key: ims_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer imt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Örnek yanıt
{
"success": true,
"data": {
"items": [
{ "id": "…", "ikn": "2026/123456", "title": "…", "institution": "…", "city": "Ankara" }
],
"nextCursor": "…"
}
}Tüm yanıtlar { success, data?, error?, code? } zarfıyla döner. Sayfalama cursor ile yapılır: yanıttaki nextCursor değerini bir sonraki isteğe cursor parametresi olarak geçirin.
Uç noktalar
İlk sürümde yalnız okuma uçları açıktır.
| Metod | Yol | Açıklama | Yetki |
|---|---|---|---|
| GET | /api/v1/tenders | İhale arama. Parametreler: query, province, type (mal|hizmet|yapim|danismanlik), minAmount, maxAmount, limit (≤100), cursor. | tenders:read |
| GET | /api/v1/tenders/{id} | Tek bir ihalenin detayı. | tenders:read |
| GET | /api/v1/alerts | Firmanızın tanımlı alarmları. | alerts:read |
| GET | /api/v1/me | Hesap ve abonelik bilgileri. | me:read |
Hata kodları
| HTTP | Kod | Anlamı |
|---|---|---|
| 401 | UNAUTHORIZED | Üç başlıktan biri eksik. |
| 401 | INVALID_CREDENTIALS | Access Key, Secret Key veya Token eşleşmedi (hangisi olduğu belirtilmez). |
| 401 | KEY_REVOKED | Kimlik iptal edilmiş. |
| 401 | KEY_EXPIRED | Kimliğin süresi dolmuş. |
| 403 | NOT_APPROVED | Kimlik henüz onaylanmamış. |
| 403 | IP_NOT_ALLOWED | İstek izin verilmeyen bir IP adresinden geldi. |
| 403 | INSUFFICIENT_SCOPE | Kimlik bu uç için gerekli yetkiye sahip değil. |
| 429 | RATE_LIMIT_EXCEEDED | Saatlik istek sınırı aşıldı. |
Hız sınırı
İstekler firma başına saatlik olarak sınırlıdır (varsayılan 1.000/saat; kimliğinize özel ayarlanabilir). Sınır aşıldığında 429 döner; yanıt üstbilgilerinde kalan hak ve sıfırlanma zamanı yer alır. İsteklerinizi istikrarlı bir hızda gönderin ve 429 durumunda kısa bir bekleme ile yeniden deneyin.
Entegrasyona hazır mısınız?
Kimlik talebinizi iletin; sabit IP adresinizle birlikte kuruluma yardımcı olalım.
API erişimi talep edin