インバウンドWebhookのお知らせ

このドキュメントでは、アプリ設定で設定したWebhook URLに配信できるインバウンドのお知らせのいくつかのタイプについて説明します。

インバウンドメッセージのフィールド

受信したメッセージのWebhookのお知らせはmessagesオブジェクトの内部に含まれています。このセクションの表では、インバウンドのお知らせのフィールドについて説明します。

名前説明

contacts

型:連絡先のプロフィール情報の配列

連絡先に関するすべての情報を提供します。「contactsオブジェクト」をご覧ください。このオブジェクトは、SMS、連絡先メッセージ、および位置情報メッセージにのみ適用されます。現在はメディアメッセージではサポートされていません。また、システムメッセージには適用されません。


contactsの内部で、profileオブジェクトがネストしています。

messages

型:任意の型のメッセージオブジェクトの配列

受信メッセージに関するすべての情報を提供します。「messagesオブジェクト」をご覧ください。


messagesの内部で、次のオブジェクトがネストしています: contextidentitymediareferraltextlocationcontactssystem

contactsオブジェクト

contactsオブジェクトは、連絡先に関するすべての情報を提供します。

このオブジェクトは、SMS、連絡先メッセージ、および位置情報メッセージにのみ適用されます。現在はメディアメッセージではサポートされていません。また、システムメッセージには適用されません。

名前説明

profile

型:プロフィールオブジェクト

送信者のプロフィール情報が含まれています。

wa_id

型:文字列

連絡先のWhatsApp ID。

profileオブジェクト

このオブジェクトには、送信者のプロフィール情報が含まれています。

名前説明

name

型:文字列

任意。

送信者のプロフィール上の名前が含まれています。

messagesオブジェクト

messagesオブジェクトは、受信メッセージに関するすべての情報を提供します。

名前説明

context

型:文字列

任意。

このオブジェクトが含まれるのは、利用者がいずれかのメッセージに返信した場合のみです。送信者IDやメッセージIDなど、元のメッセージの内容に関する情報が含まれます。詳細は、「contextオブジェクト」をご覧ください。

from

型:文字列

送信者のWhatsApp ID。

id

型:文字列

メッセージID。

identity

型:IDオブジェクト。

任意。
受信メッセージの暗号化解除に使用するユーザーIDに関する情報が含まれています。identityオブジェクトを確認します。


このオブジェクトは、アプリ設定show_security_notificationsパラメーターをtrueに設定したときにだけ含まれます。

timestamp

型:文字列

メッセージの受信タイムスタンプ。

type

型:文字列

メッセージ型。
使用できる値は以下のとおりです:audiocontactsdocumentimagelocationtextunknownvideovoice

audiocontactsdocumentimagelocationsystemtextvideovoiceの各オブジェクト

型:受信したメッセージに関する詳細情報を提供するメッセージ型オブジェクト。

メッセージの内容。詳しくは、「mediaオブジェクトのフィールド」をご覧ください。

referral

型:リファーラルオブジェクト

任意。

このオブジェクトは、WhatsApp誘導を行いメッセージをビジネスに送信する広告をユーザーがクリックすると表示されます。「リファーラルプロパティ」をご覧ください。

system

型:システムオブジェクト

システム変更のお知らせ。

contextオブジェクト

contextオブジェクトは、いずれかのメッセージに対する利用者の返信メッセージに含まれています。返信のコンテキストを提供することが目的です。

名前説明

from

型:文字列

元のメッセージの送信者のWhatsApp ID。

id

型:文字列

元のメッセージのメッセージID。

identityオブジェクト

identityオブジェクトは、ユーザーのIDに関するすべての情報を提供します。

アプリ設定show_security_notificationsパラメーターをtrueに設定したときにだけ、すべての受信メッセージに適用されます。

名前説明

acknowledged

型:文字列

最後のuser_identity_changedシステム通知の確認の状態。

created_timestamp

型:Int

WhatsApp Business APIクライアントによりユーザー変更の可能性が検出された時点のタイムスタンプ。

