kintoneとStripeをノーコードで連携!kintoneの製品マスタを自動でStripeに移行してみる
本記事はCDataが提供する「CData Software Blog」に掲載された「kintoneとStripeをノーコードで連携!kintoneの製品マスタを自動でStripeに移行してみる」を再編集したものです。
こんにちは!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 でkintone × Stripe 連携をスタート
・30日間の無償トライアルで試してみる
・お問い合わせ
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では商品と価格を別のテーブルに分けて管理しているので、以下のステップを踏みます。
1. kintoneの商品リストから、まずは商品名をもとにStripe に商品を追加
2. Stripeで作成した商品のIDをkintoneアプリに書き戻し
3. 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
・/Items/商品リスト
・Stripe_Id
また、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_Id
・価格
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で自由度の高い多様な連携を実現してみてください。