オンプレミスAPIを終了します。詳細と次世代クラウドAPIへの移行方法については、オンプレミスAPIの終了のドキュメントを参照してください。

商品を顧客とシェアする

ビジネスは、次のいくつもの方法で顧客と商品をシェアできます。

カタログメッセージ

カタログメッセージは、WhatsApp内に商品カタログ全体を表示することができる自由形式のメッセージです。

カタログメッセージには、お好きな商品サムネイルヘッダー画像、カスタム本文、固定テキストヘッダー、固定テキストサブヘッダー、[カタログを見る]ボタンが表示されます。

顧客が[カタログを見る]ボタンをタップすると、商品カタログがWhatsApp内に表示されます。

要件

自分のWhatsApp BusinessアカウントにリンクされたEコマースカタログ内に、Metaにアップロードされたインベントリーが必要です。

リクエストの構文

[WhatsApp Business電話番号] > [メッセージ]エンドポイントを使用してカタログメッセージを送信します。

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages

POST本文

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "<TO>",
  "type": "interactive",
  "interactive" : {
    "type" : "catalog_message",
    "body" : {
      "text": "<BODY_TEXT>"
    },
    "action": {
      "name": "catalog_message",
      "parameters": {
        "thumbnail_product_retailer_id": "<THUMBNAIL_PRODUCT_RETAILER_ID>"
      }
    },

    /* Footer object is optional */
    "footer": {
      "text": "<FOOTER_TEXT>"
  }
}

プロパティ

プレースホルダー説明値の例

<BODY_TEXT>

String

必須。


メッセージ本文に表示されるテキスト。


最大1024文字。

Hello! Thanks for your interest. Ordering is easy. Just visit our catalog and add items to purchase.

<FOOTER_TEXT>

String

任意。


メッセージフッターに表示されるテキスト。


60文字以内。

Best grocery deals on WhatsApp!

<THUMBNAIL_PRODUCT_RETAILER_ID>

String

必須。


アイテムのSKU番号。コマースマネージャでコンテンツIDとしてラベル付けされます。


この商品のサムネイルは、メッセージのヘッダー画像として使用されます。


parametersオブジェクトが省略された場合、カタログの最初の商品の商品画像が使用されます。

2lc20305pt

<TO>

String

顧客の電話番号。

16505551234

リクエストの例

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "16505551234",
  "type": "interactive",
  "interactive": {
    "type": "catalog_message",
    "body": {
      "text": "Hello! Thanks for your interest. Ordering is easy. Just visit our catalog and add items to purchase."
    },
    "action": {
      "name": "catalog_message",
      "parameters": {
        "thumbnail_product_retailer_id": "2lc20305pt"
      }
    },
    "footer": {
      "text": "Best grocery deals on WhatsApp!"
    }
  }
}'

応答の例

{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "16505551234",
      "wa_id": "16505551234"
    }
  ],
  "messages": [
    {
      "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBI0ODVEREUwQzEzQkVBRjQ1RUUA"
    }
  ]
}

カタログテンプレートメッセージ

カタログテンプレートメッセージは、タップするとWhatsApp内に商品カタログを表示するボタンを含むテンプレートメッセージです。

カタログテンプレートメッセージを送信するには、カタログテンプレートが必要です。カタログテンプレートを作成する方法や、カタログテンプレートをテンプレートメッセージで送信する方法について詳しくは、カタログテンプレートのドキュメントをご覧ください。

カタログリンクメッセージ

ビジネスは、wa.meリンクを組み立てて、それを標準のテキストメッセージに含めることによって、商品カタログ全体へのリンクを送信することができます。テキストメッセージを送信する際、ビジネスは、任意でpreview_urltrueに設定することにより、メッセージのbody文字列内の任意のURLの商品カタログサムネイルセットが、メッセージによってレンダリングされるようにすることができます。

ビジネスがカタログを無効にしている場合、カタログリンクメッセージ内のwa.meのリンクと[カタログを表示]ボタンをタップすると、カタログリンクが無効というメッセージが表示されます。

wa.meリンクを組み立てるには、次の文字列の末尾に、ビジネスのビジネス電話番号(国コードを含む)を付加してください。

https://wa.me/c/

以下はその例です。

https://wa.me/c/15555455657

商品メッセージ

