XplentyのCurl Functionを使えば、Shopifyからデータを読み込むだけでなく、Shopifyにデータを書き込むことが可能です。
Xplentyのお客様には、これまで外部の仕入れ先から商品、在庫情報を取得し、Shopifyへデータを連携するプロセスをXplentyで自動化することで、マニュアルでの運用を排除し、自社のECサイトのオペレーションを大幅に簡略化かつ省力化することができました。
今回は、データベースの商品マスタをShopifyのProductに連携する方法を紹介します。
#1. コネクションを作成する
##DBのコネクションを作成する
ConnectionのメニューからMySQLを選択し、必要な情報を入力します。
##Shopifyのコネクションを作成する
ConnectionのメニューからShopifyを選択し、Shop addressを入力します。
#2. パイプラインを作成する
MySQLとShopifyのコネクションが作成できたら、Packageメニューに移動し、新しくパイプラインを作成していきます。
###データベースコンポーネントの設定
###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')
####リクエスト例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を追加します。
これでパイプラインの設定は完了です。
#まとめ
Xplentyを使用することで、DBのデータを簡単にShopifyへ連携することができます。今回のブログでご紹介したとおり、DBから取得した情報をCurl関数を使用し、自由にカスタマイズし、データを送信することができるので、みなさんのユースケースに合わせて柔軟なパイプライン作成が可能です。
もし、興味のある方は、XplentyのHPからオンラインデモにお申し込みください。