Карта выбора даты для бота Facebook Messenger
Я знаю, что есть различные CTA-карты, которые бот Facebook может использовать, как показано здесь.
Что мне действительно нужно, так это карта выбора даты, которую можно отправить пользователю, чтобы он мог выбрать дату и отправить ее обратно. Возможно ли это с помощью ботов Facebook?
1 ответ
В мессенджере Facebook не запущено средство выбора даты и времени в своих шаблонах.
Но вы можете сделать себя самостоятельно с помощью веб-браузера и расширений.
Следуй этим шагам.
Создать кнопку или общий шаблон и поместить кнопку с
"buttons":[
{
"type":"web_url",
"url":"http://my_url_which_open_date_picker",
"title":"Select date",
"messenger_extensions": true,
"webview_height_ratio": "compact"
}
]
замените URL своим URL.
ПРИМЕЧАНИЕ: URL должен быть в белом списке. Ваш домен
Теперь на этой веб-странице вы можете получить идентификатор этого конкретного пользователя, и пользователи легко отобразят его действия для выбора даты.
На твоей странице
<script>
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.com/en_US/messenger.Extensions.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));
</script>
Когда SDK Messenger Extensions завершит загрузку, он вызовет window.extAsyncInit, и вы получите userId в этой функции.
<script>
window.extAsyncInit = function() {
// the Messenger Extensions JS SDK is done loading
MessengerExtensions.getUserID(function success(uids) {
var psid = uids.psid;
}, function error(err) {
});
};
</script>
uids - объект, содержащий идентификаторы пользователя
psid Page-scoped ID пользователя
Вы также можете закрыть свою страницу каландра, когда пользователь выбирает дату. Это можно сделать через:
<script>
MessengerExtensions.requestCloseBrowser(function success() {
}, function error(err) {
});
</script>