メディアメッセージテンプレート

v2.25.4以降、メディアメッセージテンプレートが拡張され、標準メッセージテンプレートタイプ以上のコンテンツを受信者に送ることができるようになりました。componentsオブジェクトを使用して、メディア、ヘッダー、フッターを含めることができます。componentsオブジェクトを使うと、メッセージのtypeや、メッセージのparametersパラメーターを指定できます。

リクエスト

POST /v1/messages
{
  "to": "recipient_wa_id",
  "ttl": "P4D" | "3600" | 3600,
  "type": "template",
  "template": {
    "namespace": "your-namespace",
    "language": {
      "policy": "deterministic",
      "code": "your-language-and-locale-code"
    },
    "name": "your-template-name",
    "components": [
    {
      "type" : "header",
      "parameters": [
      # The following parameters code example includes several different possible header types, 
      # not all are required for a media message template API call.

      {
        "type": "text",
        "text": "replacement_text"
      }

      # OR

      {
        "type": "document",
        "document": {
          "id": "your-media-id",
          # filename is an optional parameter
          "filename": "your-document-filename"
        }
      }

      # OR

      {
        "type": "document",
        "document": {
          "link": "the-provider-name/protocol://the-url",
          # provider and filename are optional parameters
          "provider": {
            "name" : "provider-name"
          },
          "filename": "your-document-filename"
        }
      }

      # OR

      {
        "type": "image",
        "image": {
          "link": "http(s)://the-url",
          # provider is an optional parameter
          "provider": {
            "name" : "provider-name"
          },
        }
      }
    ]
    # end header
    },
    {
      "type" : "body",
      "parameters": [
        {
          "type": "text",
          "text": "replacement_text"
        },
        {
          "type": "currency",
          "currency" : {
            "fallback_value": "$100.99",
            "code": "USD",
            "amount_1000": 100990
          }
        },
        {
          "type": "date_time",
          "date_time" : {
            "fallback_value": "February 25, 1977",
            "day_of_week": 5,
            "day_of_month": 25,
            "year": 1977,
            "month": 2,
            "hour": 15,
            "minute": 33, #OR
            "timestamp": 1485470276
          }
        },
        {
        ...
        # Any additional template parameters
        }
      ] 
      # end body
      },
    ]
  }
}

パラメーター

名前必須かどうか説明

to

必須

受信者のWhatsApp ID

ttl

任意

TTL (有効生存期間)
詳しくは、上記のttlオブジェクトセクションをご覧ください。

type

任意

メディアテンプレートメッセージを送信するためtemplateに設定します。

template

必須(templateメッセージの場合)

すべてのテンプレート情報を含む

templateオブジェクト

名前必須かどうか説明

namespace

必須

テンプレートの名前空間
注:v2.27.8以降、現在のWhatsAppビジネスAPIクライアントに関連付けられた電話番号を所有するWhatsAppビジネスアカウントに関連付けられた名前空間にしなければなりません。そうでない場合、メッセージの送信は失敗します。

name

必須

テンプレートの名前

language

必須

テンプレートがレンダリングされる言語を指定します。
メディアテンプレートメッセージでは、deterministic言語ポリシーのみ有効です。
詳しくは、メッセージテンプレート — 言語のドキュメンテーションをご覧ください。

components

任意

メッセージのパラメーターを含んだ配列

componentsオブジェクト

名前必須かどうか説明

type

必須

componentタイプの説明。
値:headercontentfooter

parameters

任意

メッセージのコンテンツを含んだ配列

parametersオブジェクト

名前必須かどうか説明

type

必須

parameterタイプの説明。
値:textcurrencydate_timeimagedocument
メディアタイプ(imageおよびdocument)のフォーマットは、標準メディアメッセージで使用されるフォーマットと同じです。詳しくは、メディアのドキュメンテーションをご覧ください。注:現在メディアメッセージテンプレートでは、PDFドキュメントのみサポートされています。
currencyおよびdate_timeについて詳しくは、メッセージテンプレート — ローカライズ可能パラメーターのドキュメンテーションをご覧ください。注:templateメッセージのcurrencyパラメーターとdate_timeパラメーターでは、defaultの代わりにfallback_valueを使用します。上記のリクエストの例を参考にご覧ください。

応答

成功した場合の応答には、idを持つmessagesオブジェクトが含まれます。

{
  "messages": [{
    "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
  }]
}

失敗した場合の応答には、エラー文字列、エラーコード、その他の情報を含むエラーオブジェクトが含まれます。

テンプレートを受信できないアカウントにテンプレートが送信された場合、構成済みのWebhookサーバーに、エラーオブジェクトとして1026 (ReceiverIncapable)エラーが送信されます。

エラーについて詳しくは、エラーおよびステータスコードをご覧ください。