こんにちは!Web 担当の加藤です。CData ウェブサイトのStripe 連携開発も担当しています。
以前の記事で書いたように、CData のStripe コネクタが大幅に強化され、製品・価格マスタへの書き込み・更新ができるようになりました。前回はExcel からの読み書きを試してみましたが、今回はExcel 同様連携先として高い人気を誇るkintone とStripe を連携して、kintone 上の製品マスタをStripe に移行する方法を解説します。
- kintone で製品マスタを管理していてStirpe と連携したい方
- kintone の顧客情報をStripe に連携したい方
など、Stripe × kintone 連携に興味がある方の参考になればうれしいです!
今回連携する製品について
kintone は、サイボウズ株式会社が提供するクラウド型のノーコード/ローコード開発プラットフォームです。プログラミングの知識がなくても、マウス操作だけで業務アプリを作成・運用できます。
Stripeは世界で数百万以上の企業で利用されている決済サービスです。完全ノーコードでクレジット・銀行・電子マネー決済を完了したり、ローコードで自社のEC サイトやSaaS 用の決済サービスとして組み込んで利用できます。包括的な製品ウォークスルーやドキュメントを用意しており、コーディングが必要な場合でも簡単に自社サイト・製品と連携できます。
CData Arc とは?
CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。
Arc では2023年12月にkintone コネクタをグローバルリリース、kintone と基幹システム・kintone 以外のSaaS との連携がノーコードで実現できるようになりました。
CData Arc のインストール
CData Arc はダウンロードしてすぐに使用を始められます。また、30日間の無償トライアルを用意していますので安心して利用開始いただけます。 Arc のダウンロードはコチラ
Arc では、kintone やStripe といったデータソース、マッピング、データの変換処理など、各処理をパーツ(コネクタ)として、パーツを組み合わせるフローを構成することで自動化を行います。以下ではまず、それぞれのパーツの設定を行って、その後実際にパーツ間のデータ連携を作っていきます。
連携するkintone アプリ
標準の商品見積書パックに含まれる商品リストに、「Stripe_Id」という文字列フィールドを追加して使っていきます。Stripe と連携する上で、Stripe 側の商品ID を格納するフィールドは必須になります。
連携の完成イメージ
商品リストアプリに追加されている「Test Product」群を、Payment Links やCheckout ですぐに使えるようにStripe の商品カタログとして追加していきます。
Arc 上では以下のようにフローを3つ作ります。kintone 側では1つのアプリで商品名と価格を登録していく想定ですが、Stripe では商品と価格を別のテーブルに分けて管理しているので、以下のステップを踏みます。
- kintone の商品リストから、まずは商品名をもとにStripe に商品を追加
- Stripe で作成した商品のIDをkintone アプリに書き戻し
- kintone の商品リストから価格をStripe に追加して、作成した商品に紐づける
それでは、各フローの作成方法を見ていきましょう。
フロー1:kintone の商品情報をStripe に登録する
kintone への接続を設定する
Arc をインストール & 起動したら、まずはkintone に接続してみましょう。上部のタブから「フロー」のページに移動して、左側のサイドバーの検索ボックスから「kintone」と検索します。
「その他」に「kintone」というコネクタがありますね。これがkintone 接続用のコネクタです。では、これをワークスペースにドラッグドロップしてみましょう。そして、出現したコネクタをクリックします。
👆のような画面が出てきますので、ここからkintone との接続を設定していきます。まずは、ページ中央あたりの「作成」をクリックします。
以下のような画面が出てくるので、ここからkintone の認証情報を設定していきます。今回はユーザーIDとパスワードで認証しますが、アプリIDとAPIトークンを使用した認証も可能です。
認証に必要な項目は、
- URL:ご利用のkintone アプリのURL
- User:ユーザーID
- Password:パスワード
です。その他の項目はデフォルトのままで問題ありません。
入力したら「接続テスト」をクリックします。Success! と出たら接続完了です。
次にkintone アプリに対して実行するアクションを設定します。このコネクタの目的はkintone から製品マスタのデータを取ってくることなので、アクションは「Select」を設定します(SQL のSELECT のことです)。そして、取得対象のテーブルを追加していきます。
追加できるテーブル(kintoneアプリ)の一覧が出てくるので、製品マスターの一覧である「商品リスト」を選択します(本記事で使用するデータはすべてサンプルデータです)。
このフローでは、kintone の商品リストに登録されている商品の商品名を使ってStripe に商品を追加していくので、商品名カラムだけを選択します。
これで、kintone への接続は完了です。
Stripe への接続を設定する
次に、Stripe 用のコネクタを追加して設定していきます。 kintone の場合と同様、検索ボックスから「Stripe」と検索してワークスペースにドロップします。
kintone と同様、コネクタの設定画面を開いて「+作成」ボタンをクリックします。Stripe コネクタはログインベースでの認証をサポートしているので、ウェブ上のログイン画面から認証できます。Auth Scheme として「OAuth」を選択して「接続」をクリックします。
以下のような画面が出てくるので、連携したいアカウントを選択して「連結する」をクリックしてStripe にログインすれば、接続設定は完了です。
次にアクションの設定をしていきましょう。今回はkintone アプリの商品をStripe に追加していくので、Upsert を選択します。その後、Upsert 対象のテーブルとして「Products」(Stripeの商品一覧)を選択します。 カラムとしては、kintone にある商品名のマッピング先があればいいので、「Name」だけを選択します。
では、実際にkintone の商品をStripe に登録していきましょう。
kintone に登録されている商品をStripe に追加する
ここまででkintone とStripe のコネクタを設定してきましたが、Arc ではコネクタ間のデータのマッピングに「XMLMap」というコネクタを使います。
コネクタ一覧から「XML Map」をドラッグドロップします。
ワークスペース上でkintone を出力としてXML Map につなぎ、XML Map を出力としてStripe につなぎます。
次に、XML Map コネクタをクリックして、マッピングを設定していきます。以下のような画面が表示されるので、ここでkintone のテーブルをStripe 側のテーブルにマッピングしていきます。
マッピングエディタで、データソースの「商品名」をドラッグして宛先の「Name」にドロップします。これでマッピングは完了です。
では、フローを起動してデータを連携してみましょう。フローの起動には、起点となるコネクタの「アウトプット」タブに移動して、「受信」ボタンをクリックします(今回はkintone コネクタが起点)。
Stripe 側で確認すると、無事kintone の商品リストに対応する商品が作成されていました!
でも、「価格がありません」となっている通り商品に価格が登録されていません。価格がない状態ではもちろん決済に利用できないので、ここからは価格を登録していきます。
フロー2:Stripe の商品ID をkintone に書き戻す
次に、Stripe に登録した製品のID をkintone に書き戻していきます。このStripe のID を利用して、その後のステップで製品に価格を追加します。
起点となるkintone コネクタの設定はこれまでと同じなので省きます。2つ目のStripe コネクタから見ていきましょう。
②のStripe コネクタで接続を設定したら、アクションの設定をしていきます。kintone から取得した商品名一覧でStripe に登録済みの製品を照合(Lookup)して一致するものを取得、そのId をkintone に流していきます。
設定項目は以下です。
- アクション:Lookup
- テーブル:Products
- カラム:Id
- アウトプットデスティネーション:XPath
また、kintone のアプリの「商品名」をStripe の「Name」で照合したいよ、ということを指定するフィルタを追加します。
次に、終点となるkintone コネクタを設定していきます。基本製品追加の場合と同じ設定ですが、今回はkintone 上にすでにあるレコードを更新してStripe Id を追加するので、この点をUpsert アクションに指定します。設定項目は、
- RecordId:Upsert をON に
- Stripe_Id
です。
では最後に、Lookup したStripe Id をkintone の商品にマッピングするステップを追加します。先ほど使用したXML Map を使います。
以下の項目をマッピングします。
- RecordId -> RecordId
- Stripe_Id -> Stripe_Id
これでフローは完成です!実際に起動してみると、しっかりStripe 側のId がkintone アプリに書き込まれていました(念のためIDはぼかしてます)。
フロー3:kintone 製品の価格をStripe の製品に追加する
それでは最後のフローを作っていきます。といってもこのフローでやることは、フロー①で設定した内容とほぼ同じです。完成イメージは👇
kintone コネクタではSelect アクションを選択して、以下の項目を取得します。
Stripe コネクタではUpsertアクションを選択して、「Prices」テーブルの
- Currency
- Product
- UnitAmountDecimal
を選択します。
最後に、XML Map を配置して以下のマッピングを設定します。
- Stripe_Id -> Product
- 価格 -> UnitAmountDecimal
これで完成です!フローを実行すると…
価格が追加されました!これで、顧客とのやり取りやEC サイトでPayment Links やStripe Checkout の決済を利用して、すぐにkintone に登録しておいた製品を活用できます。
おわりに
以上で、kintone の製品マスタデータをStripe に連携するフローを構築できました。CData Arc では本記事で扱った製品や価格テーブル以外にも、顧客、インボイス、見積、サブスクリプションといった多様なStripe オブジェクトを扱えるほか、kintone 以外にも会計システムやクラウドストレージ、基幹システムとの連携が可能です。
ぜひ、CData Arc で自由度の高い多様な連携を実現してみてください。
関連コンテンツ