# Sorun giderme

> Yorumlar görünmediğinde, davetler gönderilmediğinde ya da sipariş doğrulanamadığında izlenecek adımlar.

Kaynak: /tr/integrate/troubleshooting/

Yorumların sitede görünüp görünmediğini en hızlı **Entegrasyon › Sitede gösterim** sekmesindeki **Sitede görüldü mü?** raporu söyler: yükleme, geri çevrilen istekler, tanınmayan ürün kodları ve yorum formu tek listede denetlenir ([Sitede görüldü mü?](/tr/features/setup-screens.md#sitede-goruldu-mu)). Ayrıntı için paneldeki **Bağlantı kayıtları** ekranını kontrol edin. Sitenizin ve mağaza sisteminizin Sayproof'a gönderdiği her istek bu ekranda; istek türü, kaynağı, ilgili ürün ve sonucuyla birlikte listelenir. Kayıtlar 30 gün saklanır.

| Sonuç | Anlamı |
|---|---|
| Başarılı | İstek sorunsuz karşılandı; yorum listesinde yorumlar döndürüldü, sipariş aktarımında kayıtlar kabul edildi. |
| Yorum bulunamadı | İstek geçerli, ancak bu ürün için yayında yorum yok. |
| Site doğrulanmamış | İstek doğrulanmamış bir alan adından geldi. |
| Anahtar geçersiz | Site anahtarı yanlış ya da iptal edilmiş veya kanal kapalı; sipariş aktarımında sunucu anahtarı ya da imza kabul edilmedi. |
| İzin yok | Sunucu anahtarının bu işlem için yetkisi yok (örneğin sipariş gönderme izni) ya da yalnızca sunucudan kullanılabilen bir endpoint'e tarayıcıdan istek gönderildi. |
| Çok sık istek | Rate limit aşıldı. |
| Hata | Beklenmeyen bir hata oluştu; kayıt numarasını Sayproof ekibine iletin. |

## Yorumlar görünmüyor

**Konsolda CORS hatası ya da `403 origin_unverified: …` yanıtı**
Sayfanın alan adı doğrulanmamış. Yanıttaki `detail` değeri isteğin geldiği alan adını gösterir (örneğin `origin_unverified: markaniz.com`); alan adı `Origin` header'ından, yoksa `Referer` header'ından okunur. `www.markaniz.com` ve `markaniz.com` ayrı alan adlarıdır; hata mesajındaki alan adını **Kanallar › Alan adları** sekmesinde ekleyip doğrulayın. Sitenize dosya koyamıyorsanız alan adını DNS kaydıyla doğrulayın ([Alan adı doğrulama](/tr/integrate/channels-and-keys.md#alan-adi-dogrulama)). Doğrulama internetten erişilebilen alan adlarında yapılır; geliştirme sırasında internete açık bir test alan adı (örneğin `test.markaniz.com`) kullanın.

**"Yorum bulunamadı"**

- Container'daki `data-review-product` değeri, sipariş aktarımında gönderdiğiniz `variant_key` değeriyle büyük/küçük harf ve tire dahil birebir aynı olmalıdır.
- Grup kodu kullanıyorsanız container'da `data-review-scope="group"` attribute'u bulunmalıdır.
- Yorumlar yayında olmalıdır; onay bekleyen yorumlar gösterilmez.
- Doğru kanalın site anahtarı kullanılmalıdır; her kanal yalnızca kendi pazarındaki yorumları gösterir.

**Script yüklenmiyor**

- `<script>` etiketinde `type="module"` bulunmalıdır.
- Sitenizin Content Security Policy (CSP) kuralları script'in ve Sayproof API'sinin adresine izin vermelidir. Ayrıntılar için: [Script ile kurulum › İçerik güvenliği politikası (CSP)](/tr/integrate/script.md#icerik-guvenligi-politikasi-csp).

**Bileşen yanlış dilde açılıyor**
Script dili sırasıyla container'daki ya da script etiketindeki `data-review-locale` değerinden, sayfanın `<html lang>` değerinden, bunlar yoksa kanalın dilinden alır. Tarayıcının dil ayarı (`Accept-Language`) kullanılmaz. Değer `tr` ya da `en` olmalıdır.

**Sunucudan gönderilen istek `403` ya da `409` yanıtı alıyor**
Ayrıntılar için: [Server-side rendering (SSR) › Zaman aşımı ve hata](/tr/integrate/server-rendering.md#zaman-asimi-ve-hata).

**Yeni onaylanan yorum görünmüyor**
SSR yanıtı 60 saniyeye kadar önbellekte tutulabilir.

## Davetler gönderilmiyor

**Davetler** ekranında davetin durumunu ve **Sonuç** sütununu, **Davet gönderimi** ekranında **Durdurulan davetlerin nedenleri** kartını kontrol edin.

| Neden | Yapılması gereken |
|---|---|
| Davet bağlantısının açılacağı sayfa girilmemiş | **Kanallar** ekranında kanalı düzenleyip sayfa adresini girin ya da ürün kaynağınızda ürün adreslerini eşleyin. |
| Ödeme tamamlanmadı | Siparişin `payment_state` değeri `paid` ya da `partially_refunded` olmalıdır. |
| Siparişte e-posta adresi yok | Siparişi `customer_email` alanıyla birlikte gönderin. |
| Müşterinin günlük davet sınırı doldu | Ertesi gün aynı ürünler için yeni davet oluşturulur. Sınırı **Davet gönderimi** ekranından değiştirebilirsiniz. |
| Müşteri e-posta almak istemiyor | Adres e-posta almak istemeyenler listesinde (müşteri listeden çıkmış, adres kalıcı olarak geri dönmüş ya da şikayet edilmiş); davet gönderilmez. |

Davet "Gönderilemedi" durumundaysa önce nedeni giderin (gönderen alan adının doğrulaması ya da kendi sisteminizin bildirim adresi), sonra **Davetler** ekranındaki **Gönderilemeyenleri yeniden dene** düğmesini kullanın; bağlantısının süresi dolmuş davetler yeniden denenmez ([Davetler](/tr/features/invitations.md#davetler)).

Hiç davet oluşturulmuyorsa:

- Sipariş satırı **teslim edildi** (`delivered`) durumuyla gönderilmiş olmalıdır. Tahmine dayalı (`estimated`) teslimat bilgisi davet oluşturmaz.
- Teslimattan sonraki bekleme süresi (varsayılan 2 gün) dolmuş olmalıdır.
- İade ya da iptal edilen satırlar için ürün daveti değil, alışveriş deneyimi daveti oluşturulur; bu davetler **Davetler** ekranında davet türüne göre süzülebilir.

Gönderim saatleri dışında oluşan davet **Davetler** ekranında "Sırada" görünür ve gönderim saatlerinin başlangıcında gönderilir.

## Davet bağlantısı formu açmıyor

- Bağlantının açıldığı sayfada yorum container'ı bulunmalıdır.
- Bağlantının süresi dolmuş olabilir. Süre, kanalda geçerli pazar kuralındaki yorum yazma süresidir (Sayproof kuralında teslimattan itibaren 90 gün).
- Davetteki tüm ürünler için yorum yazıldıysa bağlantı kapanır.
- Bağlantı, siparişin pazarından farklı bir pazarın kanalına ait sayfada açıldıysa token kabul edilmez (`token_foreign_market`). Kanalın davet sayfasını siparişin pazarındaki siteye göre ayarlayın.

## "Siparişimi doğrulayıp yorum yazmak istiyorum" adımı başarısız oluyor

Güvenlik nedeniyle müşteriye tek ve genel bir hata mesajı gösterilir. Olası nedenler:

- Sipariş numarası, gönderdiğiniz `external_id` değeriyle birebir aynı değil (büyük/küçük harfe duyarlıdır).
- Girilen e-posta adresi siparişteki adresle aynı değil.
- Ödeme tamamlanmamış, ürün teslim edilmemiş ya da yorum yazma süresi dolmuş.
- Bu ürün için bu siparişle daha önce yorum yazılmış.
- Sipariş başka bir pazarın kanalından gelmiş.
- Ürün bu siparişte yok (container'daki ürün kodu ile sipariş satırındaki `variant_key` değeri farklı).

Aynı IP adresinden 5 dakikada 20 denemeden sonra bir süre "Çok fazla deneme yapıldı, biraz sonra tekrar deneyin." mesajı gösterilir.

## Sipariş aktarımı `401` ya da `403` yanıtı alıyor

Ayrıntılar için: [Sipariş ve teslimat aktarımı › Hatalar](/tr/integrate/orders.md#hatalar). Paneldeki **Bağlantıyı dene** işlemi gönderilecek içeriği kaydetmeden sınar; anahtarı denetlemez.

Yanıt `refused / unknown_key` ya da `revoked_key` ise `Authorization` header'ında `Bearer ` önekinden sonra sunucu anahtarının tamamını gönderdiğinizi ve anahtarın **Kanallar › Anahtarlar** sekmesinde **Kullanımda** olduğunu kontrol edin. `403 refused / scope_missing` yanıtı anahtarın sipariş gönderme izni olmadığını gösterir; panelden yeni bir sunucu anahtarı oluşturun.

İmzalı gönderimde yanıt `secret_unknown` ise `X-Sayproof-Secret` header'ında şifrenin adını değil kimliğini gönderdiğinizi kontrol edin. Kimlik **Kanallar › Anahtarlar** sekmesinin **Gelişmiş: imzalı gönderim şifreleri** bölümündeki **İmzalı gönderim şifreleri** tablosunun **Şifre kimliği** sütunundadır.

## Gönderilen yorum görünmüyor

Yayınlama yöntemine bağlı olarak yorumlar önce **Onay bekleyenler** listesine düşer ve onaylandıktan sonra yayınlanır. Ayrıntılar için: [Yorumlar ve onay](/tr/features/reviews.md).
