UPPU API hata kodları

Her hata aynı zarfla döner. Kod kararlı sözleşmedir; ileti insanlar içindir ve Accept-Language başlığına uyar.

UPPU API belgesi

Eşzamanlı hatalar

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).
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).

Eşzamansız hatalar (message.error.code)

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.