freks blog

about

ShopifyのGraphQLで複数Mutationを同時に実行する

created: 2024-09-06
おすすめ記事: 出会ってよかったプログラマー本

ShopifyのGraphQLで複数Mutationを同時に実行してみました

tagsAddorderUpdate を2つ

を同時に実行してみました
実行はShopify Remix appで行いましたがそこは省略

mutation updateOrder($id: ID!, $tags: [String!]!, $input: OrderInput!, $input2: OrderInput!) {
  tagsAdd(id: $id, tags: $tags) {
    node {
      id
    }
    userErrors {
      message
    }
  }
  orderUpdate(input: $input) {
    order {
      id
      metafields(first: 3) {
        edges {
          node {
            id
            namespace
            key
            value
          }
        }
      }
    }
    userErrors {
      message
      field
    }
  }
  orderUpdate2: orderUpdate(input: $input2) {
    order {
      id
      metafields(first: 3) {
        edges {
          node {
            id
            namespace
            key
            value
          }
        }
      }
    }
    userErrors {
      message
      field
    }
  }
}

渡したパラメータは

{
  variables: {
    id: "gid://shopify/Order/5937231102179",
    tags: ["sample tag"],
    input: {
      metafields: [
        {
          namespace: "custom",
          key: "item_status",
          type: "single_line_text_field",
          value: "ok",
        },
      ],
      id: "gid://shopify/Order/5937231102179",
    },
    input2: {
      metafields: [
        {
          namespace: "custom",
          key: "item_status",
          type: "single_line_text_field",
          value: "ng",
        },
      ],
      id: "gid://shopify/Order/5956042391779",
    },
  },
}

Order 5937231102179 のtagに sample tag を追加し、metafieldに item_status: ok を追加
Order 5956042391779 のmetafieldに item_status: ng を追加
が同時に行えました


Amazonのアソシエイトとして、blog.freks.jp は適格販売により収入を得ています。
This site is managed by freks