hash

型:文字列

最後のuser_identity_changedシステム通知のID。

textオブジェクト

textオブジェクトは、お知らせでSMSを示すときに、SMSの本文を提供します。

名前説明

body

型:文字列

メッセージテキスト。

locationオブジェクト

locationオブジェクトは、ユーザーの静的な位置情報のお知らせを受信したときに、位置情報の詳細を提供します。

名前説明

latitude

型:数値

送信された位置情報の緯度。

longitude

型:数値

送信された位置情報の経度。

address

型:文字列

この場所の住所。

name

型:文字列

この場所の名前。

url

型:文字列

ユーザーが位置情報をダウンロードしたウェブサイトのURL。

リアルタイム位置情報タイプのインバウンドメッセージは現在サポートされていません。

contactsオブジェクト

ユーザーの連絡先情報のお知らせを受信した場合、contactsオブジェクトから連絡先情報の詳細が提供されます。

このフィールドは、上記にリストしたcontactsオブジェクトとは異なります。

名前説明

addresses

型:配列

連絡先の詳細な住所。このフィールドには、streetcitystatezipcountrycountry_codetypeの各フィールドを含められます。

birthday

型: YYYY-MM-DD形式の文字列

連絡先の誕生日。

contact_image

型:Base64エンコードの画像

Base64エンコードの連絡先画像(JPEG形式)。

emails

型:配列

連絡先メールアドレス。このフィールドには、emailパラメーターとtypeパラメーターを含められます。

ims

型:配列

メッセージング連絡先情報。このフィールドには、serviceパラメーターとuser_idパラメーターが含まれます。

name

型:配列

連絡先のフルネーム。このフィールドには、first_namemiddle_namelast_nameformatted_namename-prefixname_suffixの各パラメーターを含められます。

org

型:配列

組織の連絡先情報。このフィールドには、companydepartmenttitleの各パラメーターを含められます。

phones

型:配列

連絡先の電話番号。このフィールドには、phonewa_idtypeの各パラメーターを含められます。

urls

型:配列

連絡先URL。このフィールドには、urlパラメーターとtypeパラメーターを含められます。

media (image | document | audio | video | voice | sticker)オブジェクト

メディア付きのメッセージを受信すると、WhatsApp Business APIクライアントはそのメディアをダウンロードします。メディアがダウンロードされた後、Webhookにお知らせが送信されます。このメッセージにはメディアオブジェクトを識別する情報が含まれており、その情報を使ってオブジェクトを見つけ、ダウンロードすることができます。

名前説明

caption

型:文字列

任意。指定した場合にのみ存在します。

メディア向けに提供されたキャプション。

file

型:文字列

このパラメーターは廃止されました。

メディアボリューム上の絶対的なファイル名と場所。

filename

型:文字列

送信者のデバイスでのファイル名。documentメディアメッセージにのみ存在します。

id

型:文字列

メディアID。クライアントにローカルに保存されたメディアを削除するときに使用できます。

metadata

型:メタデータオブジェクト

stickerメディアに関するメタデータ。

mime_type

型:文字列

メディアのMIMEタイプ。

sha256

型:文字列

チェックサム。

systemオブジェクト

システム変更のお知らせは、systemオブジェクトに含めて送信されます。

名前説明

body

型:文字列

システムイベントメッセージ。

referralプロパティ

WhatsApp Business APIのバージョン2.33以降、インバウンドメッセージのお知らせには、referralという追加プロパティが含まれる場合があります。このセクションは、WhatsApp誘導を行いメッセージをビジネスに送信する広告をユーザーがクリックすると、お知らせに含まれるようになります。プロセスは次のようになります。

  1. WhatsApp誘導コールトゥアクションがある広告をユーザーがクリックします。
  2. ユーザーはWhatsAppにリダイレクトされ、広告を展開しているビジネスにメッセージを送信します。
  3. ユーザーがビジネスにメッセージを送信します。
  4. 広告を展開しているビジネスは、referralプロパティを含むインバウンドメッセージのお知らせを受け取ります。そのプロパティは、メッセージをトリガーした広告についての追加のコンテキストを提供します。この情報をすべて知ることで、ビジネスはユーザーメッセージに適切に返信できます。

