API Hataları — Her Kodun Anlamı ve Nasıl Düzeltileceği
FastOG, bir istek başarısız olduğunda — imzalı bir OG görseli oluşturma veya ürün içi yönetim yüzeylerinden birine yapılan çağrı — makine tarafından okunabilir hata kodları döndürür. Her hata yanıtı şunları içerir:
error— eski kısa belirteç. Eski bir istemcinin çalışmaya devam etmesi için her hatada hâlâ mevcuttur.code— aynı kararlı, belgelenmiş hata kodu (aşağıdaki tablo), genel API'nin kullandığı ad altında.message— neyin yanlış gittiğine dair tek cümlelik bir açıklama.hint— neyin yanlış gittiğine ve nasıl düzeltileceğine dair kısa, sade bir açıklama.docs_url— bu sayfaya, o kodun bölümüne sabitlenmiş bir bağlantı.request_id— bu HTTP hatasını dashboard'daki Render Logs tablosundaki bir satırla ilişkilendirir (X-Request-IDyanıt başlığında da döndürülür). İlişkilendirilecek bir şeyi olmayan bir yüzeynullyanıtlar, ancak anahtar her zaman mevcuttur.
Ürün içi yüzeyler — Shopify yönetim paneli, WooCommerce Studio, Wix köprüsü ve demo — aşağıdaki kodlar için
aynı zarfı yanıtlar, böylece bir hata nerede karşılaşırsanız karşılaşın aynı anlama gelir. Bir
modül yüzeyi, bir kod için her zaman döndürdüğü HTTP durumunu koruyabilir (örneğin render_failed
kapak dışa aktarımında 503, genel API'de 502 yanıtlar); kod, mesaj, ipucu ve belge bağlantısı değişmez.
Hata yanıtını okuma
{
"error": "invalid_signature",
"code": "invalid_signature",
"message": "The signature does not match.",
"hint": "The signature did not match. Re-sign with your HMAC secret after every param change.",
"request_id": "5f2a9c1e-..."
}
Anlamadığınız bir yanıt alırsanız, en hızlı yol şudur:
codedeğerini not edin.- URL oluşturucunuzu kontrol edin — hataların çoğu hesap sorunları değil, imzalama hatalarıdır.
- Tam nedeni ve çözümü için aşağıdaki kodla eşleştirin.
- Dashboard'da Render Logs bölümünü açın ve aynı
error_codeile filtreleyin — her satır istenen parametreleri gösterir, böylece yeniden üretebilir (verequest_iddeğerinin eşleştiğini doğrulayabilirsiniz).
İmzalama ve kimlik doğrulama
missing_signature
İsteğinizde key ve/veya s (imza) sorgu parametreleri eksik.
Düzeltme: URL'nizin hem key=<api-key> hem de s=<hmac-signature> içerdiğinden emin olun. Oluşturmak için SDK'yı veya /docs/hmac-signature-guide adım adım kılavuzunu kullanın.
invalid_signature
s değeri, HMAC gizli anahtarınızın bu URL için ürettiği değerle eşleşmedi.
Düzeltme: imza, s hariç tüm sorgu parametrelerini kapsar ve anahtarlar sıralanır. Herhangi bir parametreyi değiştirmek — sıralamayı değiştirmek, URL kodlama farklılıkları veya boşluk eklemek dahil — imzayı geçersiz kılar. Her değişiklikten sonra yeniden imzalayın. Gizli anahtarınızın, API anahtarı oluşturulduğunda gösterilenle aynı olduğunu doğrulayın.
invalid_signature_format
s değeri 64 karakterlik bir hex dizesi değil.
Düzeltme: imza ham SHA-256 hex (küçük harf a-f0-9) olmalıdır. Çıktıyı base64 ile kodluyorsanız veya kısaltıyorsanız, düz hex kullanın.
expired_timestamp
Sağladığınız t zaman damgası 5 dakikadan daha eski.
Düzeltme: her URL oluşturduğunuzda zaman damgasını yeniden üretin. Bu kod eski imzalı URL akışı için geçerlidir; güncel HMAC v2 akışında zaman damgası yoktur.
invalid_api_key
Geçirdiğiniz key mevcut değil.
Düzeltme: tam API anahtarını dashboard'dan kopyalayın — bu, sk_ ile başlayan genel tanımlayıcıdır. Geneldir ve URL'lerde güvenlidir; sahipliği kanıtlayan şey gizli anahtardır (asla URL'lerde yer almaz).
missing_hmac_secret
API anahtarı için yapılandırılmış bir HMAC gizli anahtarı yok.
Düzeltme: dashboard'da yeni bir API anahtarı oluşturun — HMAC gizli anahtarı oluşturma sırasında üretilir ve bir kez gösterilir.
Parametre / girdi
invalid_image_url
URL taşıyan bir prop (image, brand_logo, logo, avatar, background_image, ...) herkese açık bir http(s) URL'si değil.
Düzeltme: herkese açık şekilde getirilebilen bir https://... URL'si geçirin. Sunucu tarafı istek sahteciliğini (SSRF) önlemek için localhost, özel IP'ler ve çıplak yollar reddedilir.
Abonelik
subscription_required (402)
İstek Dynamic API'ye ulaştı ancak hesabınızın etkin bir planı yok. API erişimi yalnızca abonelikle mümkündür: plan bir ön koşuldur ve FastOG uygulamalarının sunduğu kapsam + yetenek basamaklarının aynısını içerir. Render işlemlerinin kendisi ölçülmez — aylık render kotası ve aşım faturalandırması yoktur.
Çözüm: dashboard üzerinden bir Dynamic API planı seçin ve bir API anahtarı oluşturun. Yanıt, planlar sayfasına işaret eden bir top_up_url içerir.
Render hizmeti
store_blocked (403)
Bu anahtarın arkasındaki mağaza için render işlemi FastOG tarafından duraklatıldı (örneğin kötüye kullanım veya kontrolsüz kullanım). Edge'de önceden önbelleğe alınmış kapaklar, süreleri dolana kadar sunulmaya devam edebilir. Çözmek için destek ekibiyle iletişime geçin; istekte değiştirebileceğiniz hiçbir şey bunu düzeltmez.
render_unreachable
Render hizmetine ulaşılamadı (kısa yeniden başlatma aralığı).
Çözüm: birkaç saniye içinde yeniden deneyin. Bu deneme için render sayılmadı.
render_failed
Render hizmeti isteğiniz için bir hata döndürdü.
Çözüm: şablon prop'larınızı doğrulayın — uzun/hatalı biçimli değerler, desteklenmeyen alanlar veya erişilemeyen bir upstream görseli. Yanıt, altında yatan status bilgisini içerir. Render sayılmadı.
Mağaza yönetici yüzeyleri
Bu kodlar, Shopify yöneticisinden ve WooCommerce Studio'dan yanıt verir — imzalı API yerine satıcının
içinde çalıştığı gömülü düzenleyicilerden. Birkaçı genel API ile paylaşılır (invalid_image_url,
render_failed, invalid_signature); bunlar yukarıda belgelenen girişi korur.
| Kod | HTTP | Ne anlama geliyor ve ne yapmalısınız |
|---|---|---|
invalid_shop |
422 | Shopify mağazası tanımlanamadı. Gömülü isteğin mağazayı yeniden taşıması için FastOG uygulamasını Shopify yöneticinizden yeniden yükleyin, ardından tekrar deneyin. |
invalid_shop_or_page |
422 | Mağaza veya sayfa türü bilinmiyor. FastOG uygulamasını Shopify yöneticinizden açın ve düzenleyiciden bir kapak sayfası türü seçin. |
invalid_store |
422 | WooCommerce mağazası tanımlanamadı. Mağaza belirtecinin yeniden sunulması için Studio'yu WordPress yöneticinizden yeniden açın, ardından tekrar deneyin. |
invalid_store_or_page |
422 | Mağaza veya sayfa türü bilinmiyor. Studio'yu WordPress yöneticinizden yeniden açın ve düzenleyicinin sunduğu bir kapak sayfası türü seçin. |
missing_api_key |
422 | Mağazanın imzalama anahtarı yok. FastOG'un mağazaya imzalama anahtarını verebilmesi için eklenti kurulumunu WordPress yöneticinizden tamamlayın. |
store_ownership_unverified |
403 | WordPress sitesi doğrulanamadı. Siteye genel HTTPS üzerinden erişilebilmeli ve REST API etkin olmalıdır. |
community_is_free |
422 | Community planı ücretsizdir. Varsayılan ücretsiz plandır ve satın alınamaz; yükseltmek için ücretli bir kademe seçin. |
not_installed |
404 | FastOG bu mağaza için kurulu değil. Bu mağaza için FastOG uygulamasını Shopify App Store'dan kurun, ardından yeniden açın. |
oauth_required |
409 | Mağazanın FastOG'u yeniden yetkilendirmesi gerekiyor. FastOG OAuth kurulumunu Shopify yöneticinizden yeniden çalıştırın; saklanan yetki iptal edilmiş veya kapsamları değişmiş. |
reconnect_required |
409 | Shopify bağlantısının yeniden kurulması gerekiyor. Yeni bir erişim belirteci verilmesi için FastOG uygulamasındaki Yeniden Bağlan düğmesini kullanın. |
token_rejected |
409 | Shopify bir erişim belirteci verdi ve ardından reddetti. Yeniden bağlanmayı bir kez deneyin; Shopify reddetmeye devam ederse uygulamayı yeniden kurun. |
unauthorized |
401 | İstek bu yüzey için geçerli bir oturum taşımıyor. Yeni bir oturum belirtecinin eklenmesi için FastOG uygulamasını platform yöneticinizden yeniden yükleyin, ardından tekrar deneyin. |
shop_not_found |
404 | Mağaza artık FastOG'da mevcut değil. Mağaza kaydını yeniden oluşturmak için FastOG'u Shopify yöneticinizden yeniden kurun. |
invalid_product |
422 | Ürün referansı geçerli değil. Ürün sayfasını yeniden yükleyip FastOG'u yeniden açın; gönderilen ürün kimliği eksikti veya sayısal değildi. |
invalid_product_cover |
422 | Ürün kapağı yükü hatalı biçimde. Düzenleyiciyi yeniden yükleyip tekrar kaydedin; props, style ve signals'in her biri bir nesne olmalıdır. |
product_not_found |
404 | Ürün mağazadan okunamadı. Ürünün hâlâ mevcut ve yayında olduğunu kontrol edin, ardından düzenleyiciyi yeniden yükleyin. |
product_customization_not_on_plan |
403 | Ürün başına kapak özelleştirmesi bu planda yok. Yükseltin veya bunun yerine paylaşılan ürün kapağını düzenleyin. |
no_product_handles |
422 | Yenilenecek ürün bulunamadı. Genel bir handle ile en az bir ürün yayınlayın, ardından paylaşım önizlemesi yenilemesini tekrar deneyin. |
invalid_style |
422 | Stil bloğu kullanılamıyor. Düzenleyiciyi yeniden yükleyip renkleri ve yazı tiplerini yeniden seçin; bir değer normalleştirilemedi. |
invalid_template |
422 | İstenen şablon bu platform kataloğunda yok. Düzenleyicinin sunduğu düzenlerden birini seçin. |
invalid_preset |
422 | Ön ayar adı bu platformun sunduğu bir ad değil. Kurulum ekranından bir ön ayar seçin. |
invalid_set |
422 | Kapak seti yükü eksik veya hatalı biçimde. Kurulum ekranını yeniden yükleyip tekrar bir set seçin. |
preset_not_applyable |
422 | Ön ayar her sayfa türüne uygulanamıyor. Başka bir ön ayar seçin; bu ön ayarda en az bir sayfa türü için kapak eksik. |
template_not_available |
422 | Şablon işlenebilir katalogda yok. Seçicinin sunduğu bir düzen seçin. |
template_not_available_on_shopify |
422 | Şablon Shopify mağazalarında kullanılamıyor. Shopify düzenleyicisinin sunduğu bir düzen seçin. |
template_not_available_on_woocommerce |
422 | Şablon WooCommerce mağazalarında kullanılamıyor. Studio'nun sunduğu bir düzen seçin. |
template_unavailable |
422 | Şablon bu mağaza için kullanılamıyor. Düzenleyicinin sunduğu bir düzen seçin; şablon kullanımdan kaldırılmış, bilinmiyor veya mağazanın çizebileceğinin üzerinde. |
template_not_on_plan |
403 | Şablon daha yüksek bir plan gerektiriyor. Planı değiştirin veya mevcut planın kapsadığı bir düzen seçin. Yanıt, planı requires içinde belirtir. |
template_requires_higher_plan |
403 | Şablon daha yüksek bir plan gerektiriyor. Yanıt, planı requires içinde belirtir. |
no_rule |
404 | Bu sayfa türü için henüz kapak kuralı yok. Önce düzenleyicide bu sayfa türü için bir kapak kaydedin. |
cover_not_configured |
404 | Henüz ürün kapağı kaydedilmedi. İndirmeden veya paylaşmadan önce bir ürün kapağı kaydedin. |
schedule_only_product |
422 | Kampanya zamanlaması yalnızca ürün kapakları için vardır. Geri alma tarihini kaldırın veya kampanyayı ürün kapağına taşıyın. |
not_dismissible |
422 | Bu duyuru kapatılamaz. Sayfayı yeniden yükleyin; duyuru zaten kullanımdan kaldırılmış veya başka bir mağazaya ait. |
unsupported_locale |
422 | Bu arayüz dili bu uygulama için paketlenmemiş. Yanıtın supported içinde listelediği dillerden birini seçin. |
no_setup_sets |
422 | Derlenmiş kapak seti oluşturulamadı. Kurulum ekranını tekrar deneyin; boş kalmaya devam ederse destek ekibiyle iletişime geçin. |
export_unavailable |
403 | İndirmeler bu planda yok. Kapak dosyalarını indirmek için Pro veya üstüne yükseltin. |
cancellation_failed |
502 | Abonelik iptali reddedildi. Birazdan tekrar deneyin; başarısız olmaya devam ederse Shopify faturalandırma sayfasından iptal edin veya destek ekibiyle iletişime geçin. |
logo_override_on_plan |
403 | Logo geçersiz kılma bu planda yok. Yükseltin veya logo geçersiz kılmayı temizleyin. |
invalid_logo |
422 | Logo dosyası kabul edilen bir görsel değil. Düzenleyicide gösterilen boyut sınırının altında bir PNG, JPEG veya WebP yükleyin. |
invalid_brand_image |
422 | Marka referans görseli kullanılamıyor. Boyut sınırının altında desteklenen bir görsel yükleyin veya referansı temizleyip tekrar kaydedin. |
brand_image_too_large |
422 | Marka referans görseli çok büyük. Dosyayı küçültüp tekrar yükleyin. |
brand_colors_too_many |
422 | Üçten fazla marka rengi gönderildi. En fazla üç hex rengi gönderin. |
upload_failed |
500 | Yüklenen dosya saklanamadı. Tekrar deneyin; başarısız olmaya devam ederse destek ekibiyle iletişime geçin — varlık deposu genel bir URL döndürmedi. |
attachment_upload_failed |
500 | Destek eki dosyası saklanamadı. Mesajı ek olmadan gönderin, ardından dosyayı destek ekibine e-postayla iletin. |
invalid_webhook |
401 | Mağaza webhook imzası doğrulanamadı. WordPress FastOG ayarlarınızdaki webhook gizli anahtarının FastOG'un verdiğiyle eşleştiğini kontrol edin. |
not_found |
404 | Bu uç nokta artık mevcut değil. Studio'yu WordPress yöneticinizden yeniden açın. |
meta_refresh_unavailable |
503 | Paylaşım önizlemesi yenilemesi yapılandırılmamış. Bunun yerine bağlantıyı Facebook üzerinden yeniden paylaşın. |
theme_write_disabled |
409 | Tema düzenleme bu uygulama için etkin değil. Tema dosyası düzeltmesi yerine tema uygulama gömülüsünü kullanın. |
scope_required |
403 | FastOG'da bir Shopify izni eksik. Yanıttaki consent_url kullanarak istenen kapsamları onaylayın, ardından düzeltmeyi tekrar deneyin. |
Wix köprüsü
Wix köprüsü, satıcı oturumuyla değil Wix uygulamasıyla imzalandığından, hataları uygulama geliştiricisine yöneliktir. Her yanıt yine de code ve request_id taşır; köprü istek kimliği, imzalı zarftaki kimliktir.
| Kod | HTTP | Ne anlama geliyor ve ne yapmalısınız |
|---|---|---|
invalid_bridge_signature |
401 | Wix köprü imzası doğrulanamadı. İsteği paylaşılan gizli anahtarla, tam yol ile ve beş dakikadan yeni bir zaman damgasıyla yeniden oluşturun. |
invalid_bridge_body |
400 | Köprü zarfının gövdesi hatalı biçimlendirilmiş. body değerini bir JSON nesnesi olarak gönderin ve kanonik imzanın eşleşmesi için içindeki her sayıyı dize olarak kodlayın. |
replayed_bridge_request |
401 | Bu köprü isteği zaten kullanılmış. Her değiştirici çağrı için yeni bir request_id oluşturun. |
wix_site_not_installed |
403 | FastOG bu Wix sitesinde yüklü değil. FastOG uygulamasını siteye yükleyin, ardından siteyi yeniden açın. |
wix_site_not_provisioned |
422 | Wix sitesinin henüz imzalama kimlik bilgileri yok. Sitenin bir API anahtarıyla hazırlanması için FastOG uygulamasını yeniden yükleyin. |
invalid_page_type |
422 | Sayfa türü, FastOG'un Wix üzerinde kapsadığı türlerden biri değil. Studio'nun sunduğu sayfa türlerinden birini gönderin. |
rule_not_found |
404 | Bu kimliğe sahip bir kural yok. Listeyi yenileyin; kural silinmiş veya başka bir siteye ait olabilir. |
invalid_target_id |
422 | Wix hedef kimliği bu sayfa türü için geçerli değil. Wix uygulamasının o sayfa türü için sağladığı kimliği gönderin. |
invalid_preview |
422 | Önizleme yükü hatalı biçimlendirilmiş. Hatalı alan için details nesnesini okuyun. |
invalid_rule |
422 | Kapak kuralı yükü hatalı biçimlendirilmiş. details nesnesini okuyun; template zorunludur ve isteğe bağlı bloklar nesne olmalıdır. |
invalid_sync |
422 | Eşitleme yükü hatalı biçimlendirilmiş. details nesnesini okuyun; target_type ve target_id birbiriyle uyuşmalıdır. |
invalid_regenerate_url |
422 | Yeniden oluşturulacak URL eksik. Sayfa URL'sini url içinde gönderin. |
invalid_regenerate_host |
422 | URL, FastOG ana bilgisayarına ait değil. Bir fastog.com kapak URL'si gönderin. |
ai_presets_unsupported |
422 | AI ile tasarlanmış kapak setleri artık oluşturulmuyor. Bunun yerine özenle seçilmiş görünümlerden birini seçin. |
original_tags_required |
422 | Orijinal meta veri etiketleri gereklidir. Bir kaldırma işleminin site meta verilerini geri yükleyebilmesi için original_tags (veya current_tags) gönderin. |
invalid_restored |
422 | Geri yüklenen anahtarlar yükü hatalı biçimlendirilmiş. restored değerini meta veri anahtarlarından oluşan bir dizi olarak gönderin. |
invalid_seo_target |
422 | SEO hedef türü bilinmiyor. Yolda site, pattern veya item kullanın. |
invalid_seo_payload |
422 | SEO meta veri yükü hatalı biçimlendirilmiş. target_id, current_tags ve fastog_url değerlerini mutlak bir http(s) URL'si olarak gönderin. |
sync_failed |
500 | Wix'e meta veri eşitlemesi başarısız oldu. Yeniden deneyin; başarısız olmaya devam ederse sitenin erişilebilir olduğunu ve uygulamanın hâlâ yüklü olduğunu kontrol edin. |
invalid_tier |
422 | Bu plan, FastOG'un Wix üzerinde sattığı planlardan biri değil. Katman olarak starter, pro veya scale gönderin. |
Demo yüzeyi
Demo, satıcı uç noktası değil, yalnızca sahibine açık satış konsoludur.
| Kod | HTTP | Ne anlama gelir ve ne yapmalı |
|---|---|---|
url_required |
422 | Hiçbir URL gönderilmedi. Kartı okumadan önce mağaza veya ürün bağlantısını yapıştırın. |
unreadable_url |
422 | Bu sayfa okunamadı. Bağlantının herkese açık ve eksiksiz olduğunu kontrol edin; oturum açma gerektiren bir sayfa okunamaz. |
no_api_key |
422 | Kapakları imzalamak için kullanılabilir bir API anahtarı yok. Bir API anahtarı oluşturun (veya geçerli bir anahtar girin); yanıt, API anahtarları sayfasına bağlantı verir. |
no_presets |
500 | Hiçbir kapak ön ayarı yapılandırılmamış. Sunucuda en az bir ön ayar yapılandırın. |
Kapsamlı kural düzenleyici kodları
Kapsamlı kural düzenleyicileri (Shopify yönetim paneli ve WooCommerce Studio) bu belirteçleri satıcının kendi diline kendileri çevirir; bu nedenle yanıtları error ve code içerir ancak hint içermez — ikinci bir İngilizce açıklama, satıcının gerçekte gördüğü yerelleştirilmiş açıklamadan yalnızca sapma gösterir:
scope_already_defined, scoped_rule_limit_reached, scoped_rules_not_on_plan,
scope_value_required, scope_value_too_long, unknown_scope_type, base_rule_required,
scoped_rules_product_only, cannot_delete_base_rule.
Hâlâ takıldınız mı?
- Dashboard'daki Render Logs sayfasını açın — her sonuç (başarı + reddetme) kendi
error_codedeğeri, HTTP durum kodu ve istenen parametrelerle birlikte listelenir. - İmzalı bir URL üzerinde
php artisan og:diagnoseçalıştırarak tüm işlem hattını adım adım izleyin ve hangi aşamanın başarısız olduğunu görün. - Kullandığınız framework için kenar çubuğundaki belgelere göz atın (Next.js, Express, SvelteKit, ...).