2
1

More than 3 years have passed since last update.

ShopifyのProductにデータベースの製品データを連携するには?

Posted at

XplentyのCurl Functionを使えば、Shopifyからデータを読み込むだけでなく、Shopifyにデータを書き込むことが可能です。
Xplentyのお客様には、これまで外部の仕入れ先から商品、在庫情報を取得し、Shopifyへデータを連携するプロセスをXplentyで自動化することで、マニュアルでの運用を排除し、自社のECサイトのオペレーションを大幅に簡略化かつ省力化することができました。

今回は、データベースの商品マスタをShopifyのProductに連携する方法を紹介します。

1. コネクションを作成する

DBのコネクションを作成する

ConnectionのメニューからMySQLを選択し、必要な情報を入力します。
image.png

Shopifyのコネクションを作成する

ConnectionのメニューからShopifyを選択し、Shop addressを入力します。
image.png

2. パイプラインを作成する

MySQLとShopifyのコネクションが作成できたら、Packageメニューに移動し、新しくパイプラインを作成していきます。

データベースコンポーネントの設定

image.png

Selectコンポーネントの設定

Selectコンポーネントを追加し、式エディタで設定します。CCurl関数を使うことで、すでにXplentyで作成済みのコネクションを使用してアクセスすることが可能です。
CCurl(param1,param2,param3,param4,param5)

パラメータの説明
- param1: APIリクエスト先のURL
- param2: HTTPメソッドを指定。データを新規作成する場合、「POST」をセット、更新する場合は「PUT」をセット
- param3: HTTPヘッダー情報をセット
- param4: HTTPリクエストBody情報をセット
- param4: Xplentyでコネクション生成時に付与されるConnection IDをセット(コネクション画面で確認できます。)

リクエスト例1: Productを新規作成する

CCurl(CONCAT('https://','xpjp2.myshopify.com','/admin/api/2021-04/products.json'),'POST','{"Content-Type":"application/json" }',CONCAT('{"product": {"title":"',title,'","body_html":"',body_html,'","vendor":"',vendor,'","product_type": "',product_type,'","status":"','draft','","tags":["',vendor,'"]}}'),'SHOPIFY_CONNECTION_12250')

image.png

リクエスト例2: Productを更新する

CCurl(CONCAT('https://','xpjp2.myshopify.com','/admin/api/2021-04/products.json'),'PUT','{"Content-Type":"application/json" }',CONCAT('{"product": {"id":"',id,'","title":"',title,'"}'),'SHOPIFY_CONNECTION_12250')

パイプライン

Curl関数を使用する場合もXplentyではDestinationコンポーネントをパイプラインに含める必要があります。今回の例では、Curl関数を実行した際に取得されるHTTP Responseの結果ステータスなどの情報をストアするために、S3などのFile Storageを追加します。
image.png

これでパイプラインの設定は完了です。

まとめ

Xplentyを使用することで、DBのデータを簡単にShopifyへ連携することができます。今回のブログでご紹介したとおり、DBから取得した情報をCurl関数を使用し、自由にカスタマイズし、データを送信することができるので、みなさんのユースケースに合わせて柔軟なパイプライン作成が可能です。
もし、興味のある方は、XplentyのHPからオンラインデモにお申し込みください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1