Shopify API
admin apiと frontstore apiの2つがある。
admin apiは rest形式があるけど、両方ともGraphQLがあるので、GraphQLに慣れる方がよさそう frontstore apiはまだ
adminは、graphql, restで違う。
store frontは、
cursor, pagenation
connectionsの話, 普通のprogrammingのアナロジーだと、
The edges field is similar to a for-loop because it retrieves the selected fields from each edge in the connection
Used to select the fields that you want to retrieve from the node at each edge
で、結局は、pageInfoもqueryに含め、edgesの中に cursor を入れておいて
variablesに、first(数), after(文字, 最後のcursor)を入れて、pagination
inline fragment
on というsyntax上の 項?がある
普通に あるnodeの配下に、queryRootを入れるものとの違いは???
nodeの引数()にidを指定しておいて、通常はできない、違う nodesコネクションを...よくわかってない。
元の query構造が理解できてないせいか...
make multiple queries in one request
コスト的な優位はないけど、
記述をすっきりできそうな...
admin の graphql
1000の容量で、1秒で50(容量を回復、バッファーを処理)できる。
エラーにならないという意味では、
瞬間的に1000飛ばせる(1回で1000を超えるのは、いつやっても 429 error)
1秒に"平均"50なら、理屈上は安定的(容量で分散を吸収してくれる)にリクエストできる。
仮に、2000使いたい場合は、
1秒に100なら、1秒で 100 - 50 = 50づつバケツが埋まるので、
20秒後に埋まる、20秒で完了するくらいで設定する
graphqlのcost(単価)
queryは、単純なものだと1
mutationで単純なものは手元だと10
大まかな考え方としては、
回復の50に合わせて処理を投げるのが基本
全体が1000を超える場合(集団に対しての操作など)に、時間調整を考える
costは、response headerの、X-Shopify-Shop-Api-Call-Limit に入ってくるよう。
超えると、429 error