💴

【Shopify.dev和訳】Apps/Shopify POS/Product recommendations ext

2021/09/16に公開

この記事について

この記事は、Apps/Shopify POS/Product recommendations extensionの記事を和訳したものです。

記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。

Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

プロダクトレコメンデーションの拡張

POS 製品推奨拡張機能をアプリに追加して、マーチャントが Shopify POS 内から製品推奨にすばやく簡単にアクセスできるようにすることができます。

製品または顧客がカートに追加された後、製品の推奨事項がスマートグリッドに表示されます。推奨事項には、顧客プロファイルまたは製品の詳細を表示するときにもアクセスできます。

要件

アプリの拡張機能を構成する

パートナーダッシュボードから POS 製品推奨拡張機能を構成できます。

  1. パートナーダッシュボードに移動します。
  2. サイドバーで、アプリをクリックします。
  3. アプリ名をクリックします。
  4. 拡張機能をクリックします。
  5. ShopifyPOS をクリックします。
  6. POS 製品の推奨事項の管理をクリックします。
  7. POS 製品推奨拡張エンドポイントの構築に使用される URL パスを入力します。
  8. 保存をクリックします。

たとえば、アプリのベース URL がでhttps://myapp.comあり、URL pathpos-extension-apiである場合、拡張機能は次のエンドポイントを使用します。

https://myapp.com/pos-extension-api/recommendations
https://myapp.com/pos-extension-api/recommendations_shown
https://myapp.com/pos-extension-api/action_taken

エンドポイントを作成します

アプリがアプリ拡張機能を介して Shopify と通信できるようにするには、アプリのプライマリドメインで標準化された API エンドポイントをホストする必要があります。これらのエンドポイントは、Shopify POS が関連するアクションを実行するときに呼び出されます。

エンドポイント要件

次の表は、POS 製品推奨アプリ拡張機能の要件を示しています。

ルール/懸念 タイプ/要件
API フォーマット REST
リクエストメソッド POST
コンテントタイプ JSON
セキュリティメカニズム セッショントークン。セッショントークンは、すべてのリクエストでAUTHORIZATIONヘッダーで提供されます。トークンを使用すると、リクエストが Shopify からのものであることを確認し、リクエストを行っているショップのドメインを提供できます。
プロトコル HTTPS (アプリドメインには有効な SSL 証明書が必要です)

リクエストへの対応

recommendationsエンドポイントへのすべてのリクエストは 3 秒以内に応答する必要があります。そうしないと、Shopify は通話をタイムアウトし、マーチャントにエラーを返します。これは、Shopify POS エクスペリエンスが遅くなるのを防ぐためです。

ベースエンドポイント

アプリは、POS カートアプリ拡張機能の 3 つの API エンドポイント呼び出しをサポートする必要があります。これを行うには、Shopify によって呼び出される完全な URL を形成するために、アプリのベース URL に追加されるパスセグメントを提供する必要があります。パートナーダッシュボードからアプリ拡張機能を構成することで、パスセグメントを追加できます。

アプリ拡張アーキテクチャ

POS 製品推奨拡張機能は、次の 3 つのエンドポイントに基づいています。

  • recommendations
  • recommendations_shown
  • action_taken

以下のすべてのエンドポイントの詳細については、POS 製品推奨拡張エンドポイントを参照してください。

推奨エンドポイント

Shopify POSrecommendationsは、次のアクションに応答してアプリのエンドポイントにリクエストを送信します。

  • 販売者は商品をカートに追加します。
  • カートの顧客が変わります。
  • マーチャントは製品の詳細を表示します。
  • マーチャントは顧客プロファイルを表示します。

リクエストには、Shopify にデータを返すときにアプリが使用できるサポートされているテンプレートが含まれています。アプリの応答には、選択したテンプレートと、ShopifyPOS でそのテンプレートにデータを入力するために必要なデータが含まれます。レコメンデーションエンドポイントへのリクエストは、レコメンデーションがマーチャントに表示されることを意味するものではありません。recommendations_shown要求は、そのイベントを通知するために送信されます。

以下は、recommendationsエンドポイントへのリクエストの例です。

{
  "request_uuid": "b6fb9cf1-92fd-4ef5-888e-cfe5fb795d75",
  "surface": "cart",
  "customer_id": 1234,
  "elements": [
    {
      "product_id": 456,
      "variant_id": null
    },
    {
      "product_id": 789,
      "variant_id": 333
    }
  ],
  "supported_templates": ["grouped_product_variant_list"],
  "locale": "en-us"
}

以下は、選択したテンプレートタイプと、カスタムタイトルでグループ化された製品またはバリアントのリストを含む応答の例です。回答は、「よく一緒に購入する」グループと「関連製品」グループの下で推奨事項を提供します。これらのグループのタイトルは、選択したものに設定できます。

{
  "template": "grouped_product_variant_list",
  "title": "3 recommended products",
  "groups": [
    {
      "title": "Frequently bought together",
      "elements": [
        {
          "product_id": 999,
          "variant_id": null
        },
        {
          "product_id": 987,
          "variant_id": 444
        }
      ]
    },
    {
      "title": "Related products",
      "elements": [
        {
          "product_id": 654,
          "variant_id": null
        }
      ]
    }
  ]
}

次の例は、返された応答がどのようにレンダリングされるかを示しています。

Recommendations Preview

Recommendations_shown エンドポイント

Shopify POSrecommendations_shownは、マーチャントがスマートグリッド、顧客プロファイル、または製品の詳細の推奨タイルをタップすると、アプリのエンドポイントにリクエストを送信します。

このリクエストは、マーチャントに表示される推奨事項の完全なリストに対応しています。

完全な推奨事項

リクエストには、元のリクエストとともにrecommendationsエンドポイントに送信されたものと同じrequest_uuid値が含まれています。

以下は、recommendations_shownエンドポイントへのリクエストの例です。

{
  "request_uuid": "b6fb9cf1-92fd-4ef5-888e-cfe5fb795d75"
}

このリクエストに応答する必要はありません。その目的は、あなたの推薦がマーチャントに示されるかどうか、そしていつ示されるかをあなたに知らせることです。

action_taken エンドポイント

Shopify POS はaction_taken、マーチャントが推奨製品の 1 つをカートに追加した場合、およびそのカートが販売を完了した場合に、アプリのエンドポイントにリクエストを送信します。

リクエストには、元のリクエストでrecommendationsエンドポイントに送信されたものと同じrequest_uuid値が含まれています。また、Shopify POS がカートに追加されている商品、または推奨商品が販売されたことを通知していることを示すactionフィールドも含まれています。

以下は、action_takenエンドポイントへのリクエストの例です。

{
  "request_uuid": "b6fb9cf1-92fd-4ef5-888e-cfe5fb795d75",
  "action": "added_to_cart",
  "elements": [
    {
      "product_id": 987,
      "variant_id": 444
    }
  ]
}

以下は、販売されている推奨製品を示すこのリクエストの別の例です。

{
  "request_uuid": "b6fb9cf1-92fd-4ef5-888e-cfe5fb795d75",
  "action": "order_created",
  "order_id": 654
}

このリクエストに応答する必要はありません。その目的は、推奨製品がカートに追加されて販売されたかどうか、またいつ販売されたかを通知することです。

検証を実装する

アプリ拡張リクエストが Shopify からのものであることを確認するには、AUTHORIZATIONすべてのリクエストのヘッダーで提供されているセッショントークンを検証します。詳細については、セッショントークンを使用した埋め込みアプリの認証を参照してください。

次のステップ

Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

Discussion

ログインするとコメントできます