VK.com — Devino API Reference
Отправка
Для отправки VK-сообщения необходимо:
- Передать шаблон для отправки сообщений вашему менеджеру или в техническую поддержку.
- Получить ID шаблона (для параметра
templateId
). - Вызвать POST /vk/messages, передавая в теле запроса параметры сообщения с указанием данных авторизации в заголовке.
Внимание
Пожалуйста, учтите следующие ограничения на отправку:
○ Не более 50 уведомлений в секунду для одной группы в VK.
○ Не более 5 уведомлений в сутки для одного пользователя от одной группы в VK.
В одном запросе можно отправить не более 1000 сообщений.
Параметры запроса
Параметр | Тип данных | Описание |
---|---|---|
callbackData (optional) | object | Данные, которые будут указаны в коллбэке со статусом сообщения. Любой массив вида { "key1": "value1", "key2": "value2" } |
delivery_policy (optional) | string | Возможные значения: По умолчанию Если указано Если указано |
phone | string | Номер телефона в международном формате, согласно стандарту E.164. |
routes | array | Cписок возможных каналов доставки через запятую [ VK, OK ] ).○ Доставка производится до первого получения уведомления на физическое устройство. Последовательность и логика выбора маршрутов из данного списка конфигурируется при подключении к системе. Если параметр не задан, по умолчанию используются все возможные способы доставки. Доставка будет происходить только в том случае, если в шаблоне будет указана группа в соответствующей социальной сети. Например в шаблоне может быть указана только группа VK, тогда доставка в Одноклассники по данному шаблону осуществляться не будет. |
service | string | Согласованное имя отправителя в VK. |
status_url (optional) | string | URL, на который система будет отправлять коллбэки при изменении статуса сообщения. Любой валидный URL со схемой |
templateId (optional) | integer | ID шаблона сообщения в Devino.![]() |
tmpl | string | Название шаблона сообщения. Далее сообщение формируется через параметр tmpl_data . |
tmpl_data | object | JSON-объект, где ключи — имена переменных в шаблоне. Например, для шаблона: { address } . Код получения — { code } , — параметр tmpl_data будет: { "address": "ул. Ленина, д. 6", "code": "485372" } . |
ttl (optional) | integer | Срок жизни сообщения в секундах. Минимальное значение: 60 Если сообщение не было доставлено за время |
Пример запроса
[ { "delivery_policy": "ANY", "phone": "79999999999", "routes": [ "VK", "OK" ], "service": "Group_name", "status_url": "http://your.website.com/", "templateId": 4, "tmpl": "base_template", "tmpl_data": { "name": "Anna", "pizza": "Margarita", }, "ttl": 60 } ]
Параметры ответа
Параметр | Тип данных | Описание |
---|---|---|
code | string | Указывает на результат обработки сообщения. 1. |
messageId | array | ID сообщения. Указывается только при "code": "OK" . |
reasons | array | Массив ошибок, произошедших во время обработки сообщения. Указывается только при "code": "REJECTED" . |
reasons.key | string | Код ошибки. |
Коды ошибок
Код | Описание |
---|---|
service.![]() | Отправка сообщений через VK недоступна. |
billing.error | Ошибка оплаты. |
message.contains.invalid.templateId | Неверно указан ID шаблона. |
is.spam | Сообщение помечено как спам. |
too.many.messages | Превышен лимит по количеству сообщений в запросе. Один запрос может содержать не более 1000 сообщений. |
login.must.be.not.null | Не указан логин пользователя. |
Примеры ответов
OK
{ "result": [ { "code": "OK", "messageId": 2354676865423253 } ] }
REJECTED
{ "result": [ { "code": "REJECTED", "reasons": [ { "key": "billing.error" } ] } ] }
Входящие сообщения
Параметры
Параметр | Тип данных | Описание |
---|---|---|
string | ID события отправки сообщения.![]() | |
group_id | string | ID сообщества, в котором произошло событие. |
object | IncomingMessageObject | Объект с параметрами клиента и входящего сообщения. |
type | string | Тип события. |
v | string | Версия API, для которой сформировано событие. |
IncomingMessageObject
Параметр | Тип данных | Описание |
---|---|---|
client_info | ObjectClientInfo | Объект с параметрами клиента. |
message | ObjectMessage | Объект с параметрами сообщения. |
Важно
Параметр message_tag
во входящем сообщении будет соответствовать ID отправленного сообщения в Devino. Данный ID возвращается в ответе на запрос POST /vk/messages, в параметре result.
. id
Пример
{ "group_id": 213243638, "type": "message_new", "event_id": "07c0da23123148715ab13e97823adc1bb0eadcf9", "v": "5.131", "object": { "message": { "id": 1, "date": 1657543344, "peer_id": 37119444, "from_id": 666666, "text": "text", "random_id": 123, "ref": "ref", "ref_source": "ref_source", "attachments": [ { "type": "photo", "photo": { "id": 1, "album_id": 2, "owner_id": 3, "user_id": 4, "text": "phooto_text", "width": 100, "height": 100 } } ], "important": true, "out": 0, "conversation_message_id": 1, "fwd_messages": [], "is_hidden": false, "message_tag": "3690837110063289472" }, "client_info": { "button_actions": [ "text", "vkpay", "open_app", "location", "open_link", "callback", "intent_subscribe", "intent_unsubscribe" ], "keyboard": true, "inline_keyboard": true, "carousel": true, "lang_id": 0 } } }
Коллбэки
Возможные статусы
Статус | Описание |
---|---|
SENT | Отправлен запрос на доставку сообщения.![]() |
DELIVERED | Сообщение доставлено. |
UNDELIVERABLE | Сообщение не может быть доставлено, так как пользователя не существует в системе поставщика, либо же пользователь запретил прием сообщений от данного отправителя. |
EXPIRED | Уведомление не доставлено, так как вышло время ttl на доставку до устройства пользователя. |
REJECTED | Превышен лимит отправки сообщений. |
SEEN | Сообщение было прочитано только что. Данный статус не придет, если сообщение было прочитано после истечения ttl + 24 часа (это не значит, что сообщение будет удалено). |
UNKNOWN | Неизвестная ошибка. |
Пример коллбэка
[ { "channel": "VK", "messageId": "3721115754893245581", "ts": 1672137286244, "status": "SENT", "errorCode": 0 } ]
Обработка ошибок — VKBottle
Иногда при запросах к api вконтакте возникают ошибки, для их обработки во фреймворке предусмотрено несколько инструментов
try .