referralプロパティには、次の型のメッセージを含められます。

  • テキスト
  • 位置情報
  • 連絡先
  • 画像
  • 動画
  • ドキュメント
  • ボイス
  • スタンプ

referralを含むインバウンド画像メッセージのお知らせの例を次に示します。次の例では、動画を含む広告をユーザーがクリックしています。

{
   "messages":[{
      "from":"12345678",
      "id":"ABGGFlA5FpafAgo6tHcNmNjXmuSf",
      "image":{
         "id":"b1c68f38-8734-4ad3-b4a1-ef0c10d683",
         "mime_type":"image/jpeg",
         "sha256":"29ed500fa64eb55fc19dc4124acb300e5dcca0f822a301ae99944db"
         "caption": "Check out my product!",
      },
      "timestamp":"1521497954",
      "type":"image",
      "referral" : {
        "headline": "Our new product",
        "body" : "This is a great product",
        "source_type": "<SOURCE_TYPE>",
        "source_id": "<SOURCE_ID>",
        "source_url": "<SOURCE_URL>", //for the moment, this will always be a Facebook owned domain
        "video": {
          "id": "e144be57-12b1-4035-a520-703fcc87ef45",
      }     
    }
  }]
}

referralオブジェクト

WhatsApp誘導を行いメッセージをビジネスに送信する広告をユーザーがクリックすると、お知らせに含まれるようになります。このオブジェクトは広告の情報を含みます。

名前説明

headline

型:文字列

メッセージを生成した広告で使用されている見出し。

body

型:文字列

メッセージを生成した広告の本文。

source_type

型:文字列

広告のソースのタイプ。現在、サポートされている値はadpostです。

source_id

型:文字列

広告または投稿のFacebook ID。

source_url

型:文字列

広告にリンクしたURL。このURLを開くと、ユーザーが表示した広告に移動します。

imagevideo

型:メディアオブジェクト

任意。

ユーザーが表示およびクリックした画像または動画。skip_referral_media_downloadアプリ設定がtrueに設定されている場合、このオブジェクトは表示されません。詳しくは、「アプリ設定」をご覧ください。

referral media (video | image)オブジェクト

広告で使用されたメディア。sha256mime_typeは表示されていません。mime_typeはメディアがダウンロードされる際に表示される場合があります。

名前説明

id

型:文字列

メディアID。このフィールドは、クライアントにローカルに保存されたメディアを削除するときに使用できます。

インバウンドメッセージのお知らせ

ビジネスがメッセージを受信したときにお知らせを受信します。以下の「messagesオブジェクト」セクションでは、受信メッセージに関して受け取る可能性があるすべての情報について説明します。

このセクションでは、SMS、位置情報、連絡先、転送されたメッセージ、不明のメッセージの例を示します。

例:受信したSMS

以下は、顧客から受信したSMSの例です。詳しくは、後述のtextオブジェクトのセクションをご覧ください。

{
  "contacts": [ {
    "profile": {
        "name": "Kerry Fisher"
    },
    "wa_id": "16315551234"
  } ],
  "messages":[{
    "from": "16315551234",
    "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",
    "timestamp": "1518694235",
    "text": {
      "body": "Hello this is an answer"
    },
    "type": "text"
  }]
} 

例:受信した静的な位置情報メッセージ

以下は、顧客から受信した、顧客の静的な位置情報を示すメッセージの例です。詳しくは、後述のlocationオブジェクトのセクションをご覧ください。

{
  "contacts": [ {
    "profile": {
        "name": "Kerry Fisher"
    },
    "wa_id": "16315551234"
  } ],
 "messages":[{
   "from":"16315551234",
   "id":"ABGGFlA5FpafAgo6tHcNmNjXmuSf",
   "location":{
      "address":"Main Street Beach, Santa Cruz, CA",
      "latitude":38.9806263495,
      "longitude":-131.9428612257,
      "name":"Main Street Beach",
      "url":"https://foursquare.com/v/4d7031d35b5df7744"},
   "timestamp":"1521497875",
   "type":"location"
  }]
} 

