Documentation Index
Fetch the complete documentation index at: https://docs.iletiniz.com/llms.txt
Use this file to discover all available pages before exploring further.
Yanıt Formatı
İletiniz API’si standart bir hata zarfı kullanır:message bir dizi olabilir:
Sağlayıcı Tarafı Kalıcı Hatalar
Sağlayıcı/operatör tarafından dönen kalıcı hatalar (geçersiz numara, kara liste, İYS engeli)201 Created + status: "failed" + error ile gelir. HTTP başarılı sayılır çünkü istek doğru karşılandı, sadece teslim mümkün değil:
HTTP Durum Kodları
| Kod | Anlamı | Tipik Sebep |
|---|---|---|
200 OK | Başarılı GET veya toplu gönderim. | — |
201 Created | Mesaj kaydı oluşturuldu (status: sent, queued veya failed). | — |
400 Bad Request | Şema doğrulaması başarısız. | Eksik/yanlış tip alan, hem body hem template, vb. |
401 Unauthorized | API key yok, geçersiz, veya revoke. | Authorization başlığı sorunu. |
403 Forbidden | IP allowlist’ten geçemedi. | İstemci IP’si izinli listede değil. |
404 Not Found | Kaynak yok. | job_id bilinmiyor, provider bağlantısı yok, template_not_found. |
422 Unprocessable Entity | İstek şema açısından geçerli, anlamca değil. | TR olmayan numara, Telegram chat_id erişilemez, onaysız sender. |
429 Too Many Requests | Rate limit aşıldı. | Retry-After başlığı süreyi söyler. |
500 Internal Server Error | Beklenmeyen sunucu hatası. | Destek’e iletin; X-Request-Id başlığını paylaşın. |
502 Bad Gateway | Sağlayıcıya upstream isteği başarısız. | Sağlayıcı 5xx, timeout. |
503 Service Unavailable | İletiniz bakımda. | Retry-After başlığı. |
İletiniz Hata Kodları
error.code veya error (string) alanı sabit, kararlı bir slug taşır. Bunları kodda string olarak kontrol edebilirsiniz.
| Kod | Anlamı |
|---|---|
unauthorized | API key yok / yanlış / revoke. |
ip_not_allowed | İstemci IP’si allowlist’te değil. |
invalid_recipient | to alanı kanal için geçersiz. |
invalid_sender | sender onaylı listede değil veya boş. |
missing_sender | SMS için sender zorunlu, gönderilmedi. |
missing_credentials | Sağlayıcı bağlantısının kredensiyelleri eksik (dashboard’da düzenleyin). |
template_not_found | Belirtilen template workspace’te yok. |
missing_template_variables | Şablon değişkenleri eksik (missing listesi yanıtta). |
provider_not_found | Belirtilen provider workspace’e bağlı değil. |
provider_disabled | Bağlantı aktif değil. |
provider_upstream_error | Sağlayıcı 5xx döndü veya timeout oldu. |
recipient_opted_out | Alıcı opt-out listesinde. |
delivery_timeout | DLR TTL içinde gelmedi (expired). |
rate_limit_exceeded | Rate limit aşıldı. |
network_error | Sağlayıcıya ulaşım sırasında ağ hatası. |
invalid_response | Sağlayıcıdan beklenmedik yanıt formatı. |
Sağlayıcı-Spesifik Hatalar
Sağlayıcı tarafından dönen ham hata kodları<provider>_<kod> formatında normalize edilip error.code alanına yazılır. Bu sayede sağlayıcıya özgü hataları kodda fark edebilirsiniz.
| Örnek | Anlamı |
|---|---|
netgsm_20 | NetGSM: mesaj formatı hatalı (uzunluk/karakter) |
netgsm_40 | NetGSM: msgheader sistemde tanımlı değil |
netgsm_50 | NetGSM: abonelik problemi |
iletimerkezi_402 | İleti Merkezi: bakiye yetersiz |
iletimerkezi_450 | İleti Merkezi: gönderici başlığı onaylı değil |
iletimerkezi_452 | İleti Merkezi: alıcı engelli |
verimor_INVALID_SOURCE_ADDRESS | Verimor: gönderici başlığı onaylı değil |
verimor_INSUFFICIENT_CREDITS | Verimor: bakiye yetersiz |
verimor_NOT_ALLOWED_BY_IYS | Verimor: İYS izni yok |
whatsapp_131047 | WhatsApp: 24 saat penceresi dışı serbest metin — şablon kullanın |
whatsapp_132012 | WhatsApp: şablon onaysız/silinmiş |
Hata Yönetimi Önerileri
4xx hatalarını yeniden denemeyin
4xx hatalarını yeniden denemeyin
400/401/403/404/422 istek tekrarda da aynı sonucu verir. Logla, alarm üret, ama yeniden deneme. Yalnızca 429 ve 5xx retry-edilebilir.429 için Retry-After'ı dinleyin
429 için Retry-After'ı dinleyin
Retry-After başlığını okuyun; yoksa exponential backoff (1s, 2s, 4s, 8s, 16s) uygulayın. Aynı saniyede tüm istemcilerin retry’ı thundering herd yapabilir — jitter ekleyin.X-Request-Id'i loglayın
X-Request-Id'i loglayın
Her yanıtta dönen bu kimlik, destek talebinde sorununuzu tek bir trace’e bağlamamızı sağlar.
Sağlayıcı hata kodlarını ayrı bir tabloda tutun
Sağlayıcı hata kodlarını ayrı bir tabloda tutun
error.code alanını numara kara listesi, otomatik geri ödeme, kullanıcı bildirimi gibi iş kurallarına yönlendirin. provider_upstream_error retry, invalid_recipient numara kara listesi gibi.
