Make (eski adıyla Integromat) otomasyonunuz bir reCAPTCHA v2 duvarına takıldığında akışı durdurmak zorunda değilsiniz: HTTP modülüyle CAPTCHA'yı CaptchaAI API'sine gönderir, sonucu sorgular ve dönen token'ı bir sonraki adımda kullanırsınız — tek satır kod yazmadan.
Bu rehberde tam da bunu yapan bir Make senaryosu kuracaksınız. İzleyeceğiniz yol kısaca şudur:
- Webhook ile gelen
sitekeyvepageurldeğerlerini CaptchaAI'ye iletmek - Çözüm hazır olana kadar
res.php'yi sorgulamak - Dönen token'ı forma ya da bir sonraki modüle aktarmak
Kod yazmadığınız için her modülün çıktısını Make panelinde tek tek görür, akışı görsel olarak izlersiniz.
Başlamadan önce
Senaryoyu kurmadan önce şunların hazır olması gerekir:
- Aktif bir Make hesabı — ücretsiz plan başlangıç için yeterlidir
- CaptchaAI API anahtarınız ve hesabınızda bir miktar bakiye
- Test edeceğiniz formun
sitekeyvepageurldeğerleri
reCAPTCHA v2 akışı Make'te nasıl çalışır
Diyelim ki bir e-ticaret müşterisi için kayıt veya iletişim formunu düzenli olarak test eden bir QA akışı yürütüyorsunuz. Form, gönderim sırasında reCAPTCHA v2 doğrulaması istiyor. Make senaryonuz şu sırayla ilerler:
- URL ve reCAPTCHA
sitekeydeğerini taşıyan bir webhook tetikleyicisi alır - CAPTCHA'yı çözülmek üzere CaptchaAI'ye gönderir
- Çözüm hazır olana kadar sonucu sorgular
- Çözülen token'ı webhook yanıtıyla ya da bir sonraki modüle aktarır
Aynı kalıp; form otomasyonu, veri girişi akışları ve otomatik yolun bir CAPTCHA ile kesildiği her senaryoda çalışır. Make'in görsel yapısı, Bionluk veya Upwork üzerinden müşteri otomasyonu teslim eden geliştiriciler için özellikle pratiktir: senaryoyu paylaşır, nerede takıldığını panelden anında görürsünüz.
Otomasyonu yalnızca yetkili olduğunuz formlarda çalıştırın. Kişisel veri işliyorsanız KVKK yükümlülüklerinizi de gözden geçirin.
Adım 1: Senaryoyu ve modülleri kurun
Make'te yeni bir senaryo oluşturun ve şu beş modülü sırayla ekleyin:
- Webhook tetikleyicisi
- HTTP isteği (görevi gönderme)
- Sleep (bekleme)
- HTTP isteği (sonucu sorgulama)
- Router (sonucu kontrol)
Modül 1: Webhook tetikleyicisi (Custom webhook)
CAPTCHA çözüm isteklerini karşılayan özel bir webhook oluşturun.
Webhook veri yapısı
{
"sitekey": "6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-",
"pageurl": "https://example.com/form",
"captcha_type": "recaptcha_v2"
}
Webhook'u Make'te şöyle ayarlarsınız:
- Webhooks > Custom webhook modülünü ekleyin
- Yeni bir webhook oluşturmak için Add'e tıklayın
- Webhook URL'sini kopyalayın
- Veri yapısını
sitekey,pageurlvecaptcha_typealanlarıyla tanımlayın
Modül 2: HTTP isteği — görevi CaptchaAI'ye gönderin
Bir HTTP > Make a request modülü ekleyin ve şu ayarları girin:
- URL:
https://ocr.captchaai.com/in.php - Yöntem: GET
- Sorgu dizesi: aşağıdaki parametreler
Sorgu dizesi parametreleri
key— CaptchaAI API anahtarınızmethod—userrecaptchagooglekey—{{1.sitekey}}(webhook'tan eşlenir)pageurl—{{1.pageurl}}(webhook'tan eşlenir)json—1
Son olarak Yanıtı ayrıştır seçeneğini JSON olarak ayarlamayı unutmayın.
Modül çalıştıktan sonra yanıt görev kimliğini döndürür:
{
"status": 1,
"request": "TASK_ID_12345"
}
Modül 3: Sleep modülü
Tools > Sleep modülünü 15 saniyeye ayarlayın. Bu bekleme, sorgulamaya başlamadan önce CaptchaAI'ye CAPTCHA'yı çözmesi için zaman tanır ve boşa giden sorgu isteklerini azaltır.
Modül 4: HTTP isteği — sonucu sorgulayın
İkinci bir HTTP > Make a request modülü ekleyin ve şu ayarları girin:
- URL:
https://ocr.captchaai.com/res.php - Yöntem: GET
- Sorgu dizesi: aşağıdaki parametreler
Sorgu dizesi parametreleri
key— CaptchaAI API anahtarınızaction—getid—{{2.data.request}}(Modül 2'deki görev kimliği)json—1
Modül 5: Router — sonucu kontrol edin
Sorgulama modülünden sonra iki rotalı bir Router ekleyin:
Rota 1: CAPTCHA çözüldü (status = 1)
- Filtre koşulu:
{{4.data.status}}değeri1'e eşit - Bir sonraki eyleme geçin (webhook yanıtı, veritabanı kaydı vb.)
Rota 2: Henüz hazır değil (request = CAPCHA_NOT_READY)
- Filtre koşulu:
{{4.data.request}}değeriCAPCHA_NOT_READY'e eşit - Sorgulama döngüsünü kurmak için Modül 3'e (Sleep) geri bağlayın
Adım 2: Sorgulama döngüsünü kurun
Make'te döngüleri Repeater modülüyle ya da modülleri önceki aşamalara geri bağlayarak kurarsınız:
- Repeater modülünü 10 yinelemeye ayarlayın (en fazla sorgulama denemesi)
- Repeater'ın içine Sleep → Sorgula → Router sırasını yerleştirin
status = 1olduğunda Router döngüden çıkar
Alternatif olarak Flow Control > Repeater modülünü şöyle ayarlayın:
- Yineleme: 10
- Başlangıç değeri:
{{2.data.request}}(görev kimliği)
Her yineleme 5 saniye bekler, CaptchaAI'yi sorgular ve sonucun hazır olup olmadığını kontrol eder. On yineleme çoğu reCAPTCHA v2 çözümü için yeterli bir tavan bırakır; hacminiz yüksekse bu değeri ortamınıza göre ayarlayın.
Make'in ücretsiz planında senaryo yürütme süresi 5 dakikayla sınırlıdır; uzun sorgulama döngülerinde bu tavanı göz önünde bulundurun.
Adım 3: Çözülen token'ı kullanın
CAPTCHA çözüldükten sonra token {{4.data.request}} içinde yer alır. Onu sonraki modüllerde şöyle kullanırsınız:
Seçenek A: Webhook yanıtıyla geri döndürün
Bir Webhooks > Webhook response modülü ekleyin:
{
"token": "{{4.data.request}}",
"status": "solved"
}
Seçenek B: Bir forma gönderin
Token'ı hedef sitenin form uç noktasına gönderen bir HTTP > Make a request modülü ekleyin:
- URL: hedef formun action URL'si
- Yöntem: POST
- Gövde:
g-recaptcha-response: {{4.data.request}}içeren form verisi
Seçenek C: Bir veritabanında saklayın
Çözümü kayıt altına almak için bir Google Sheets, Airtable veya Database modülü ekleyin; bu, çözüm başarısını izlemenizi kolaylaştırır.
Sorun giderme
| Sorun | Sebep | Düzeltme |
|---|---|---|
| Webhook tetiklenmiyor | URL kayıtlı değil | Webhook URL'sinin Make'te etkin olduğunu doğrulayın |
ERROR_WRONG_USER_KEY |
Geçersiz API anahtarı biçimi | API anahtarının 32 karakter olduğunu, başında/sonunda boşluk olmadığını kontrol edin |
| Sorgulama döngüsü hiç çözülmüyor | Sleep süresi çok kısa ya da görev kimliği yanlış | Görev kimliği eşlemesini doğrulayın; Sleep'i 10 saniyeye çıkarın |
| Senaryo zaman aşımına uğruyor | Make'in yürütme süresi sınırı (ücretsiz planda 5 dakika) | Planı yükseltin veya sorgulama aralığını kısaltın |
| JSON ayrıştırma hatası | Yanıt JSON olarak ayrıştırılmadı | HTTP modülünde "Yanıtı ayrıştır"ı açın; isteklerde json=1 gönderin |
Hata yönetimi
HTTP modüllerine hata işleyicileri tanımlayın:
- Modül 2 hataları (gönderim başarısız):
ERROR_ZERO_BALANCE(bakiye yükleyin) veyaERROR_WRONG_USER_KEY(API anahtarını düzeltin) durumlarını kontrol edin. - Modül 4 hataları (sorgu başarısız):
ERROR_CAPTCHA_UNSOLVABLE(sitekey ve pageurl değerlerini doğrulayın) veya ağ hatalarını (yeniden deneyin) kontrol edin. - Zaman aşımı: Repeater tüm yinelemeleri çözümsüz tüketirse, hatayı kaydeden bir hata işleyicisine yönlendirin.
Make'te bir modüle sağ tıklayıp Add error handler seçeneğiyle işleyici eklersiniz → ardından Resume (atla ve devam et) ya da Rollback (senaryoyu iptal et) davranışını seçin.
Senaryonun tam akışı
Kurduğunuz senaryonun uçtan uca görünümü şöyledir:
[Webhook Trigger]
↓
[HTTP: Submit to CaptchaAI in.php]
↓
[Sleep: 15 seconds]
↓
[Repeater: 10 iterations]
↓ (each iteration)
[Sleep: 5 seconds]
[HTTP: Poll CaptchaAI res.php]
[Router]
Route 1 (solved) → [Use Token] → [Webhook Response]
Route 2 (not ready) → continue loop
Route 3 (error) → [Error Handler]
Sık sorulan sorular
Make otomasyonu için hangi CaptchaAI planı yeterli?
Fatura eşzamanlı thread sayısına göredir, çözüm başına değil. Tek bir Make senaryosu aynı anda birkaç CAPTCHA gönderiyorsa BASIC ($15/ay, 5 thread) başlangıç için yeterlidir; paralel webhook trafiğiniz arttıkça daha yüksek thread'li bir plana geçersiniz. Fiyatlar USD olduğu için TL dalgalanmasından etkilenmeyen, öngörülebilir bir aylık maliyet elde edersiniz.
Sleep modülünü kaç saniyeye ayarlamalıyım?
reCAPTCHA v2 için ilk beklemeyi 15 saniye, döngü içi beklemeyi 5 saniye tutmak dengeli bir başlangıçtır. Çok kısa bir Sleep, sonuç hazır olmadan yapılan gereksiz res.php sorgularına yol açar; çok uzun bir Sleep ise akışı yavaşlatır. Görev tipik olarak hızlı çözülüyorsa ilk beklemeyi kademeli olarak düşürerek optimize edebilirsiniz.
reCAPTCHA v2 dışında hangi türleri bu akışla çözebilirim?
Aynı gönder-sorgula kalıbı birkaç türde daha çalışır; yalnızca method değeri ve ilgili parametreler değişir:
- Cloudflare Turnstile:
methoddeğeriniturnstileyapın,googlekeyyerinesitekeygönderin - reCAPTCHA v3, GeeTest v3, BLS: desteklenen diğer türler, aynı akışla
hCaptcha ve FunCaptcha ise şu anda desteklenmiyor.
Token hedef sitede neden reddediliyor?
Token reddedilmesinin iki yaygın nedeni vardır:
- Süre dolması: reCAPTCHA token'ları kısa ömürlüdür;
{{4.data.request}}değerini aldıktan hemen sonra forma gönderin. - Değer uyuşmazlığı: gönderim isteğindeki
pageurlvesitekey, hedef sayfayla birebir aynı olmalıdır; aksi halde token geçersiz olur.
İlgili makaleler
- reCAPTCHA v2 callback sorununu API ile çözme
- Aynı sayfada reCAPTCHA v2 ve Turnstile'ı birlikte işleme
- reCAPTCHA v2 callback mekanizması
Sonraki adımlar
Make'te CAPTCHA çözümünü otomatikleştirmeye başlayın — CaptchaAI API anahtarınızı alın ve ilk senaryonuzu kurun.