ShopifyやEコマースに関連することを話してみよう
下記のようなクエリと変数の設定を作成し、Shopify GraphiQL Appで動作の確認ができました。
query($var: String!){
orders(first:1,query: $var) {
edges {
node {
id
updatedAt
lineItems(first:1) {
edges {
node {
id
}
}
}
}
}
}
}
variables
{
"var":"created_at:>='2022-8-6T00:00:00Z'"
}
これを、たとえば当日分の全データのようなかたちで取得したいと考えています。
そこで、このqueryの部分を、
mutation bulkOperationRunQuery{
bulkOperationRunQuery(
query: """
query($var: String!){
orders(first:1,query: $var) {
edges {
node {
id
updatedAt
customer {
id
}
lineItems(first:1) {
edges {
node {
id
}
}
}
}
}
}
}
"""
) {
bulkOperation {
id
status
}
userErrors {
field
message
}
}
}
のように変更しましたが、うまくいきません。
どのように組み立てれば、
・外部(プログラム内)からqueryを設定できる(create_atのみ指定できればOK)
・1日分をまとめて取得できる
上記2点を満たすGraphQLのクエリを組み立てられるでしょうか?
よろしくお願い致します。
自己解決しました。
クエリは下記のようにして、
変数を下記のようにしました。
variables
{"query":"{orders(query:\"created_at:>='2022-8-6T00:00:00Z'\"){edges{node{id\nupdatedAt\nlineItems(first:1)\n{\nedges\n{\nnode\n{\nid}}}}}}}"}
改行やダブルクォーテーションをエスケープして文字列に格納しました。
一応、目的は達成できましたが、クエリ全文を全て文字列として変数に含めるのは座りが悪い感じがします。
他の解決策や、この形式の場合の注意点などあればご指摘頂けると幸いです。
オンラインストアを運営する中で、商品の返品や交換は重要なプロセスとなります。Shopify管理画面を通して簡単に返品や交換が行えることをご存知でしょうか?希望する場合は、お客...
By Mirai Sep 15, 2024Shopifyの請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024