# 商品登録・更新apiについて

**URL:** <https://community.shopify.com/t/api/11619>\
**Category:** 技術的なQ＆A\
**Created:** [April 23, 2020, 10:01am UTC](https://community.shopify.com/t/api/11619 "2020-04-23T10:01:11Z")\
**Posts on this page:** 5\
**Page:** 1

## AI-generated summary

商品編集画面にある「販売チャネル」のON/OFFを、APIで商品ごとに設定できるかが主題。初回の回答では、販売チャネル向けの公開解除API（publishableUnpublishToCurrentChannel、ProductListingのREST API）が候補として示されたが、これは商品編集画面のON/OFFと完全には一致しないことが補足された。

その後、用途に合うAPIとして GraphQL Admin API の publishablePublish / publishableUnpublish が提示され、商品の販売チャネル公開・非公開はこの方法で対応可能と整理された。RESTではなくGraphQLが中心。

実装上の要点:
- 対象商品ID: gid://shopify/Product/XXXXX 形式
- publicationId: publications クエリで取得
- 商品ID確認: products クエリでも取得可能

補足として、GraphiQLアプリを使えば権限付きでクエリやミューテーションを検証できると案内された。添付画像は、管理画面の「販売チャネル」設定箇所の例。結論として、適切なGraphQL APIが案内され、質問は実質的に解決している。

<div class="post-metadata">

**Author:** ![IMD](https://avatars.discourse-cdn.com/v4/letter/i/c2a13f/32.png) [@IMD](https://community.shopify.com/u/IMD)\
**Post date:** [April 23, 2020, 10:01am UTC](https://community.shopify.com/t/api/11619/1 "2020-04-23T10:01:11Z")

</div>

初歩的な質問になり申し訳ないのですが、

商品の「販売チャネル」を登録・解除するAPIはありますでしょうか？

ありましたら仕様書などお教えいただけましたら幸いです。

---

<div class="post-metadata">

**Author:** ![junichiokamura](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/junichiokamura/32/299737_2.png) [@junichiokamura](https://community.shopify.com/u/junichiokamura)\
**Post date:** [April 27, 2020, 8:18am UTC](https://community.shopify.com/t/api/11619/2 "2020-04-27T08:18:09Z")

</div>

販売チャネルとは、Buy Button, POS, Facebook, 楽天などのことでしょうか？

商品の編集画面ではなくて、APIからということでしたら、以下になると思います。  
[https://shopify.dev/docs/admin-api/graphql/reference/mutation/publishableunpublishtocurrentchannel](https://shopify.dev/docs/admin-api/graphql/reference/mutation/publishableunpublishtocurrentchannel)

[https://shopify.dev/docs/admin-api/rest/reference/sales-channels/productlisting#destroy-2020-04](https://shopify.dev/docs/admin-api/rest/reference/sales-channels/productlisting#destroy-2020-04)

---

<div class="post-metadata">

**Author:** ![junichiokamura](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/junichiokamura/32/299737_2.png) [@junichiokamura](https://community.shopify.com/u/junichiokamura)\
**Post date:** [April 27, 2020, 8:20am UTC](https://community.shopify.com/t/api/11619/3 "2020-04-27T08:20:15Z")

</div>

ただし、これが商品編集の販売チャネルのON・OFFに正確に対応するとかというと、そうではないです。

---

<div class="post-metadata">

**Author:** ![IMD](https://avatars.discourse-cdn.com/v4/letter/i/c2a13f/32.png) [@IMD](https://community.shopify.com/u/IMD)\
**Post date:** [May 13, 2020, 2:36am UTC](https://community.shopify.com/t/api/11619/4 "2020-05-13T02:36:28Z")

</div>

@junichiokamura さん

ご回答ありがとうございます。

商品編集画面の「販売チャネル」のON/OFFを行うためには

ご提示いただいているURLの方法をとるしかなく、

またそれも正確には対応しておらず

API等で処理は不可能ということでしょうか？

もし、商品編集画面の「販売チャネル」のON/OFFを設定できるAPIの情報等が

ありましたらお教えいただけると幸いです。

---

<div class="post-metadata">

**Author:** ![junichiokamura](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/junichiokamura/32/299737_2.png) [@junichiokamura](https://community.shopify.com/u/junichiokamura)\
**Post date:** [May 13, 2020, 4:43am UTC](https://community.shopify.com/t/api/11619/5 "2020-05-13T04:43:14Z")

</div>

すいません、上記のAPIは、販売チャネル自身が呼び出すAPIで、対象の商品を自身の販売チャネルから非公開にするAPIでした。

ご希望の用途は添付のように、商品編集の販売チャネルのON・OFFをAPIでしたいとのことでしたら、下記のAPIで可能です。

[https://shopify.dev/docs/admin-api/graphql/reference/mutation/publishablepublish?api[version]=2020-04](https://shopify.dev/docs/admin-api/graphql/reference/mutation/publishablepublish?api%5Bversion%5D=2020-04)  
[https://shopify.dev/docs/admin-api/graphql/reference/mutation/publishableunpublish?api[version]=2020-04](https://shopify.dev/docs/admin-api/graphql/reference/mutation/publishableunpublish?api%5Bversion%5D=2020-04)

GraphQLについては以下のアプリを全権限つけてインストールするとご自身で色々と検証できますのでドキュメントをみながらトライしていただけますか？  
[https://shopify-graphiql-app.shopifycloud.com/](https://shopify-graphiql-app.shopifycloud.com/)

上記APIのIDは、商品のIDで、gid://shopify/Product/XXXXX のような形（XXXは商品編集URLの数値）にして、publicanInputのpublicationIDは、以下のクエリで引けます。

```auto
query {
  publications(first: 10) {
    edges {
      node {
        id
        name
      }
    }
  }
  
}

```

商品IDも一応、下記のようにクエリから参照することをお勧めします。

```auto
query {
  products(first: 10) {
    edges {
      node {
        id
        title
      }
    }
  }
  
}

```

 ![Screen Shot 2020-05-13 at 12.22.32 PM.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/1/4/14728e736894d16c8c044f5a2de5e3a3cad9bc37.jpeg)