複数商品メッセージと単一商品メッセージのメッセージタイプは、いずれもinteractiveです。

複数商品メッセージの例:
単一商品メッセージの例:
ユーザーが[ショッピングを開始]をクリックするとトリガーされるメニュー:
商品詳細ページの例:

概要

複数商品メッセージと単一商品メッセージを受け取るユーザーが実行できる主なアクションには、次の3つがあります。

  1. 商品を表示する: 顧客は、商品リストまたは単一商品を表示することができます。ユーザーが特定の商品をクリックすると、その商品の最新情報が取得され、商品詳細ページ(PDP)形式でその商品が表示されます。現在のところPDPでサポートされるのは、商品画像だけです。商品に追加された動画やGIFは、PDPに表示されません。
  2. カートに商品を追加する: ユーザーは商品を自分のカートに追加することや、数量をリストから直接、または商品詳細ページから変更することができます。ユーザーがショッピングカートに商品を追加すると、その商品の最新情報が取得されます。いずれかの商品の状態変更があると、「カート内の商品が1つ以上更新されました」というダイアログが表示されます。詳しくは、商品の最新情報をご覧ください。カートは、ビジネスに送信されるまでは、ビジネスと顧客の間のチャットスレッドに保持されます。詳しくは、ショッピングカートエクスペリエンスをご覧ください。
  3. ショッピングカートをビジネスに送信する: 必要な商品をすべて追加したら、顧客は、メッセージをやり取りしているビジネスにカートを送信することができます。その後ビジネスは、配送情報のリクエストや支払いオプションの提供など、次のステップを定義することができます。

顧客の複数のデバイスが同じWhatsAppアカウントにリンクされている場合、デバイス間で複数商品メッセージと単一商品メッセージが同期されます。しかし、ショッピングカートは、デバイスごとにローカルになります。詳しくは、ショッピングカートエクスペリエンスをご覧ください。

現在のところ、各プラットフォームで受け取れるメッセージのタイプは、以下のとおりです。

  • iOS: 2.21.100 (複数商品メッセージ)と2.21.210 (単一商品メッセージ)。
  • Android: 2.21.9.15 (複数商品メッセージ)と2.21.19 (単一商品メッセージ)。
  • ウェブ: これらの機能をサポートするウェブクライアントがリリースされました。

受信者のアプリバージョンが複数商品メッセージか単一商品メッセージに対応していない場合、使われているWhatsAppのバージョンが古いためにメッセージを受信できなかったことを説明するメッセージが送られます。ビジネスの側も、受信者が使っているWhatsAppのバージョンが古いためにメッセージを配信できなかったことを示すwebhook通知を受け取ります。

メッセージについて予期される動作

複数商品メッセージと単一商品メッセージについて、可能な操作は次のとおりです。

  • 別のユーザーに転送する。
  • 同じチャットスレッド内でユーザーが再び開く。

カタログメッセージ、複数商品メッセージ、単一商品メッセージで行えない操作は次のとおりです。

  • 通知として送信する。それらは既存のチャットスレッドの一部としてのみ送信できます。

商品のアップデート

ビジネスによる、カタログ内の商品のプロパティの更新が必要になることがあります。更新されるプロパティに応じて、その商品をメンションするメッセージは、次のように処理されます。

アップデートされたプロパティ更新処理

商品の価格、タイトル、説明、画像。

  1. あるビジネスが、商品Aを含む複数商品メッセージまたは単一商品メッセージを送信します。
  2. そのビジネスが、自分のカタログにある商品Aのプロパティを更新します。
  3. その商品が表示されている画面は、顧客のクライアントがサーバーからの変更を認識した時点ですぐに更新されます。

在庫状況の変更

  1. あるビジネスが、商品Bを含む複数商品メッセージまたは単一商品メッセージを顧客に送信します。
  2. このビジネスが、在庫にある商品Bを全部販売します。その後、ビジネスは、商品Bが在庫切れになったという情報でカタログを更新します。
  3. 顧客がすでに商品Bをカートに追加していた場合、商品はカートから削除されます。ショッピングカートから、「カート内の1つ以上の商品が更新されました」というダイアログが表示されます。
  4. 顧客が商品Bをまだカートに追加していない場合、複数商品メッセージまたは単一商品メッセージに、その商品が在庫切れであることが示されるようになります。

