BASEと連携し、皆様が運営されているWebサービスに商品を販売する機能を追加したい!であるとか、Webサービスのユーザーに簡単に商品を販売する提供し、購入連携を実現したい!というご相談をいただくことがあります。
そのような連携をするメリットとしましては、
- 商品販売に関するあれこれを実装、維持、管理しなくてもよい。特にセキュリティ管理周りを外注したい!
- 販売機能がコア機能ではないからプラスアルファの価値を提供したい
- お金の支払い周りや購入トラブルに関する問い合わせ等が煩雑すぎるから、そこをBASEに外注したい
- クレジットカード決済やキャリア決済などを提供したい
などなど、BASEを活用するメリットがそのまま、皆様のWebサービスに組み込めることが考えられます。
このような取り組みに対する一つのご提案をさせていただけたらと思います。
BASEには、ネットショップに慣れてきたオーナー様が、あれをやりたい、これをやりたいというニーズにお応えするための機能拡張「BASE APPS」というものがあります。
その中に「広告効果測定」という機能があります。このAPPSを使うと、購入者様が商品を購入する際の購入完了画面で、任意のタグ、JavaScriptを実行する機能を提供することができます。
いささか裏技的ではありますが、この機能を流用し、Webサービスとの購入連携を実現しようというのがこの記事の趣旨となります。
購入フローは、こちらになります。
- Webサービスは登録済み商品のページURLを通じてBASEショップにリダイレクトする(別窓が良い気がします)
- 商品の購入完了ページで、Webサービスに購入完了通知を送る。
- Webサービスは通知を元に、BASE APIに購入情報を問い合わせて、サービスを提供する
というフローです。
材料としては、
- 皆様のWebサービス
- BASEのショップ管理画面内にある「広告効果測定」APPS
- BASE API
の組み合わせになります。
■広告効果測定APPS
広告効果測定APPSは、BASEのショップ管理画面からご利用いただけます。
BASEの商品購入の完了画面に、ここに書いた任意のHTML / JavaScriptが出力されます。iframe内に出力されるのでWebページ経由のWebhookとして皆様のサービスに通知を送ることができます。
購入完了画面のページのURLには、ショップのIDが入っているのでリファラーもしくはJavaScriptでパースすることで、どのお店からのリクエストかも判別可能です。
(なお、購入画面のURLはどこかのタイミングで変わる可能性がありますので、その際は、下記のdevelopers登録のアドレス宛に一ヶ月前ぐらいには、連絡いたします)
■BASE APIを使うためには
プラットフォーム様がBASE Developersからアカウント申請をお願いします。
BASE APIの利用申請が承認された後、BASEが提供するOAuthログインのコードを書くと、皆様の管理画面から商品を売りたいユーザさんに対して、BASEショップとの連携機能を追加することができます。
ユーザさんからOAuthを通じてBASEショップのアクセス権が移譲されることで、
- 商品登録 / 削除 / 在庫数の変更
- 購入者情報の取得
などができるようになります。これらの処理を自動化することで、商品購入と連携して購入者様にサービスを提供することができるようになります。
(そのため、商品を売りたいユーザさんには予めBASEショップを開設いただくことが必要です)
■本機能実現についての検討事項
以上のようにシステム連携自体は簡単にできますが、いくつか検討すべき事項があります。
エンジニアをかかえるWebサービス様が販売責任を負う形で商品を販売されるのであれば簡単です。
それに対して、皆様のユーザーにこの機能を提供しようとすると、誰が何をするか?という部分が少し煩雑になります。
検討部分として、整理すべきポイントは以下のようになります。
BASEアカウント保有者 = ショップオーナーさんの責任
- 特商法の記載(販売主体 / 返品責任は誰が追うか?)
- お金の流れ(BASEから振り込むので済むなら簡単だけど...)
- 購入者情報の管理(個人情報管理)
システム連携に必要な作業
- 広告測定appsの設定
- 連携タグの設置
API連携して、サービス提供に必要な機能
- 商品の登録、削除、更新
- 購入者情報の取得
本文章の内容としては以上になります。 今後、より高いニーズに応じて機能追加も検討していこうと思っておりますが、ひとまずこちらをご検討くださいませ。