業務でShopify APIを使っています。
ある日、Shopify Article APIでArticleデータをID順に取得したい事がありました。その時に"ID順でデータを取得する技"を見つけたので、備忘録として残しおきます。
結論
-
パラメーターとして用意されている"since_id"を使って、IDのソートを実現させる。
https://shopify.dev/docs/api/admin-rest/2023-01/resources/article#get-blogs-blog-id-articles -
since_id=1にすると、ID順でデータを取ることができる(注意として、since_ID=0だと"since_ID"の設定が無視されます。おそらくsince_idが設定されていない場合、つまり初期値(0)の場合に、設定を無視する為だと推測してます)
-
今回、この技を使って、ページネーション機能を実装させました(取得したデータの一番最後のIDをsince_IDで設定し、再度APIを実行する事で次のページのリストデータを取得できる。結果的に全データの取得をしました)
-
Articles以外でも、Products、Ordersでも同じ方法でIDのソート順でデータを取得できたので、since_idパラメータがある全てAPIに適用されそうです。
実行例
curl
curl -X GET "https://your-development-store.myshopify.com/admin/api/2023-01/blogs/241253187/articles.json?since_id=1" \
-H "X-Shopify-Access-Token: {access_token}"