ショッピングカートエクスペリエンス

顧客は、いくつかの商品を見た後、それらをショッピングカートに追加して、カートをビジネスに送ることができます。WhatsAppでの商取引のため、ショッピングカートには次の特徴があります。

  • 特定のデバイスにおける個人/ビジネスチャットスレッドごとに固有: 顧客とビジネスの間のチャットスレットごとに作成されるカートは1つだけであり、複数のデバイス間でカートが共有されることはありません。一度カートが送られたら、顧客はそのビジネス用の別のカートを開いて処理を再開することができます。
  • 有効期限なし: カートは、ビジネスに送信されるまでチャットスレッド内に残ります。送信されると、カートはクリアされます。

顧客は、カタログのそれぞれの商品をショッピングカートに最大99個まで追加できますが、カートに追加できる商品の種類の数に制限はありません。

送信が完了したカートは編集できません。新しい商品を必要とする、または注文を変更したい場合は、新しいカートを送信できます。ビジネスから顧客にカートを送信することはできません。

ショッピングカートエクスペリエンスの例と商品状態の変更に対して予期される動作。

おすすめする理由

複数の商品に関するメッセージと単一の商品に関するメッセージは、いずれも、簡単かつパーソナライズされたユーザーエクスペリエンスとして最適です。ビジネスのインベントリー全体を表示するのではなく、顧客に最も関連した商品のサブセットを案内することにより、より良いエクスペリエンスを提供します。

シンプルで効率的

顧客が何を探しているのかを素早く察知するために、これらの機能を、自然言語処理、テキスト検索やリストメッセージ、返信ボタンなどのナビゲーションツールと組み合わせて使うと効果的です。

個人設定

顧客や状況に合わせてパーソナライズできるようにするため、動的にデータが設定されます。例えば、顧客が最も頻繁に注文する商品の複数商品メッセージを表示することができます。

ビジネスの成果

テストビジネスにおいて、注文促進のための高効率チャネルでは、送信された複数商品メッセージからカート受信へのコンバージョンが平均7%でした。

テンプレートなし

インタラクティブなメッセージに、テンプレートや事前承認は必要ありません。このようなメッセージはリアルタイムで生成され、常にインベントリーからの商品の最新の詳細、価格、在庫水準が反映されます。

使うタイミング

複数商品メッセージは、ビジネスのインベントリーの特定のサブセットに顧客を誘導するのに最適です。例えば、次のような場合です。

  • 会話的な方法でのショッピング。例えば、検索機能を使うことによって、顧客がショッピングリストを入力できるようにし、その応答として複数商品メッセージを送信することが考えられます。
  • 特定のカテゴリへのナビゲーション。例えば、フィットネスアパレル。
  • パーソナライズされたオファーやおすすめ。
  • 過去に注文した商品の再注文。例えば、ユーザーは、30個未満の商品の定期的なテイクアウト注文を再注文することができます。

単一商品メッセージは、ビジネスのインベントリーにある特定の1つの商品に顧客を誘導したり、限られたオプションのセットから迅速な返信を実現したりするのに最適です。例えば、次のような場合です。

  • 顧客の特定のリクエストに応答する場合。
  • おすすめの提供。
  • 過去の商品の再注文。

どちらの機能も、ヒューマンエージェントフローの一部として使うことができますが、そのためには、ヒューマンエージェントが複数商品メッセージまたは単一商品メッセージをスレッド内に生成するためのツールを構築する必要があります。

スタートガイド

各メッセージを送信する前に、/contactsノードに対する呼び出しにより、受信者のWhatsApp IDを取得する必要があります。

Webhooksを設定して、メッセージステータスとインバウンドメッセージの通知を受け取ることをおすすめします。そうすれば、メッセージが送信されたかどうかや、顧客からの応答をトラッキングすることができます。

ステップ1: interactiveオブジェクトを組み立てる

単一商品メッセージ

単一商品メッセージを送信するには、以下のコンポーネントにより、product型のinteractiveオブジェクトを組み立てます。

オブジェクト説明

body

任意。

body(本文)オブジェクト。bodyオブジェクトの全オプションを確認してください

footer

任意。

footer(フッター)オブジェクト。footerオブジェクトの全オプションを確認してください

action

必須。

