Eコマースの世界では、テクノロジーで解決すべき課題が際限なく現れます。Shopifyのすべての課題に自分たちだけで取り組むのは困難だとわたしたちは理解しています。マーチャントの成長を支援する新しいイノベーティブな方法を生み出していくには、開発者のみなさんの力が必要です。そしてみなさんには、ご自分の成功の道を進んでいただきたいのです。Shopify Functions はそのために誕生しました。Shopify Functions は、カスタムコードでShopifyのバックエンドロジックを革新的な方法で拡張したり置換したりするもので、Shopifyを利用する企業のそれぞれのビジネスニーズに応えます。
Shopify Functionsとは
高速な体験と拡張性を維持しながらShopifyに柔軟性をもたせる方法を、わたしたちはつねに真剣に考え続けてきました。フロントエンドに関しては、すでに LiquidとHydrogen によって伸長性が得られています。データベースのレイヤーにはAPIとメタフィールドでアクセスできます。しかしShopifyのバックエンドのアプリケーションロジックは、従来閉ざされたままでした。
しかし、今後は違います。
Shopify Functions によって、独自のコマース体験を構築する新たな方法が導入され、開発者はカスタムコードをShopifyのバックエンドロジックに挿入することができます。Functionsは Shopifyのグローバルなインフラ内部で実行されるため、地上最大のセールイベントにも対応し、その際でも実行にかかる時間は 5ms以下です。Functions によって、ホスティング、セキュリティ、およびフォークされたコードを管理する手間をかけずに、オープンソースの柔軟性のすべてが得られます。
すべてのShopifyマーチャントが利用できる強力な機能
16年以上Eコマースビジネスに貢献してきた結果、独自のディスカウントやプロモーション、購入体験などによって競合と差別化を図ることがいかに重要かをわたしたちは理解しました。実際、Shopify Plusを利用しているブランドは、Shopify Scripts を使用したディスカウント、配送、支払い方法のカスタマイズによって、平均注文額が20%向上しているのです。また、ブランドが成功しているほど、Scriptsによるカスタム機能に傾倒していることもわかりました。
しかし、Scriptsには課題もあります。たとえば Scriptsは、Shopify Plus限定の機能であり、そのため大規模ブランドでないと使用できませんでした。さらに、ディスカウントや配送、支払いゲートウェイの構築や修正において、ScriptsのエンドユーザーはRubyコードに堪能であることが求められます。わたしたちは将来を見据え、これらの課題を念頭に、Functionsを構築しました。
まず何より、FunctionsはすべてのShopifyマーチャントが利用できます。Plusマーチャントに限定されません。そして次に、Functionsはアプリでインストールすることができ、Shopifyアプリストアで購入できます。つまり今後は、Functionsでディスカウントアプリを構築して、完全に未開拓市場といえる数百万のShopifyマーチャントに向けて販売できるのです。
これらはまだ氷山の一角です。Functionsはバックエンドのカスタマイズという開拓可能な市場を劇的に増大させるだけでなく、とても使いやすくなっています。Functionsを使用することで、Eコマースのマネージャーやマーケターは、コードを書く(あるいは見る)必要がありません。Functionsはほかのアプリ同様にインストールして管理画面で設定が可能で、Shopifyの機能がすぐに使用できます。つまり、ディスカウントのFunctionsはディスカウント設定の箇所に、配送のFunctionsは配送設定の箇所に表示されることになります。
もう少し踏み込んで、ディスカウントのサンプルを見てみましょう。ディスカウントの組み合わせ(英語)によって、マーチャントはFunctionsでカスタムした「一括割引」とShopifyの機能である「送料無料」を合わせた独自のプロモーションを作成できます。このようにカスタムしたディスカウントとネイティブなディスカウントを組み合わせられるのはFunctionsだけです。現在のアプリストアにあるディスカウントアプリに対して、大きなアドバンテージが得られます。
Functionsのメリットはまだあります。Functionsで構築されたディスカウントは、Shopify Analytics の売上レポートで表示されます。そのためマーチャントは割引戦略の検証に必要な情報が1箇所で確認できるようになります。直近のプロモーションの成否を確認するレポート業務が合理化され素早くなるので、この機能はマーチャントにとって重要です。この属性はFunctions特有のものであり、下書き注文によるディスカウントアプリでは利用できないことにも注意しましょう。
Functionsの構築方法
Shopify Functions には3つの基本要素があります。
- 柔軟なUI − App Bridge と Reactで構築
- データストレージと設定 − メタフィールドを使用
- バックエンドロジック − Functionsコード
Functionsが超高速で安定したエクスペリエンスを提供できるようにするため、わたしたちはまったく新しいWebAssemblyプラットフォームを構築しました。つまり、Functionsは決定的なタスクが何であれ(ストアが話題沸騰中、超絶フラッシュセール中など何でも)、それを扱うことができます。
Functionsの現在と今後
ディスカウント(英語)についてはすでに述べましたが、FunctionsはShopify管理画面でそれらを設定できるようにするので、マーチャントはコードをまったくさわる必要がありません。
Shopify Functions が現在サポートできる領域、そして今後サポートできるようになる領域は以下のとおりです。
- Discount API (現在利用可能)
- 具体的には、注文ディスカウント、商品ディスカウント、配送ディスカウントのAPIをカスタマイズできます
- 一般的な事例を挙げると、購入アイテム数に基づくまとめ割引や、特定額に達した場合に無料ギフトを提供するオファーなどに、企業は関心を示しています
- Shipping API (まもなく)
- 配送オプションの非表示、並び替え、新規作成ができます
- たとえば、エコフレンドリーなブランドの場合、自転車による配送やローカルピックアップが、特定の郵便番号や半径内の購入者に対して主要配送オプションとして表示されます。
- Payment Methods API (まもなく)
- 支払いオプションの非表示、並び替えができます
- 一定の注文額を基準として現金払いのオプションが表示されるようなケースが、一般的な事例として挙げられます。
まずはおなじみのカスタマイズ領域からスタートしていますが、今後はさらに大幅なFunctionsオプションを提供していく計画です。たとえば、注文ルーティング、チェックアウトとカートの検証、返品検証、出荷率などのサポートについては、すでに検討中です。
Functionsで何ができるか確かめよう
ここまででおわかりのように、わたしたちは高速でスケーラブルな独自のコマース体験を構築できるラディカルな方法を提供するために全力を注いでいます。Functionsを使用すれば、Shopifyの機能を拡張して、わたしたちが考えていなかったような機能をあなたが創出することも可能です。これはまだ序章に過ぎません。今後もFunctionsでShopifyのバックエンドロジックを伸長できるようにしていくので、ご注目ください。
Shopify Functions構築にさっそく取り組みたい方は、開発者ドキュメント(英語)で詳細をご確認いただけます。みなさんの構築するものが今から待ちきれません!
最新のプロダクトアップデートはこちら
- Editions Dev Mode をチェックして、開発者向けの最新機能を確認できます
- 次回のパートナータウンホールに登録して、プロダクトチームから最新情報を得たり、ライブで質問したり、Editionsのアップデートを確認したりできます