たとえば、ユーザがオプションのref
パラメータを使用してオプトインすると、追加情報を送信できます。
function confirmOptIn() {
FB.AppEvents.logEvent('MessengerCheckboxUserConfirmation', null, {
'app_id':'APP_ID',
'page_id':'PAGE_ID',
'ref': '[email protected]',
'user_ref':'UNIQUE_REF_PARAM'
});
あなたはあなたのウェブフックイベントでoptin
内のユーザ名を受け取ります:あなたは私のウェブサイトにログインしているユーザーのユーザー名を送信することができます
{
"recipient":{
"id":"PAGE_ID"
},
"timestamp":1234567890,
"optin":{
"ref":"[email protected]",
"user_ref":"UNIQUE_REF_PARAM"
}
}
を次に、あなたがメッセージを開始するために送信APIを呼び出すことができますユーザーはuser_ref
を使用しています。
Send APIへの呼び出しが成功した場合、レスポンスにはrecipient_idパラメータが含まれます。このパラメータは、将来のAPI呼び出しで使用できる安定したユーザーIDです。
...既にあなたのウェブサイトのユーザー名にマップできるメッセンジャーIDが届きます。ここで、私はuser_ref
で送信APIを呼び出すと、私は私のウェブサイトのユーザー名に応じて取得するユーザーIDをマップするために、公式の開発者サイトから少し変形例:
あなたが作るていないのはなぜ
function callSendAPICheckbox(messageData, userApplicationId) {
((userApplicationId) => {
request({
uri: 'https://graph.facebook.com/v2.6/me/messages',
qs: {
access_token: PAGE_ACCESS_TOKEN
},
method: 'POST',
json: messageData
},
function(error, response, body) {
if (!error && response.statusCode == 200) {
var recipientId = body.recipient_id;
var messageId = body.message_id;
if (messageId) {
console.log("Map messenger user ID %s with the username of my website %s", recipientId, userApplicationId);
} else {
console.log("Successfully called Send API for recipient %s",
recipientId);
}
} else {
console.error("Failed calling Send API for userId " +
recipientId, response.statusCode, response.statusMessage, body.error);
}
});
})(userApplicationId)
}