Her hata aynı zarfla döner. Kod kararlı sözleşmedir; ileti insanlar içindir ve Accept-Language başlığına uyar.
| Kod | HTTP | Tür | Yeniden denenebilir | İleti |
|---|---|---|---|---|
invalid_json |
400 | invalid_request |
hayır | İstek gövdesi geçerli bir JSON değil. |
invalid_request |
400 | invalid_request |
hayır | İstek geçerli değil. |
idempotency_key_required |
400 | invalid_request |
hayır | Bu istek bir Idempotency-Key başlığı gerektirir. |
idempotency_key_invalid |
400 | invalid_request |
hayır | Idempotency-Key 1-64 karakter olmalı: harf, rakam, nokta, alt çizgi, iki nokta ya da tire. |
missing_api_key |
401 | authentication |
hayır | API anahtarınızı Authorization başlığında Bearer olarak gönderin. |
invalid_api_key |
401 | authentication |
hayır | API anahtarı bilinmiyor, iptal edilmiş ya da süresi dolmuş. |
wrong_environment |
401 | authentication |
hayır | Bu API anahtarı diğer ortamın (canlı ya da test). |
insufficient_scope |
403 | permission |
hayır | API anahtarı bu isteğin gerektirdiği yetkiye sahip değil. |
channel_not_allowed |
403 | permission |
hayır | API anahtarı bu kanalı kullanamaz. |
ip_not_allowed |
403 | permission |
hayır | API anahtarı bu IP adresinden kullanılamaz. |
browser_request_refused |
403 | permission |
hayır | API tarayıcıdan çağrılamaz. Sunucunuzdan çağırın. |
api_disabled |
403 | permission |
hayır | API bu firma, anahtar ya da kanal için kapalı. Hangisi olduğunu details.resource söyler: firmanın paketinde API yoksa team (details.reason not_in_plan; paketi değiştirmek için UPPU ile görüşün), UPPU anahtarı ya da kanalı durdurduysa api_key ya da channel. Firmanın paketinde mesajlaşma paneli yoksa rapor uçları bunu details.resource reports (details.reason not_in_plan) ile verir: raporlar mesajlaşma panelinin parçasıdır. |
tenant_read_only |
403 | permission |
hayır | Firma salt okunur: yalnızca okuma yapılabilir. |
service_stopped |
403 | permission |
hayır | Bu firmanın hizmeti faturalandırma nedeniyle durduruldu ve her istek reddedilir. details.reason nedenini söyler: billing_overdue (ödeme gecikti; UPPU ödemeyi kaydedince hizmet kendiliğinden açılır) ya da subscription_ended (abonelik sona erdi; UPPU yenisini başlatır). Gelen mesajlar kaydedilmeye devam eder. Uyarıdan itibaren anahtarın IP izin listesini geçen çağıranın her yanıtı UPPU-Service-Stop-At başlığını taşır. |
shadow_mode |
403 | policy |
hayır | Kanal gölge kipte: UPPU bu kanaldan henüz göndermiyor. |
not_found |
404 | invalid_request |
hayır | Kaynak bulunamadı. |
method_not_allowed |
405 | invalid_request |
hayır | Bu yöntem bu adreste kullanılamaz. |
idempotency_key_reused |
409 | conflict |
hayır | Idempotency-Key farklı bir istekle zaten kullanıldı. |
channel_paused |
409 | conflict |
hayır | Bu kanalda gönderim duraklatıldı. |
channel_unavailable |
409 | conflict |
hayır | Kanal gönderime hazır değil. |
tenant_not_ready |
409 | conflict |
hayır | Firma henüz canlı trafiğe hazır değil. |
plan_limit_reached |
409 | policy |
hayır | Firma paketinin bir sınırına ulaştı. Hangisi olduğunu details.resource (webhook_endpoint: webhook uç noktalarının sayısı), sınırı details.max söyler; önce birini silin ya da paketi değiştirmek için UPPU ile görüşün. |
media_not_ready |
409 | conflict |
evet | Medya dosyası henüz hazır değil. Biraz sonra yeniden deneyin. |
not_held |
409 | conflict |
hayır | Konuşma devredilemez: çözülmüş. Kişinin sonraki mesajı yeni bir konuşma açar. |
not_handed_over |
409 | conflict |
hayır | Konuşma bırakılamaz: çözülmüş. Kişinin sonraki mesajı yeni bir konuşma açar. |
bot_not_ready |
409 | conflict |
hayır | UPPU Bot bu konuşmayı henüz geri alamaz. Nedenini details.reason söyler: bot_unavailable (UPPU Bot bu kanalda ya da firmada kapalı; konuşma ekipte kalır), bot_busy (UPPU Bot son turunu bitiriyor; birkaç saniye sonra yeniden deneyin) ya da reply_first (kişinin son mesajı henüz yanıtlanmadı; önce yanıtlayın). |
media_expired |
410 | invalid_request |
hayır | Medya dosyasının saklama süresi doldu. |
payload_too_large |
413 | invalid_request |
hayır | İstek gövdesi çok büyük. |
media_too_large |
413 | invalid_request |
hayır | Medya dosyası çok büyük. |
unsupported_media_type |
415 | invalid_request |
hayır | Bu medya türü desteklenmiyor. |
validation_failed |
422 | invalid_request |
hayır | Bazı alanlar geçerli değil. |
window_closed |
422 | policy |
hayır | Bu kanalın yanıt penceresi kapalı. Varsa details.hint neyin hâlâ mümkün olduğunu söyler: send_template (onaylı bir şablon) ya da wait_for_contact (kişi yazınca yanıt; Messenger ve Instagram'da tepki verince de). |
consent_required |
422 | policy |
hayır | Kişi bu şablonun gerektirdiği izni vermedi. |
consent_withdrawn |
422 | policy |
hayır | Kişi bu şablonun gerektirdiği izni geri çekti. |
contact_blocked |
422 | policy |
hayır | Kişi engellendi. |
recipient_unreachable |
422 | policy |
hayır | Kişiye bu kanaldan ulaşılamıyor: botu engelledi ya da Telegram son mesajı reddetti. Kişi yeniden yazınca gönderebilirsiniz. |
template_not_found |
422 | invalid_request |
hayır | Şablon bulunamadı. |
template_not_approved |
422 | invalid_request |
hayır | Şablon onaylı değil. |
template_parameters_invalid |
422 | invalid_request |
hayır | Şablon parametreleri şablona uymuyor. |
template_category_not_allowed |
422 | policy |
hayır | Bu kategorideki şablonlar API ile gönderilemez. |
recipient_invalid |
422 | invalid_request |
hayır | Alıcı geçerli değil. Telefon numarası artı işaretiyle E.164 biçiminde olmalı. |
recipient_not_found |
422 | invalid_request |
hayır | Alıcı bu kanalda bulunamadı. |
reply_target_invalid |
422 | invalid_request |
hayır | Yanıtlanacak mesaj bu kanal ve kişi için bulunamadı. |
content_not_supported_on_channel |
422 | invalid_request |
hayır | Bu içerik türü bu kanalda desteklenmiyor. |
not_inbound |
422 | invalid_request |
hayır | Bu mesaj okundu olarak işaretlenemez: yalnızca kişinin gönderdiği mesaj işaretlenebilir; tepki, WhatsApp bildirimi ve WhatsApp'ın desteklenmeyen olarak ilettiği mesaj işaretlenemez; hangisi olduğunu details.reason söyler. WhatsApp'ta yazıyor göstergesi, konuşmada son 30 günden böyle bir mesaj yoksa bu kodu details.reason no_inbound_message ile alır. |
media_unavailable |
422 | invalid_request |
hayır | Medya dosyası kullanılamıyor. |
handling_not_supported |
422 | invalid_request |
hayır | Devir ve bırakma yalnızca sisteminizin (yönetim kipi api) ya da UPPU Bot'un (yönetim kipi bot) yanıtladığı kanallarda çalışır; details.handling kanalın yönetim kipidir. Devir ayrıca ekibin gelen kutusunu ister: firmanın paketinde mesajlaşma paneli yoksa details.reason not_in_plan olur. |
rate_limited |
429 | rate_limit |
evet | Çok fazla istek. Retry-After başlığındaki süreden sonra yeniden deneyin. |
channel_backlog |
429 | rate_limit |
evet | Bu kanalda bekleyen mesaj çok fazla. Retry-After başlığındaki süreden sonra yeniden deneyin. |
internal_error |
500 | server |
evet | UPPU tarafında bir sorun oluştu. Daha sonra yeniden deneyin. |
service_unavailable |
503 | server |
evet | UPPU bakımda. Daha sonra yeniden deneyin. |
provider_unavailable |
503 | server |
evet | Meta'ya ulaşılamadı ya da Meta değişikliği onaylamadı. Hangisi olduğunu details.reason söyler: unreachable (hiçbir şey değişmedi; daha sonra yeniden deneyin) ya da unconfirmed (Meta zamanında yanıt vermedi ya da geçici bir hata verdi, değişiklik yapılmış olabilir; silmeyi ya da aynı Idempotency-Key ve şablonla oluşturmayı yeniden denemek güvenlidir, yoksa yeniden denemeden önce GET /v1/templates'i okuyun). |
API'nin kabul ettiği bir mesaj sonradan da başarısız olabilir. Mesajın hata nesnesi bu kodlardan birini taşır; çapalar async- ile başlar.
| Kod | Yeniden denenebilir | Anlam |
|---|---|---|
window_closed |
hayır | Yanıt penceresi kapalı olduğu için mesaj gönderilmedi. WhatsApp: kişi yeniden yazana kadar yalnızca onaylı bir şablon gönderilebilir. Messenger ve Instagram: kişi yazınca ya da tepki verince yanıt verin. Telegram'da yanıt penceresi yoktur. |
payment_required |
hayır | WhatsApp Business hesabının geçerli bir ödeme yöntemi yok (Meta hatası 131042). |
marketing_opt_out |
hayır | Kişi işletmelerden pazarlama mesajı kabul etmiyor (Meta hatası 131050); UPPU izin geri çekmesini kaydeder. |
not_registered |
hayır | Gönderen numara WhatsApp Cloud API'de kayıtlı değil (Meta hataları 133010, 131045, 133006). |
recipient_unreachable |
hayır | Mesaj alıcıya ulaşamadı. WhatsApp: örneğin numara WhatsApp kullanmıyor (Meta hatası 131026; anlamı doğrulanmadı). Telegram: kişi botu engelledi ya da Telegram gönderimi reddetti (403); kişi yeniden yazana ya da engeli kaldırana kadar UPPU yeni gönderimleri reddeder. |
provider_rate_limited |
evet | Sağlayıcının (Meta ya da Telegram) gönderim sınırlarına ulaşıldı ve UPPU'nun kendi denemeleri bitti. Daha sonra yeni bir Idempotency-Key ile yeniden deneyin. |
provider_unavailable |
evet | Sağlayıcı (Meta ya da Telegram) geçici olarak erişilemezdi ve UPPU'nun kendi denemeleri bitti. Daha sonra yeni bir Idempotency-Key ile yeniden deneyin. |
credentials_invalid |
hayır | UPPU'nun kanala erişimi artık geçerli değil (Meta: hesabın erişim jetonu; Telegram: bot jetonu iptal edildi ya da bot silindi). Kanal yeniden bağlanana kadar, Telegram'da jeton yenilenene kadar duraklatıldı. |
permission_denied |
hayır | Meta bir izin eksik olduğu için mesajı reddetti. |
account_restricted |
hayır | Meta WhatsApp Business hesabını ya da numarayı kısıtladı. |
invalid_parameter |
hayır | Sağlayıcı (Meta ya da Telegram) mesajın içeriğini geçersiz saydı. |
channel_unavailable |
hayır | Kanal gönderemedi (bağlı değil, erişim yok ya da Meta veya Telegram UPPU'da kapalı). Mesaj sağlayıcıya ulaşmadı. |
channel_paused |
hayır | Kanal duraklatıldı. Mesaj sağlayıcıya ulaşmadı. |
no_recipient |
hayır | Kişinin bu kanalda mesajı alabilecek bir kimliği yok (WhatsApp numarası ya da kullanıcı kimliği, Messenger ya da Instagram kimliği, Telegram kullanıcı kimliği). |
template_unavailable |
hayır | Şablon yok ya da artık onaylı değil. |
media_fetch_failed |
hayır | UPPU medyayı bağlantısından indiremedi. |
media_upload_failed |
hayır | UPPU medyayı sağlayıcıya yükleyemedi ya da yüklenen dosya artık yoktu. |
media_rejected |
hayır | Sağlayıcı (Meta ya da Telegram) medyayı reddetti (tür, boyut ya da ölçüler). |
delivery_unverified |
hayır | UPPU, sağlayıcının (Meta ya da Telegram) mesajı kabul edip etmediğini 10 dakika içinde doğrulayamadı. Mesajı kendiliğinden yeniden göndermeyin. |
ttl_expired |
hayır | Mesajın ömrü (ttl), UPPU onu sağlayıcıya (Meta ya da Telegram) veremeden doldu: mesaj kuyrukta, hız sınırında ya da yeniden denemede bekledi ya da kanal gönderemedi. Mesajın durumu expired, hiçbir şey gönderilmedi. Yalnızca hâlâ işe yarıyorsa yeni bir Idempotency-Key ile yeniden gönderin. |
service_stopped |
hayır | Mesaj kuyrukta beklerken firmanın hizmeti faturalandırma nedeniyle durdu: mesaj gönderilmedi ve yeniden denenmez. Hizmet açıldıktan sonra hâlâ gerekliyse yeni bir Idempotency-Key ile yeniden gönderin. |
provider_error |
hayır | Başka bir sağlayıcı hatası: provider_error.provider ve provider_error.code alanlarına bakın. |