例:受信した連絡先メッセージ

以下は、顧客から受信した、顧客の連絡先情報を示すメッセージの例です。詳しくは、後述のcontactsオブジェクトのセクションをご覧ください。

{
    "contacts": [ {
        "profile": {
          "name": "Kerry Fisher"
        },
        "wa_id": "16315551234"
    } ],
    "messages": [
        {
            "contacts": [
                {
                    "addresses": [
                        {
                            "city": "Menlo Park",
                            "country": "United States",
                            "country_code": "us",
                            "state": "CA",
                            "street": "1 Hacker Way",
                            "type": "WORK",
                            "zip": "94025"
                        }
                    ],
                    "birthday": "2012-08-18",
                    "contact_image": "/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABgAGADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1NLloxyc0j3bNUHDGgoCMVNkBbhutvVqc9yGHNZ3kOW4Wn/ZnQZzSsgLLXAA61Xn1O2t4zLcyJHGvV3OAKMADmvOviLq9m11a2bO/l2xLzoqnliF2j9f1NTLRXHGHM7Hb2vivSL+8e0s7yKaVeyHg/Q9D+FXWuHPOzivFodT0WZkeF44bheVdE2EH+Rr2+zuVuNPt7gqh86JX+TkcjPFTCdy6lNQ2dyr5+G5WpRe4HTFWWSOQfwioZbCIn5XNaXRmQPegjmqrKLh+...",
                    "emails": [
                        {
                            "email": "kfish@fb.com",
                            "type": "WORK"
                        }
                    ],
                    "ims": [
                        {
                            "service": "AIM",
                            "user_id": "kfish"
                        }
                    ],
                    "name": {
                        "first_name": "Kerry",
                        "formatted_name": "Kerry Fisher",
                        "last_name": "Fisher"
                    },
                    "org": {
                        "company": "Facebook"
                    },
                    "phones": [
                        {
                            "phone": "+1 (940) 555-1234",
                            "type": "CELL"
                        },
                        {
                            "phone": "+1 (650) 555-1234",
                            "type": "WORK",
                            "wa_id": "16505551234"
                        }
                    ],
                    "urls": [
                        {
                            "url": "https://www.facebook.com",
                            "type": "WORK"
                        }
                    ]
                }
            ],
            "from": "16505551234",
            "id": "ABGGFlA4dSRvAgo6C4Z53hMh1ugR",
            "timestamp": "1537248012",
            "type": "contacts"
        }
    ]
}

例:転送メッセージの受信

v2.29.1以降、受信したメッセージが転送されたものであるか、頻繁に転送されたものであるかが分かるようになりました。

転送メッセージ

{
    "contacts": [{
            "profile": {
                "name": "Kerry Fisher"
            },
            "wa_id": "16315551234"
    }],
    "messages": [{
            "context": {
                "forwarded": true
            },
            "from": "16315558011",
            "id": "ABGGFmkiWVVPAgo-sOGh7pv13wVJ",
            "text": {
                "body": "Party at Dotty's tonight!"
            },
            "timestamp": "1593068329",
            "type": "text"
    }]
}

頻繁に転送されるメッセージ

{
    "contacts": [{
            "profile": {
                "name": "Kerry Fisher"
            },
            "wa_id": "16315551234"
    }],
    "messages": [{
            "context": {
                "frequently_forwarded": true
            },
            "from": "16315558011",
            "id": "ABGGFmkiWVVPAgo-sBTHfS3swNIl",
            "timestamp": "1593068225",
            "type": "video",
            "video": {
                "id": "e144be57-12b1-4035-a520-703fcc87ef45",
                "mime_type": "video/mp4",
                "sha256": "02c4e68a4f0d6af5ec6ef02120e20d15f520a4dd473b535abec1aab175c4e8b9"
            }
    }]
}

