Таким образом, вы можете сделать это с помощью кнопки "get started". Эта кнопка присутствует только в том случае, если пользовательские сообщения бот в первый раз.
С помощью этой команды вы можете установить кнопку:
curl -X POST -H "Content-Type: application/json" -d '{
"setting_type":"call_to_actions",
"thread_state":"new_thread",
"call_to_actions":[
{
"payload":"USER_DEFINED_PAYLOAD"
}
]
}' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN"
Как вы можете видеть, если нажата кнопка ваш Webhook recieves «обратной передачи»
это обратный вызов вы получите:
{
"sender":{
"id":"USER_ID"
},
"recipient":{
"id":"PAGE_ID"
},
"timestamp":1458692752478,
"postback":{
"payload":"USER_DEFINED_PAYLOAD"
}
}
Так что это от того, где вы можете получить идентификатор пользователя
Теперь вы можете закодировать Функция для этого. Мои выглядит следующим образом:
function receivedPostback(event) {
var senderID = event.sender.id;
var recipientID = event.recipient.id;
var timeOfPostback = event.timestamp;
// The 'payload' param is a developer-defined field which is set in a postback
// button for Structured Messages.
var payload = event.postback.payload;
console.log("Received postback for user %d and page %d with payload '%s' " +
"at %d", senderID, recipientID, payload, timeOfPostback);
if (payload) {
// When a postback is called, we'll send a message back to the sender to
// let them know it was successful
switch (payload) {
case 'USER_DEFINED_PAYLOAD':
startedConv(senderID);
break;
default:
sendTextMessage(senderID, "Postback called");
}
Мой startedConv() выглядит следующим образом
function startedConv(recipientId){
var name;
request({
url: 'https://graph.facebook.com/v2.6/'+ recipientId +'?fields=first_name',
qs: {access_token: PAGE_ACCESS_TOKEN},
method: 'GET'
}, function(error, response, body) {
if (error) {
console.log('Error sending message: ', error);
} else if (response.body.error) {
console.log('Error: ', response.body.error);
}else{
name = JSON.parse(body);
sendTextMessage(recipientId, "Hello "+ name.first_name+", how can i help you ? ")
}
});
}
Спасибо за ответ, я попробовали и этот вариант. Но это не сработало для меня. Я положил свое сообщение и установил «Да», чтобы показать, и нажмите «Сохранить кнопку». К сожалению, это не сработало (может быть, я пропустил некоторые настройки?) –
Утверждено ли ваше приложение? Если на данный момент нет ни одного администратора, тестеров и разработчиков, и вы можете это проверить, добавьте друга в свой тест группа в настройках приложения для мессенджера Сообщение должно появиться после того, как он откроет окно конверсии. – Omera
@BlueCity Я создал страницу, хотя я не получаю опцию «Начать». –