Sorgu sonuçlarını sayfalara ayırma

Çok sayıda satır içeren sonuç kümelerini işlemek için Merchant Center Query Language, sayfalara ayırmayı destekler. reports.search istek gövdesinde sayfalama işlemini kontrol etmek için iki parametre kullanılabilir: page_size ve page_token. Ayrıca, yanıt gövdesinde bir çıkış alanı bulunur: next_page_token.

page_size parametresi, tek bir istekte alınacak maksimum satır sayısını belirtir. Belirtilmezse otomatik olarak 1.000 satırlık maksimum sayfa boyutuna ayarlanır.

page_token parametresi, döndürülecek sayfanın jetonunu belirtir. Belirtilmezse ilk sayfa döndürülür. Sonraki bir sayfayı almak için önceki reports.search çağrısından next_page_token olarak alınan değer page_token olarak sağlanmalıdır. Bir page_token sağlandığında, beklenmedik davranışları önlemek için çağrıdaki diğer tüm parametreler, page_token değerini döndüren önceki çağrıyla eşleşmelidir.

Örnek:

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'

Bu sorgu için hesabın 100.000 offer_ids içerdiğini ve page_size değerinin 200 olarak ayarlandığını varsayalım. Sonuç kümesi, ilk yanıtta 200 ReportRow nesnesi ve bir next_page_token içerecektir.

Sonraki 200 satırı almak için isteği aynı sayfa boyutuyla tekrar gönderin ancak isteğin page_token değerini önceki yanıtın next_page_token değeriyle güncelleyin.

Aşağıda bir yanıt gövdesi örneği (ilk beş sonuç ve next_page_token) verilmiştir:

{
  "results": [
    {
      "segments": {
        "offerId": "12345"
      },
      "metrics": {
        "clicks": "0",
        "impressions": "59",
        "ctr": 0
      }
    },
    {
      "segments": {
        "offerId": "12346"
      },
      "metrics": {
        "clicks": "9625",
        "impressions": "276695",
        "ctr": 0.034785594246372356
      }
    },
    {
      "segments": {
        "offerId": "12347"
      },
      "metrics": {
        "clicks": "148",
        "impressions": "22045",
        "ctr": 0.0067135404853708325
      }
    },
    {
      "segments": {
        "offerId": "12348"
      },
      "metrics": {
        "clicks": "11",
        "impressions": "1100",
        "ctr": 0.01
      }
    },
    {
      "segments": {
        "offerId": "12349"
      },
      "metrics": {
        "clicks": "569",
        "impressions": "62977",
        "ctr": 0.0090350445400701838
      }
    },
    ...
  ],
  "nextPageToken": "CMgB"
}