例:受信した不明なメッセージ

unknownコールバックのお知らせを受信できるようになりました。以下は、顧客から受信したサポートされていないメッセージタイプの例です。

{
	 "contacts": [{
		"profile": {
			"name": "Kerry Fisher"
		},
		"wa_id": "16315551234"
	}],
	"messages": [{
		"errors": [{
			"code": 501,
			"details": "Message type is not currently supported",
			"title": "Unknown message type"
		}],
		"from": "16315551234",
		"id": "ABGGFRBzFymPAgo6N9KKs7HsN6eB",
		"timestamp": "1531933468",
		"type": "unknown"
	}]
}

例:ビジネスがセキュリティのお知らせの受信をオプトインしたときに受信したインバウンドメッセージ

アプリ設定show_security_notificationsパラメーターがtrueに設定されている場合、すべてのインバウンドメッセージのお知らせに、identityオブジェクトの内部に含まれるユーザーのIDに関する次の情報が含まれます。

{
  "contacts": [{
		"profile": {
			"name": "Kerry Fisher"
		},
		"wa_id": "16315551234"
	}],
   "messages": [{
        "from": "16315553601",
        "id": "ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh",
        "identity": {
            "acknowledged": true,
            "created_timestamp": 1602532300000,
            "hash": "Sjvjlx8G6Z0="
        },
        "text": {
            "body": "Hi from new number 3601"
        },
        "timestamp": "1602532300",
        "type": "text"
    }]
}


例:クイック返信ボタンのクリックからのインバウンドメッセージ

顧客が[クイック返信]ボタンをクリックすると、応答が送信されます。コールバックフォーマットの例を次に示します。注: 顧客がボタンをクリックせずに、インタラクティブメッセージに返信するか、単にメッセージを送信する場合もあります。このタイプのシナリオも十分サポートできるようにしてください。詳しくは、Webhooksに関するドキュメントもご覧ください。
{
    "contacts": [
        {
            "profile": {
                "name": "Kerry Fisher"
            },
            "wa_id": "16505551234"
        }
    ],
    "messages": [
        {
            "button": {
                "payload": "No-Button-Payload",
                "text": "No"
            },
            "context": {
                "from": "16315558007",
                "id": "gBGGFmkiWVVPAgkgQkwi7IORac0"
            },
            "from": "16505551234",
            "id": "ABGGFmkiWVVPAgo-sKD87hgxPHdF",
            "timestamp": "1591210827",
            "type": "button"
        }
    ]
    # If there are any errors, an errors field (array) will be present        
    "errors": [ { ... } ]
}

インバウンドメディアメッセージのお知らせ

メディア付きのメッセージを受信すると、WhatsApp Business APIクライアントはそのメディアをダウンロードします。メディアがダウンロードされた後、Webhookにお知らせが送信されます。このお知らせにはメディアオブジェクトを識別する情報が含まれており、その情報を使ってオブジェクトを見つけ、取得することができます。メディアを取得するには、メディアのidとともにメディアエンドポイントを使用します。

このセクションでは、メディア付きで受信したメッセージの例を示します。

例:受信した画像付きのメッセージ

以下は、画像を含むインバウンドメッセージの例です。他のメディアタイプについて詳しくは、以下のmediaオブジェクトセクションをご覧ください。

{
	"messages": [{
		"from": "16315551234",
		"id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",
		"image": {
			"file": "/usr/local/wamedia/shared/b1cf38-8734-4ad3-b4a1-ef0c10d0d683",
			"id": "b1c68f38-8734-4ad3-b4a1-ef0c10d683",
			"mime_type": "image/jpeg",
			"sha256": "29ed500fa64eb55fc19dc4124acb300e5dcc54a0f822a301ae99944db",
			"caption": "Check out my new phone!"
		},
		"timestamp": "1521497954",
		"type": "image"
	}]
}

メディアメッセージのcaptionフィールドは任意です。このフィールドが含まれるのは、ユーザーがキャプションを設定した場合のみです。

