Работаю с бот api месенджера viber.
Появилась необходимость запросить у юзера его телефонный номер.
В
документации описана возможность как это сделать с помощью ActionType share-phone. Использую php библиотеку
viber-bot-php и там же есть пример как это сделать:
$bot->getClient()->sendMessage(
(new \Viber\Api\Message\Text())
->setSender($botSender)
->setReceiver($event->getSender()->getId())
->setMinApiVersion(3)
->setText("We need your phone number")
->setKeyboard(
(new \Viber\Api\Keyboard())
->setButtons([
(new \Viber\Api\Keyboard\Button())
->setActionType('share-phone')
->setActionBody('phone_reply')
->setText('Send phone number')
])
)
);
код отрабатывает без проблем, юзер получает запрос на получение телефона в виде кнопки и тут работают два сценария:
1. если юзер нажал кнопку на desktop, то боту прилетает ответ
phone_reply без информаци о контакте
2. если юзер сделал то же самое на мобильном клиенте - приходит контактная информация
в обоих случаях используются актуальные версии клиентов, платформа так же не влияет на ответ windows/mac - desktop клиент и ios/ android - мобильный клиент
тп viber молчит devsupport@viber.com, если она там вообще есть.
Как вы решали этот вопрос?