Bir API yanıtı yalnız ilk kayıt grubunu veriyorsa n8n HTTP Request düğümünde sayfalama kurmanız gerekir. Sayfa boyutunu yükseltmek her kaydı alacağınızı garanti etmez; hizmetin üst sınırı olabilir. Önce API’nin sonraki sayfayı URL, sayfa numarası veya cursor ile nasıl belirttiğini öğrenin.
Sayfa numarası birden başlıyorsa $pageCount + 1 yaklaşımı kullanılabilir; sıfırdan başlayan bir API’de aynı değer doğru olmayabilir. Çok sayfalı aktarımda hız sınırı veya zaman aşımı da görülebilir. Hız sınırında rastgele hızlı tekrar yerine hizmetin bekleme koşulunu izleyin ve kaldığınız yeri belirleyebilecek kayıt kimliklerini koruyun.
Yanıtın veri sözleşmesini inceleyin
Varsayımsal bir API her yanıtta records dizisi ve next alanı döndürsün. next boş olduğunda işlem biter. Başka bir hizmet ise page parametresini artırmanızı bekleyebilir. Birindeki ayarı diğerine kopyalamak ya aynı sayfayı tekrar getirir ya da kayıt atlatır.Sayfalamayı kontrollü ekleyin
- İlk yanıtı kaydedip yapısını okuyun. Kayıt dizisinin adını, sonraki sayfa bilgisini ve varsa toplam sayıyı bulun. Sayıların gerçekten toplam mı, yalnız mevcut sayfa mı olduğunu doğrulayın.
- Pagination seçeneğini açın. HTTP Request içinde Add Option üzerinden Pagination alanını ekleyin. Kullanılan API’nin gerçek yöntemine uygun modu seçin.
- Sonraki sayfa değerini eşleyin. Yanıt URL içeriyorsa Response Contains Next URL; numara istiyorsa her istekte parametre güncelleme yaklaşımını kullanın. Parametre adını sağlayıcının belgesinden alın.
- Bitiş koşulunu tanımlayın. Boş next, boş kayıt dizisi veya belgenin belirttiği diğer koşulu kullanın. Sonsuz döngüyü önlemek için makul bir istek sınırı da koyun.
- İki sayfalık örnekle doğrulayın. İlk ve son kayıt kimliklerini karşılaştırın. Aynı sayfanın tekrar eklenmediğini ve beklenen toplamın oluştuğunu kontrol edin.
Örnek ifadeyi doğru yerde kullanın
API next alanında tam sonraki URL’yi döndürüyorsa ilgili alana aşağıdaki gibi bir ifade uygulanabilir. Alan adı gerçek yanıtınızla aynı olmalıdır.
Kod:
{{ $response.body.next }}
Sayfa numarası birden başlıyorsa $pageCount + 1 yaklaşımı kullanılabilir; sıfırdan başlayan bir API’de aynı değer doğru olmayabilir. Çok sayfalı aktarımda hız sınırı veya zaman aşımı da görülebilir. Hız sınırında rastgele hızlı tekrar yerine hizmetin bekleme koşulunu izleyin ve kaldığınız yeri belirleyebilecek kayıt kimliklerini koruyun.