例:受信したドキュメント付きのメッセージ

以下は、ドキュメントを含むインバウンドメッセージの例です。他のメディアタイプについて詳しくは、以下のmediaオブジェクトセクションをご覧ください。

{
	"messages": [{
		"from": "16315551234",
		"id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",
		"timestamp": "1522189546",
		"type": "document",
		"document": {
			"caption": "80skaraokesonglistartist",
			"file": "/usr/local/wamedia/shared/fc233119-733f-49c-bcbd-b2f68f798e33",
			"id": "fc233119-733f-49c-bcbd-b2f68f798e33",
			"mime_type": "application/pdf",
			"sha256": "3b11fa6ef2bde1dd14726e09d3edaf782120919d06f6484f32d5d5caa4b8e"
		}
	}]

例:受信したボイスメッセージ付きのメッセージ

以下は、ボイスメッセージを含むインバウンドメッセージの例です。他のメディアタイプについて詳しくは、以下のmediaオブジェクトセクションをご覧ください。

{
    "messages":[{
        "from": "16315551234",
        "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",
        "timestamp": "1521827831",
        "type": "voice",
        "voice": {
            "file": "/usr/local/wamedia/shared/463e/b7ec/ff4e4d9bb1101879cbd411b2",
            "id": "463eb7ec-ff4e-4d9b-b110-1879cbd411b2",
            "mime_type": "audio/ogg; codecs=opus",
            "sha256": "fa9e1807d936b7cebe63654ea3a7912b1fa9479220258d823590521ef53b0710"}
  }]
}

例:スタンプ付きメッセージの受信

以下は、スタンプを含むインバウンドメッセージの例です。他のメディアタイプについて詳しくは、以下のmediaオブジェクトセクションをご覧ください。

{
  "messages":[{
        "from": "16315551234",
        "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",
        "timestamp": "1521827831",
        "type": "sticker",
        "sticker": {
            "id": "b1c68f38-8734-4ad3-b4a1-ef0c10d683",
            "metadata": {
                "sticker-pack-id": "463eb7ec-ff4e-4d9b-b110-1879cbd411b2",
                "sticker-pack-name" : "Happy New Year",
                "sticker-pack-publisher" : "Kerry Fisher",
                "emojis": ["🐥", "😃"],
                "ios-app-store-link" : "https://apps.apple.com/app/id3133333",
                "android-app-store-link" : "https://play.google.com/store/apps/details?id=com.example",
                "is-first-party-sticker" : 0 | 1 # integer 
            },
            "mime_type": "image/webp",
            "sha256": "fa9e1807d936b7cebe63654ea3a7912b1fa9479220258d823590521ef53b0710"
        }  
    }]
}

送信済みメッセージへのインバウンド返信

ユーザーはWhatsAppで特定のメッセージに応答できます。ビジネスがメッセージ返信のコンテキストを理解できるように、contextオブジェクトが用意されています。このcontextオブジェクトは、顧客が返信したメッセージのidと、元のメッセージの送信者のWhatsApp IDを提供します。

詳しくは、「メッセージへの返信」をご覧ください。

例:メッセージに対する顧客の返信

以下は、送信したメッセージへの返信であるインバウンドメッセージの例です。詳しくは、後述のcontextオブジェクトのセクションをご覧ください。

{
  "contacts": [ {
    "profile": {
        "name": "Kerry Fisher"
    },
    "wa_id": "16315551234"
  } ],
   "messages":[{
      "context":{
         "from":"16315558011",
         "id":"ABGGFlA5FpafAgo6tHcNmNjXmuSf"
         },
      "from":"16315551234",
      "id":"gBGGFlA5FpafAgkOuJbRq54qwbM",
      "text":{"body":"Yes, count me in!"},
      "timestamp":"1521499915",
      "type":"text"
  }]
}

メディアメッセージのtextフィールドは任意です。textフィールドが存在する場合、その値は送信したメディアのキャプションまたは応答の本文(応答がSMSの場合)です。

インバウンドシステムメッセージ

システムメッセージは、何らかのイベントが発生したときにシステムによって生成されます。詳しくは、後述のsystemオブジェクトのセクションをご覧ください。

例:ユーザーが自分の番号を変更した

アプリ設定notify_user_change_numberパラメーターをtrueに設定した場合、ユーザーが自分の電話番号を変更したときにインバウンドシステムメッセージを受信します。

{
    "messages": [
        {
            "from": "16315558889",
            "id": "ABGGFjFVWIifAzNzeXMtMTYzMTU1NTg4ODlAcy53aGF0c2FwcC5uZXQtMTU3NDA4MDEwMjIxMy1jaGFuZ2U",
            "system": {
                "body": "‎User A changed from ‎+1 (631) 555-8889 to ‎+1 (631) 555-8890‎",
                "new_wa_id": "16315558890",
                "type": "user_changed_number"
            },
            "timestamp": "1574080102",
            "type": "system"
        }
    ]
}

例:ユーザーが変わった可能性がある

アプリ設定show_security_notificationsパラメーターをtrueに設定した場合、WhatsAppでユーザーが(スレッド中に)変更を行ったときにインバウンドシステムメッセージを受信します。

このお知らせがidentityエンドポイントを使用して承認されるまで、このユーザーに対する送信メッセージはすべてブロックされます。受信メッセージは引き続き想定どおり受信されます。

{
    "messages": [
        {
            "from": "16315553601",
            "id": "ABGGFjFVU2AfAzVzeXMtMTYzMTU1NTM2MDFAcy53aGF0c2FwcC5uZXQtMTYwMjUzNTM1NjMzMi1pZGVudGl0eQ",
            "system": {
  		"body": "Test security code change",
                "identity": "Rc/eg9Rl0JA=",
                "type": "user_identity_changed",
                "user": "16315553601"
            },
            "timestamp": "1602535356",
            "type": "system"
        }
    ]
}

システムメッセージのタイプ

システムメッセージのタイプ説明

user_changed_number

ユーザーの電話番号を変更

user_identity_changed

ユーザーがWhatsAppで変更を行った可能性がある

メッセージ内でのユーザーへの言及

特定のWhatsApp IDに直接言及するメッセージを送信して誰かがそのメッセージに返信した場合、言及されたIDがcontextオブジェクトとmentions配列に表示されます。複数の電話番号に言及される可能性があるため、言及された電話番号が1つだけの場合であっても、mentionsフィールドは電話番号の配列になっています。

例:メッセージに対する顧客の返信

以下は、言及を含むメッセージに対する顧客の返信の例です。contextオブジェクトには、元のメッセージで言及された数値が含まれています。textオブジェクト内の返信は、同じ数値に再度言及しています。

{ "messages": [{ "context": { "from": "16315555544", "id": "gBGGFlA5FpafAgkOuJbRq54qwbM", "mentions": [ "16315551000", "16315551099" ] }, "from": "16315551234 ", "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf", "timestamp": "1504902988", "text": { "body": "@16315551000 and @16315551099 are mentioned" }, "type": "text" }] }

メッセージを既読にする

messagesノードを使用して受信メッセージのステータスをreadに変更できます。

前提条件

  • アプリ設定pass_throughfalseに設定しなければなりません。
    注:初めてフラグを設定するときは、Coreappを再開してこの変更を反映させなければなりません。

pass_throughtrueに設定されていると、メッセージは、配信された後または受信者により既読になった後に、ローカルデータベースから削除されます。しかし、falseに設定されていると、受信メッセージはローカルデータベースに7日間保存され、db_garbagecollector_enabletrueに設定されている場合は、その後に削除されます。

受信メッセージは受信後7日間以内に既読にするようおすすめします。

リクエスト

このAPI呼び出しで使用されているmessage_idは、インバウンドのお知らせで指定されているidです。

PUT /v1/messages/message-id

{
    "status": "read"
}

パラメーター

名前説明

status

必須。

statusreadへの更新は、受信メッセージのみに適用されます。

応答

null # or {}