Для начала разъясним что такое VKAPIError
, это подтип CodeException
, особенность которого заключается в том, чтобы ошибка идентифицировалась в except и без указанного кода (except VKAPIError
) и при указании кода (except VKAPIError[code]
)
В VKAPIError
есть два поля:
code
— код ошибки, interror_msg
— описание ошибки, str
Чтобы использовать VKAPIError
нужно импортировать его:
from vkbottle import VKAPIError |
Теперь можно обернуть какой нибудь код с запросом к API:
1 2 3 4 | try: await api.wall.post() except VKAPIError as e: print("Возникла ошибка", e.code) |
При исполнении этого кода vk вернет ошибку, из-за того что не были переданы нужные параметры
try … except VKAPIError[code]
Кроме более общего способа для обработки всех ошибок vk в одном блоке except, вы можете воспользоваться более конкретным VKAPIError[code]
Сделаем несколько блоков для демонстрации того, как первый и второй способ можно комбинировать
1 2 3 4 5 6 | try: await api. |
Специфичные ошибки
Некоторые ошибки vk имеют дополнительные поля, которые могут понадобиться вам для их обработки:
CaptchaError
:captcha_sid
— идентификатор captcha, intcaptcha_img
— ссылка на изображение, str
ErrorHandler
У ErrorHandler
есть 4 метода:
register_error_handler
— декоратор, принимающий типы ошибок и асинхронную функцию-хендлер. Если возникнет одна из указанных ошибок (или её подтипа), исполнится указанный хендлер.register_undefined_error_handler
— декоратор, принимающий тип ошибки и асинхронную функцию-хендлер. Если возникнет неизвестная ошибка, исполнится этот хендлер.handle
, принимающий экземпляр ошибки. Передаёт ошибку в соответствующий хендлер, зарегистрированный с помощью вышеописанных декораторов. Если для данной ошибки нет хендлера, поднимает её.catch
— декоратор. Ловит ошибки из декорированной функции и передаёт их методуhandle
.
1 2 3 4 5 6 7 8 9 10 11 12 13 | from vkbottle import Bot, VKAPIError bot = Bot("token") @bot.error_handler.register_error_handler(RuntimeError) async def runtime_error_handler(e: RuntimeError): print("возникла ошибка runtime", e) @bot.error_handler.register_error_handler(VKAPIError[902]) async def unable_to_write_handler(e: VKAPIError): print("человек не разрешил отправлять сообщения", e) |
В примере создано 2 хендлера ошибок: для RuntimeError
и конкретизированного VKAPIError
Также можно регистрировать хендлеры сразу для нескольких типов ошибок:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from typing import Union from vkbottle import Bot, VKAPIError bot = Bot("token") @bot. |
Ещё у ErrorHandler
есть параметр redirect_arguments: bool
, который позволяет передавать в хендлер аргументы из задекорированной с помощью catch
функции. В связке с ботом позволяет передать в хендлер контекстные аргументы из правил и мидлварей.
Подробнее про ErrorHandler.catch
можно почитать здесь
VKRepair.Com — Учебники и обзоры
Опубликовано автором VKRepair
Если сразу возникает вопрос, что такое антистатический коврик, вы, вероятно, никогда не поджаривали чувствительное электронное устройство с помощью электростатического разряда. . Хотя до сих пор вам, возможно, везло, электростатические разряды случаются, и вы должны приобрести все… Продолжить чтение →
Опубликовано от VKRepair
Как исправить код ошибки iPhone 9Вы получаете следующую ошибку? Айфон восстановить не удалось. Произошла неизвестная ошибка (9). После отчаянных попыток восстановить свой iPhone снова и снова, вы все еще получали одно и то же сообщение.… Продолжить чтение →
Ремонт iPhoneОпубликовано автором VKRepair
Если вы когда-либо использовали паяльник или вы когда-либо собирал плату электроники, вы знаете, пары припоя — не самая приятная вещь в мире. Но проблема здесь не совсем в запахе; это… Продолжить чтение →
Инструменты для ремонтаОпубликовано от VKRepair
Как исправить фотографии, исчезнувшие с iPhone Фотографии с iPhone исчезли из фотопленки. Почему это происходит? Они ушли навсегда? Прежде чем плакать над потерянными селфи, свадебными фотографиями, детскими фотографиями и видео из отпуска, давайте посмотрим… Продолжить чтение →
Опубликовано автор VKRepair устройства великолепны, когда вы работаете с небольшими электронными устройствами, ювелирными изделиями или даже с различными поделками, требующими большой концентрации. Их называют очками, потому что они надеваются на голову (просто… Продолжить чтение →
Инструменты для ремонтаОпубликовано от VKRepair
Почему iPhone сообщает, что SIM-карта недействительна? Если вы прямо сейчас смотрите на экран своего iPhone и задаетесь вопросом, почему у вас есть сообщение «Недействительная SIM-карта» и у вас нет сотовой связи, у вас есть проблема. Вы не можете сделать телефон… Продолжить чтение →
Ремонт iPhoneОпубликовано автор VKRepair
Это инструмент, который должен быть в любом магазине телефонных услуг или наборе инструментов DIY! По сути, iSesamo — это инструмент, предназначенный для вскрытия даже самых тонких корпусов телефонов. Тонкий изогнутый наконечник подходит для самых маленьких… Продолжить чтение →
Инструменты для ремонтаОпубликовано от VKRepair
Если вы ранее загрузили файл на свой iPhone, держу пари, вам, вероятно, интересно, где он находится. Некоторые люди могут возразить, что это невозможно сделать. Но на самом деле это не так, как можно подумать.… Продолжить чтение →
Ремонт iPhoneОпубликовано автором VKRepair
Если вы пытаетесь сделать резервную копию своего iPhone в iTunes или восстановить предыдущую версию с вашего iTunes и получили одно из следующих сообщений: «iTunes не удалось создать резервную копию iPhone, поскольку iPhone отключился» «iTunes не удалось восстановить… Продолжить чтение →
Ремонт iPhoneАвтоматизация социальных сетей для веб-сайтов и блогов WordPress
Blog2Social — планирование публикации в социальных сетях, таких как Facebook, автоматическая публикация в Facebook, публикация сообщений в блогах на Facebook, Twitter, LinkedIn, VK, Instagram, PinterestФайлы cookie
Файлы cookie облегчают нам предоставление наших услуг и помогают нам анонимно анализировать использование нашего веб-сайта. Давая свое согласие, вы поддерживаете нас в этом процессе. Вы можете найти дополнительную информацию в нашей политике конфиденциальности.
Дополнительная информация и настройки
Согласен
Автоматизация социальных сетей:
Расписание и публикация на социальных платформах
Кросс-постинг
Кросс-поделиться на всех выбранных платформах социальных сетей. Создавайте выборки сетей для быстрого и легкого доступа к вашим самым популярным учетным записям.
Автоматическая проводка
Автоматически делиться сообщениями во время публикации или в любое запланированное время.
Посты в социальных сетях
Делитесь сообщениями в социальных сетях с сообщений или страниц веб-сайта или создавайте сообщения из любого текста, ссылки, изображения, видео или RSS-канала.
Публикация и совместное использование видеофайлов NEW
Публикуйте и делитесь своим видеоконтентом прямо из своей медиатеки на видеоплатформах и в социальных сетях.
Календарь социальных сетей
Следите за запланированными публикациями в социальных сетях. Добавьте или отредактируйте свои сообщения или измените дату с помощью перетаскивания.
Лучший тайм-менеджер
Планируйте свои публикации в социальных сетях с заранее заданным лучшим временем или с вашими собственными настройками времени для автоматического планирования.
Автоматически повторно делиться сообщениями
Время от времени автоматически повторяйте свои лучшие публикации и экономьте драгоценное время, чтобы оживить свой вечнозеленый контент.
Настройка
Добавляйте комментарии, хэштеги, псевдонимы и смайлики в свои посты в социальных сетях — для всех сетей всего за один шаг.
Выбор и редактирование изображений
Выберите отдельные изображения или загрузите несколько изображений в одном сообщении. Легко редактируйте, обрезайте, поворачивайте или переворачивайте изображения, чтобы адаптировать формат для выбранных социальных платформ.
Шаблоны сообщений
Определите уникальную структуру сообщений для автоматической настройки сообщений в социальных сетях.
Показатели социальных сетей
Отслеживайте эффективность своих сообщений в социальных сетях с помощью показателей по просмотрам ссылок, показам, лайкам, повторным публикациям/ретвитам и комментариям.
Управление командой
Расширенная многопользовательская поддержка для организации и совместной работы над сообщениями в социальных сетях с несколькими пользователями WordPress.
Более привлекательные публикации в социальных сетях за меньшее время
Планируйте и автоматически делитесь своими публикациями в социальных сетях
Сэкономьте драгоценное время и уменьшите утомительную работу, связанную с ручным размещением ваших публикаций на платформах социальных сетей. Автоматическая публикация при публикации сообщения. Кросс-постинг или перекрестное продвижение вашего контента и публикаций всего за один шаг. Повторно делитесь старыми сообщениями, планируйте лучшее время для публикации, делитесь и повторно делитесь один раз или периодически.
Blog2Social позволяет легко и быстро обмениваться сообщениями в блогах и перекрестно продвигать их. Получите больше охвата за меньшее время.
Посмотрите это видео о том, сколько времени вы можете сэкономить на управлении социальными сетями.
Индивидуальный обмен и планирование публикаций в социальных сетях
Каждая сеть предлагает различные способы продвижения вашей публикации наилучшим образом, чтобы привлечь больше внимания. Blog2Social автоматически преобразует ваши сообщения в лучший формат для каждой отдельной социальной сети. Вы можете автоматически публиковать свои сообщения или при желании настраивать свои сообщения в социальных сетях с помощью редактора предварительного просмотра на одной странице. Вы можете легко редактировать и настраивать свои сообщения в социальных сетях с отдельными комментариями, #хэштегами, @дескрипторами и смайликами для каждой социальной учетной записи, как вам нравится. Пользовательский обмен с Blog2Social помогает вам делиться своими сообщениями в социальных сетях наилучшим образом, чтобы привлечь больше внимания и участия от ваших подписчиков.
Планируйте свои публикации в лучшее время для публикации в социальных сетях
В каждой социальной сети есть свое лучшее время для активности и участия. Делитесь своими сообщениями, когда ваше сообщество онлайн. Blog2Social предоставляет вам готовый к использованию менеджер лучшего времени для автоматического планирования ваших сообщений в социальных сетях в оптимальное время для публикации в каждой социальной сети. Или определите и сохраните свои собственные настройки времени для ваших сообщений в социальных сетях. Blog2Social автоматически публикует вашу публикацию, даже когда вы спите.
Отслеживание вашего расписания в социальных сетях
Планируйте и просматривайте свои публикации в социальных сетях в календаре социальных сетей.
Измените дату и время запланированных публикаций в социальных сетях одним перетаскиванием. Фильтруйте свои сообщения в социальных сетях по сети и быстро редактируйте комментарии, изображения, заголовки, описания, а также хэштеги и дескрипторы.
Facebook Instant Sharing
Facebook Instant Sharing — это уникальное решение, созданное Blog2Social. Это поможет вам продолжать планировать и публиковать свои публикации в своем профиле Facebook после ограничения Facebook на публикацию в профилях с помощью инструментов социальных сетей (узнать больше). С помощью Facebook Instant Sharing мы предоставляем вам альтернативный способ поделиться своим контентом в своем профиле Facebook или даже на временной шкале друга, в группах, событиях, на страницах или в личных сообщениях. Добавляйте @handles, отмечайте друзей, отмечайтесь в местах, добавляйте смайлики и действия или редактируйте настройки конфиденциальности для своих сообщений.
Делитесь релевантным контентом из любого источника в своих учетных записях в социальных сетях
Курирование контента — одна из важнейших стратегий маркетинга в социальных сетях. Обмен релевантным контентом из различных источников поможет сделать ваши учетные записи в социальных сетях ценным ресурсом контента для вашей конкретной области знаний. Blog2Social позволяет вам делиться любым текстом, ссылками, изображениями, видео или RSS-каналами в виде сообщений в социальных сетях со своими подписчиками в дополнение к вашему контенту WordPress.
Это поможет вам создавать и планировать все публикации в социальных сетях в одном месте, чтобы автоматически наполнять ваши каналы социальных сетей смесью контента из вашего собственного контента и контента из других источников контента.
Служба поддержки клиентов Blog2Social
Автопубликация и планирование в социальных сетях с помощью
Blog2Social Premium
Используйте Blog2Social бесплатно, чтобы одновременно публиковать и настраивать публикации в социальных сетях в выбранных учетных записях социальных сетей.
Blog2Social Premium предоставляет вам множество дополнительных опций для автоматической публикации и автоматического планирования публикаций в социальных сетях, а также более продвинутые опции для автоматической настройки публикаций, такие как шаблоны, импорт RSS-канала, совместное использование контента из других источников, а также а также управление несколькими профилями, страницами и группами в социальных сетях для разных пользователей и веб-сайтов, показателями социальных сетей и управлением командой.
Выберите один из различных пакетов лицензий Premium для нескольких веб-сайтов, корпоративных блогов, блогов и веб-сайтов с несколькими авторами.
Сравните планы и цены
Или загрузите Blog2Social бесплатно
Автоматический кросспостинг в профилях социальных сетей с возможностью настройки
Скачать бесплатно
ПремиумДополнительно: Расписание постинга | Публиковать в группы и на страницы | Шаблоны социальных сетей | Автоматический репост | Календарь социальных сетей | Многопользовательский, многопрофильный и коллективный
Отзывы клиентов
«Я перепробовал все плагины, но так или иначе не нашел централизованного решения, пока не открыл для себя Blog2Social».
(Альфред Мундиа по электронной почте)
«Гибкий и такой полезный почти должен быть включен в WP».
(@carab90 на WordPress.org)
«Отличный выбор среди многих посредственных вариантов».
(@historic-city-news на WordPress.org)
«Этот плагин — одна из лучших систем на планете, когда речь идет об автоматизации моего сайта».
(@shoppingzx11 на WordPress.org)
«Это действительно отличный плагин и команда поддержки!»
(@Jonna88 на WordPress.org)
«Это не просто автопостер, а целый набор опций для настройки и планирования постов. […] Спасибо за большую поддержку, ребята. Мне действительно нравится это.»
(@simmy58 на WordPress.org)
«Лучший плагин для обмена в социальных сетях, который я когда-либо видел».
(@88pawankumarjha на WordPress.org)
«[…] Этот плагин делает вашу жизнь намного проще, делая все автоматически».
(@hkmurali на WordPress.org)
«Этот небольшой плагин — отличный инструмент для социальных сетей. У них отличная поддержка клиентов. […]»
(@martij715 на WordPress.org)
«Этот плагин экономит мне ОЧЕНЬ много времени. Я бы без этого не обходился».
(@taoashzar на WordPress.org)
Предыдущий Следующий
Отзывы и отзывы наших клиентов
Крис Абрахам (biznology.com)
«Blog2Social устраняет все проблемы, связанные с обменом информацией в социальных сетях […], а Blog2Social делится с гораздо более широким выбором социальных платформ, чем HootSuite, Sprout Social и Buffer».
Лори Соард (webhostingsecretrevealed.com)
«Blog2Social — один из самых адаптивных и интересных плагинов. Одна из особенностей, которая мне очень нравится в Blog2Social, заключается в том, что один и тот же пост не публикуется во всех социальных сетях, а настраивается для лучшего соответствия этой платформе».
Кристель Куэнта (socialmediaexaminer.com)
«Публикация новых постов в социальных сетях на данный момент практически обязательна. Вы хотите получить как можно больше контента, но публикация из вашего блога в социальные каналы требует времени. Вот тут-то и появляется плагин Blog2Social. Он позволяет автоматически планировать и публиковать новые сообщения в блогах в социальных сетях. Вы можете настроить свои посты для каждой сети, если хотите, и запланировать их в оптимальное время для каждой аудитории».
Андреас Хехт (noupe.com)
«Blog2Social — самый сложный плагин для социальных сетей, который я когда-либо тестировал. Я купил премиум-лицензию и могу только рекомендовать ее».
Ким Бизли (artofvisibility.com)
«Blog2Social — идеальный вариант для тех, кто ищет плагины WordPress для социальных сетей, предлагающие универсальное решение».
Люк Бринли-Джонс (oursocialtimes.com)
«Обмен вашим контентом в социальных сетях может занять много времени, но ребята из Adenion создали фантастически простой плагин. Blog2Social преобразует ваши сообщения в оптимальный формат для широкого круга социальных каналов и даже планирует их для наиболее эффективного времени суток. Он также поставляется с удобной опцией в один клик для тех очень загруженных периодов ».
» все отзывы
Более 70 000 счастливых и довольных пользователей по всему миру с более чем 1000 замечательных 5-звездочных обзоров на WordPress.
Дополнительные параметры Blog2Social
Blog2Social как веб-приложение
Нет сайта на WordPress?
Попробуйте независимое приложение Blog2Social WebApp для любого контента и веб-сайта.
Расширение браузера Blog2Social
Хотите сэкономить время?
Делитесь интересным контентом прямо из браузера или сохраняйте его в Blog2Social, чтобы отредактировать, запланировать и поделиться им позже.
Решения для агентств
Blog2Social как веб-приложение
Blog2Social WordPress для веб-сайтов
9 0365Вы настраиваете веб-сайты WordPress, мультисайты и плагины для своих клиентов?
Вы управляете веб-сайтами и каналами социальных сетей, консультируете и поддерживаете своих клиентов?
Все, что вам нужно знать о том, когда лучше всего публиковать сообщения в социальных сетях, как делиться, когда делиться и чем делиться в каждой социальной сети.
Размеры видео в социальных сетях Памятка
Создание привлекательного видеоконтента — отличный способ привлечь внимание своей аудитории в социальных сетях, но для достижения максимального эффекта вам необходимо убедиться, что ваши видео оптимизированы для каждой платформы. Понимание правильных размеров видео имеет решающее значение для обеспечения того, чтобы ваши видео отображались в наилучшем качестве и формате.