İYS İzin Sorgulama API (iys-check)
iys-check endpoint'i, belirli bir alıcı için İYS (İleti Yönetim Sistemi) kaydındaki güncel izin durumunu döner. iys-register ile yüklediğiniz kaydın işlendiğini doğrulamak, ticari gönderim öncesi alıcının ONAY/RET durumunu kontrol etmek veya audit raporu üretmek için kullanılır. Yan etkisiz, kontör harcamaz.
Önemli ön koşul: Panel'de API erişimi
Bu endpoint'i çağırmadan önce panelinizde API kullanımına izin ver seçeneğinin aktif olması gerekir.
Ayar yeri:
panel.iletimerkezi.com→ Ayarlar → Güvenlik → Erişim İzinleriAktif değilse istek
401 — Üyelik bilgileri hatalıile döner. Detay: authentication.md
Marka kodu ön koşulu. Hesabınızda iletiMerkezi tarafından sağlanmış aktif bir İYS marka kodu (
brandCode) bulunmalıdır. Aktif İYS aboneliği yoksa istek403 — Aktif abonelik bulunamadıile döner.
Endpoint
| Alan | Değer | |---|---| | Method | POST | | URL | https://api.iletimerkezi.com/v1/consent/show/json | | Content-Type | application/json | | Auth | API Key + Hash (request.authentication) |
Request
Şema
request
├─ authentication
│ ├─ key (string, zorunlu)
│ └─ hash (string, zorunlu)
└─ consent
├─ brandCode (string|integer, zorunlu) — hesabınızdaki aktif İYS marka kodu
├─ recipient (string, zorunlu) — sorgulanacak cep numarası veya e-posta
├─ recipientType (string, zorunlu) — "BIREYSEL" veya "TACIR"
└─ type (string, zorunlu) — "MESAJ", "EPOSTA" veya "ARAMA"Sorgulama tek alıcılıdır —
iys-register'in aksine bir liste alınmaz. Toplu sorgu için her alıcı için ayrı istek atın.
Tam örnek
{
"request": {
"authentication": {
"key": "API_KEY",
"hash": "API_HASH"
},
"consent": {
"brandCode": 1234,
"recipient": "+905XXXXXXXXX",
"recipientType": "BIREYSEL",
"type": "MESAJ"
}
}
}Response
Başarılı (200)
{
"response": {
"status": {
"code": 200,
"message": "İşlem başarılı"
},
"consent": {
"brandCode": 1234,
"recipient": "+905XXXXXXXXX",
"recipientType": "BIREYSEL",
"type": "MESAJ",
"status": "ONAY",
"source": "HS_WEB",
"consentDate": "2026-04-30 09:15:42"
}
}
}Alanlar:
response.consent.brandCode(integer): Sorgulamada kullanılan marka kodu.response.consent.recipient(string): Alıcı (cep numarası veya e-posta),+90prefix'i ile döner.response.consent.recipientType(string):BIREYSELveyaTACIR.response.consent.type(string): İletişim kanalı tipi —MESAJ,EPOSTA,ARAMA.response.consent.status(string): Kayıtlı izin durumu —ONAY(rıza var) veyaRET(rıza yok / iptal edildi).response.consent.source(string): İznin alındığı kanal kodu (örn.HS_WEB);iys-register'dekisourceenum değerlerinden biri.response.consent.consentDate(string): İznin alındığı an, formatYYYY-MM-DD HH:MM:SS, Türkiye yerel saati.
Aynı
recipient + recipientType + typekombinasyonu için iletiMerkezi her zaman en son kaydı döner. Müşteri önceONAYsonraRETverdiysestatus: "RET"döner; bu bağlayıcıdır, ticari gönderim yapılamaz.
Hata yanıtları
401 — Üyelik bilgileri hatalı
API Anahtar/Hash doğrulanamadı veya panel toggle kapalı. Detay: authentication.md.
403 — Aktif abonelik bulunamadı
Hesabınızda aktif bir İYS aboneliği yok. Marka kodu (brandCode) tanımlı değil veya İYS hizmeti pasif.
422 — İstekte gönderilen bazı değerler doğrulanamadı
Yaygın nedenler:
recipientformatı geçersiz (cep numarası veya e-posta deseninde değil).recipientTypeveyatypeenum değerlerinin dışında bir değer.brandCodeboş veya hesabınıza ait değil.- Alıcı için bu marka + tip kombinasyonunda kayıtlı bir izin yok (kayıtsız alıcı).
"Kayıtsız" durum farklı bir 4XX kodu değil, 422 ile döner; mesaj string'inden tipi kestirmek yerine dönen
consent.statusalanının olup olmadığını kontrol edin.
Diğer hata kodları
400, 404 için tablo: error-codes.md.
Kod örnekleri
cURL
curl -X POST 'https://api.iletimerkezi.com/v1/consent/show/json' \
-H 'Content-Type: application/json' \
-d '{
"request": {
"authentication": {
"key": "'"$ILETIMERKEZI_API_KEY"'",
"hash": "'"$ILETIMERKEZI_API_HASH"'"
},
"consent": {
"brandCode": 1234,
"recipient": "+905XXXXXXXXX",
"recipientType": "BIREYSEL",
"type": "MESAJ"
}
}
}'Common Pitfalls
status: "ONAY""yasal olarak gönderebilirsin" demektir, "her zaman gönder" demek değildir.iys-checksize yalnızca İYS kaydındaki son durumu söyler; uygulamanızın kendi opt-out, kara liste, frekans kontrolü, KVKK aydınlatma gibi katmanları da bağımsız çalışmalıdır.status: "RET"bağlayıcıdır. RET dönen alıcıya ticari mesaj göndermek hemsend-smstarafından (468/469/470 ile) reddedilir hem de İYS tarafından şikayet konusu yapılabilir. RET'i istemci tarafında da cache'leyip blocking guard ekleyin.- Tek alıcılı endpoint — toplu sorguda dikkat. Büyük müşteri listelerinde her kayıt için ayrı HTTP isteği atmak yavaş ve maliyetlidir. Pratik pattern: kayıtları
iys-registerile siz tutuyor olun,iys-check'i sadece audit veya tek kullanıcı kontrolü için çağırın. - Cache ile dikkatli olun. Müşteri panelden veya farklı kanaldan RET verebilir; uzun TTL'li cache yasal risk yaratır. 1 saatten fazla cache tutmayın veya RET callback'i ile invalidate edin.
recipientformat hassasiyeti. Cep için+905XXXXXXXXX,905XXXXXXXXX,5XXXXXXXXXformatları kabul edilebilir; e-posta için tam adres. Yanlış format 422 döner; dönüşte+90prefix gelir.typeilesend-sms'in yolu kesişir.send-smsticari gönderimdeiys: "1"+iysListile İYS'yi kendisi sorgular; ön kontrol yapmak istemiyorsaniys-checkopsiyoneldir. Sadece audit, dashboard veya hata öncesi durum doğrulaması için kullan.
Related
- İYS izin kaydı (iys-register) — kayıt oluşturma
- SMS gönderme (send-sms) —
iys+iysListticari gönderim - Kimlik doğrulama (authentication)
- Hata kodları tablosu
Son güncelleme: 2026-04-30 · English version