BölümlerTuzaklar

Destek

Tuzaklar

Çağrının başarılı döndüğü ama işin bitmediği yerler: bekleyen transkript, basılmamış deste, kopan bağlantı, sessiz 404.

Transkript hazır değil — çağrı bitti diye hazır sanma

  • POST …/nodes kartları saniyeler içinde ya koyar ama metni koymaz: transkript arka planda çıkar ve dakikalar sürebilir. Cevaptaki transcript: "queued" işin kuyruğa girdiğini söyler, bittiğini değil.
  • Hazır olduğunu öğrenmenin tek yolu GET …/summary ile yoklamak: ilk kontrol ~10 saniye sonra, sonra 15 saniyede bir, en çok 10 dakika.
  • Beklemeden sorarsan model boş kaynakla cevap verir ve bunu sana söylemez.

“skipped” kartın eklenmediği anlamına gelmez

  • Bir link için transcript: "skipped" dönebilir — günlük video kotası kabul etmedi ya da iş kuyruğa alınamadı. Kart yine de tahtaya düşer, sadece metni olmaz. transcriptNote sebebi söyler.
  • Kart sayısına bakarak “hepsi tamam” demek bu yüzden yanıltıcı; transcript alanına bak.

`ask` deste basmaz

  • Bir isteği ask üzerinden gider ama pikselleri ask üretmez. deckProposal.act "fire" olduğunda elinde bir PLAN vardır, bir deste değil.
  • Basma çağrısını sen yaparsın: planı POST /api/visual/generate’e gönder, dönen jobId’yi GET /api/jobs/{id} ile bekle.
  • Bu adımı atlayan bir akış “deste üretildi” der ve ortada hiçbir sayfa yoktur.

Gruplama, kartın sohbete giden bağlantısını çerçeveye taşır

  • Bir kartı çerçeveye alırsan o kartın sohbet kartına giden bağlantısı kesilir ve yerine çerçevenin kendisi o sohbete bağlanır — sohbet kartı okumaya çerçeve üzerinden devam eder. Kesilenler severedEdgeIds, çerçevenin bağlandığı sohbetler wiredChatIds içinde döner.
  • Doğru sıra: önce grupla, sonra groupId ile sor.

Bölüm 05

Desteklenmeyen linkler bütün partiyi düşürür

Kabul edilen üç platform var: Instagram (reels/post/tv), TikTok (video, vm./vt. kısa linkleri dahil; foto gönderisi tek carousel kartı olarak gelir — kısa linkin yönlendirmesi önce okunur, foto mu video mu oradan anlaşılır) ve YouTube (watch/shorts). Başka her şey 400 döner.

Doğrulama hep-ya-hiç: 20 linkin biri reddedilirse hiçbiri eklenmez ve tahtaya hiçbir şey yazılmaz.

Otomatik bir akışta bu iyi haber — yarım kalmış tahta olmaz — ama hatayı okuyup düzeltmeden aynı gövdeyi tekrar göndermek aynı hatayı verir.

BiçimKabul
instagram.com/reel/… · /p/… · /tv/…evet
tiktok.com/@kullanici/video/…evet
vm.tiktok.com/… · vt.tiktok.com/…evet
youtube.com/watch?v=… · youtube.com/shorts/…evet
Instagram profil ya da story adresihayır
Blog yazısı, haber, PDF, herhangi bir web adresihayır

Kredi harcayan iki kapı

  • POST …/ask (her tur, token bazlı, tutar küçük) ve POST /api/visual/generate (deste sayfası başına 7–12 , tipik bir deste 30–34).
  • Basım geri alınmaz. Transkript ve video analizi ücretsizdir.
  • Bir hata döngüsünün en pahalı hâli, her denemede yeniden basan bir akıştır — otomatik akışlara tekrar tavanı koy.

ask cevabında creditsNotice.exhausted geldiyse bakiye bitmiş demektir. Çağrı hata dönmez, sadece istediğini yapamaz — bu alanı okumayan bir akış sessizce boş cevaplarla devam eder.

Bölüm 07

404, “yok” değil “senin değil” de olabilir

Senin olmayan bir tahta, hiç olmayan bir tahtayla aynı cevabı verir: 404. İkisi bilerek ayırt edilmiyor — ayırt etmek, başkasının tahtasının var olduğunu doğrulamak olurdu.

Pratikte bu şu demek: 404 aldığında önce tahta kimliğini kontrol et, sonra hangi hesabın anahtarını kullandığını. İki farklı hesapla çalışan bir akışta en sık sebep ikincisidir.

Gördüğünİlk bakılacak yer
401Anahtar eksik, bozuk ya da iptal edilmiş. «API ve Claude» sayfasından kontrol et, tekrar deneme.
403Anahtarın açamayacağı bir kapı. Tasarım gereği — başka anahtar denemek işe yaramaz.
404Tahta kimliği yanlış ya da tahta başka bir hesapta.
400error.message Türkçe söylüyor. Aynı gövdeyi ikinci kez gönderme.
429Retry-After kadar bekle, bir kez daha dene, yine olmazsa dur.

Bölüm 08

Staging ve üretim aynı adres değil

Üretim https://app.nailingai.co. Staging kendi adresinde çalışır ve bir ortamda ürettiğin tahta kimliği diğerinde çalışmayabilir — yanlış tabana atılan doğru bir çağrı 404 gibi görünür.

Taban adresi akışında tek bir değişkende tut ve o değişkeni tek yerden değiştir. Örneklerdeki $BASE tam olarak bunun için var.

  • Bir tahtanın parça tavanı 500. Parti bu tavanı aşacaksa çağrı 400 döner ve hiçbiri eklenmez.
  • Her hafta kart ekleyen zamanlanmış bir akış bunu aylar sonra bulur — şimdiden bir bölme planı yap.

Bölüm 09

Cevap dakikalar sürebilir

ask uzun kaynaklarda dakikalar sürebilir. İstemci zaman aşımını buna göre ayarla.

Zapier gibi adım süresini sınırlayan araçlarda akışı ikiye böl: biri çağrıyı başlatsın, zamanlanmış bir diğeri sonucu toplasın.