action(アクション)フィールドには、以下のものが含まれていなければなりません。

  • catalog_id: このメッセージのために使うカタログのID。このIDは、コマースマネージャから取得できます。
  • product_retailer_id: ユニークな商品ID。

actionオブジェクトの全オプションを確認してください

最終的に、interactiveオブジェクトは次のようになります。

"interactive": {
    "type": "product",
    "body": {
      "text": "text-body-content"
    },
    "footer": {
      "text": "text-footer-content"
    },
    "action": {
      "catalog_id": "catalog-id",
      "product_retailer_id": "product-SKU-in-catalog"
    }
}

複数商品メッセージ

複数商品メッセージを送信するには、以下のコンポーネントにより、product_list型のinteractiveオブジェクトを組み立てます。

オブジェクト説明

header

必須。

ヘッダーのtypeは、textに設定されていなければなりません。希望するコンテンツのtextオブジェクトを必ず追加してください。headerの利用可能な全フィールドを確認してください

body

必須。

bodyオブジェクト。bodyオブジェクトの全オプションを確認してください

footer

任意。

footerオブジェクト。footerオブジェクトの全オプションを確認してください

action

必須。

action(アクション)フィールドには、以下のものが含まれていなければなりません。

  • catalog_id: このメッセージのために使うカタログのID。このIDは、コマースマネージャから取得できます。
  • sections: section(セクション)オブジェクトの配列。1つ以上のセクションを含める必要があります。

各セクション内には、以下のものを含めることができます。

  • title: セクションを複数使う場合は、セクションごとにタイトルを含めてください。
  • product_items: 表示する商品オブジェクトの配列。

各商品オブジェクトには、ユニークな商品IDに対応するproduct_retailer_idが含まれています。このIDは、コマースマネージャから取得できます。actionオブジェクトの全オプションを確認してください

最終的に、interactiveオブジェクトは次のようになります。

"interactive": 
    {
    "type": "product_list",
    "header":{
       "type": "text",
        "text": "text-header-content"
     },
     "body":{
        "text": "text-body-content"
      },
     "footer":{
        "text":"text-footer-content"
     },
     "action":{
        "catalog_id":"catalog-id",
        "sections": [
             {
             "title": "the-section-title",             
             "product_items": [
                  { "product_retailer_id": "product-SKU-in-catalog" },
                  { "product_retailer_id": "product-SKU-in-catalog" },
                            ...
              ]},
              {
              "title": "the-section-title",
              "product_items": [
                 { "product_retailer_id": "product-SKU-in-catalog" }
                           ...
              ]},
               ...
       ]
     },  
    }

不足している商品

上記のAPI呼び出しで提供される商品の中に、ビジネスのFacebookカタログの商品と一致するものがない場合、エラーメッセージが送信され、そのユーザーには複数商品メッセージも単一商品メッセージも送信されません。

複数商品メッセージの場合、商品リストの少なくとも1つの商品がビジネスのFacebookカタログの商品と一致している必要があります。この場合、

  • メッセージは正常に送信されます。
  • 一致しない商品は削除され、
  • カタログを更新するよう求めるエラーメッセージがビジネスに送信されます。

ステップ2: 共通のメッセージパラメーターを追加する

interactiveオブジェクトが完成したら、メッセージを構成するその他のパラメーターとして、recipient_typetotypeを追加します。typeを必ずinteractiveに設定してください。

{
  "recipient_type": "individual",
  "to" : "whatsapp-id", // WhatsApp ID of the recipient
  "type": "interactive",
  "interactive":{
    // The interactive object  
   }
  }

すべてのメッセージタイプに共通するパラメーターについては、こちらをご覧ください。

ステップ3: /messagesに対してPOST呼び出しを発行する

ステップ1と2で構成したJSONオブジェクトを使って、/messagesエンドポイントに対してPOST呼び出しを行います。メッセージが正常に送信されると、次の応答を受け取ります。

{
  "messages": [{
    "id": "{message-id}"
  }]
  }

複数商品テンプレートメッセージ

複数商品テンプレートメッセージを送信するには、複数商品メッセージテンプレートが必要です。それらのテンプレートを作成する方法、テンプレートメッセージの中でそれらを送信する方法について詳しくは、複数商品メッセージテンプレートのドキュメントをご覧ください。