Как подключить вконтакте на сайт чтобы слать юзеру в вк уведомления или сообщения?
Имеется сайт, на нем есть регистрация через VKID, т.е. у меня есть токены юзера, не могу понять как реализовать возможность отсылки сообщений юзеру, не понятен ни флоу ни примерная схема что делать. Просьба рассказать опытных в этом деле. (в доке ВК ничего внятного не нашел про это)
Судя по документации и FAQ, вы не можете использовать полученный токен для того, чтобы разрешить сообществу отправлять сообщения пользователю (метод messages.allowMessagesFromGroup доступен только для standalone-приложений и требует одобрения со стороны ВК).
Доступные вам варианты — явно запросить согласие на отправку сообщений через виджет или мини-приложение.
про виджет почитал, но не понял как и с чем его применять
по поводу мини-приложений, мини-приложения по определению с этой страницы это встраиваемые в ВК миниприложения, это не тоже самое что свой сайт. этот вариант не подходит как я понимаю
а про виджет, судя по доке, непонятно что нужно делать кроме вставки самого виджета
dufrein2013, кажется, в документации довольно понятно описано, как работает виджет: вы подключаете библиотеку и вызываете из JS метод VK.Widgets.AllowMessagesFromCommunity с идентификатором сообщества в параметре group_id. На странице появится виджет. И пользователь должен будет нажать на кнопку «Получать уведомления». Вы можете отслеживать нажатие кнопки через событие widgets.allowMessagesFromCommunity.allowed.
GrigoryMorozov, подумал что работает, но нет оказалось что работает только с этой страницы https://dev.vk.com/ru/method/messages.send
а с своего сайта если отправить такой запрос получишь только cors error, ибо "вк не поддерживает cors" как ответила техподдержка
получается этот вариант не подходит
dufrein2013, разумеется, вы не можете (и не должны) отправлять сообщения через JS. Это задача сервера. Причём не только из-за ограничений ВК, но и из-за того, что нельзя хранить токен сообщества на клиенте.
dufrein2013, CORS — это про браузерные ограничения. Браузер сам прерывает запрос, если видит неподходящие заголовки CORS. Условно, вы можете установить специальный плагин в своём браузере, и тогда для вас (для вашего браузера) таких ограничений не будет (но, да: это плохой путь и делать так не надо). А для сервера заголовки CORS никогда не были проблемой или ограничением, он их не проверяет и проверять не должен.