@Sergi0Limit

Почему в desktop клиенте viber не отрабатывает share-phone?

Работаю с бот 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 без информаци о контакте 5d1328dbba857154811790.png
2. если юзер сделал то же самое на мобильном клиенте - приходит контактная информация 5d1328ea28173575225983.png

в обоих случаях используются актуальные версии клиентов, платформа так же не влияет на ответ windows/mac - desktop клиент и ios/ android - мобильный клиент

тп viber молчит devsupport@viber.com, если она там вообще есть.

Как вы решали этот вопрос?
  • Вопрос задан
  • 1292 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Sergi0Limit Автор вопроса
ТП все же ответила, прошла всего неделя, но то мелочи...

We currently don’t have this action type supported on desktop clients.
Our teams are discussing the possibility to add it in future versions. I’ll update you if there are any news on the subject.

To still be able to use this action type, I suggest adding some sort of fallback, in which if the callback is returned without the number, explicitly ask for the user to enter it.

может кому-то пригодится
Ответ написан
Комментировать
@N13
А каким образом прилетает телефон? Забирается так же через $event->getMessage()->getText() ?
Ответ написан
Комментировать
cellmon
@cellmon
Botviber
После последнего обновления Viber сентябрь 2020 c Desktop клиента наконец-то стала приходить информация с контактом!
Уже содержит телефонный номер.
Всем удачного ботостроения в Viber.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы