Перейти к содержанию

VK.COM

Отправка

Для отправки VK-сообщения необходимо:

  • передать шаблон сообщений отправки вашему менеджеру или в техническую поддержку по адресу support@devinotele.com;
  • получить ID шаблона (будет подставлен в запрос в параметр templateId);
  • вызвать POST /vk/messages, передавая в теле параметры сообщения с указанием данных авторизации в заголовке.

Внимание

На стороне VK имеются ограничения на отпарвку: - не более 50 уведомлений в секунду для одного service (для одной группы в VK); - не более 5 уведомлений в сутки для одного пользователя от одного service (одной группы в VK).

Параметры запроса

Параметр Тип данных Описание и Допустимые значения
to string Номер телефона в международном формате.
Согласно стандарту E.164
templateId string Идентификатор шаблона в Devino Online
templateData
(optional)
object Дополнительные значения, которые подставляются в шаблон
routes array[string] Массив маршрутов VK в порядке использования. Возможные значения:
[VK]
[OK]
[OK,VK]
[VK,OK]
deliveryPolicy string Политика доставки.
Возможные значения: ANY, MOBILE_DEVICE_REQUIRED.
По умолчанию ANY.
Если указано MOBILE_DEVICE_REQUIRED, то доставка производится только в случае наличия у пользователя мобильного приложения и его использования в течение последних 7 дней. Доставка при этом производится во все имеющиеся устройства, а не только мобильные.
validity
(optional)
integer Срок жизни сообщения. Указывается только в случае отправки сообщения по шаблону. Минимальное значение - 15 (сек). Максимальное значение (сутки) - 86400 (сек).
callbackData
(optional)
string Данные, которые будут указаны в обратном вызове со статусом сообщения
callbackUrl
(optional)
string URL, на который система будет отправлять уведомления об изменениях статуса сообщения
Любой валидный URL со схемой http или https

Пример запроса

curl -X POST \
 -H 'Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
 -H 'Content-Type: application/json' \
 -d '{ 
    "messages": [
        { 
            "callbackData":
                {
                    "clientId": 44444
                },
            "callbackUrl": "http://10.10.10.10:1000/callback",
            "deliveryPolicy": "ANY",
            "routes": [
                "VK"
            ],
            "templateData": {
                "attr1": "100.50",
                "attr2": "1288899"
            },
            "templateId": 16,
            "to": 79100000000,
            "validity": 15
        }
    ]
}' https://api.devino.online/vk/messages

Пример ответа

{
    "result": [
        {
            "code": "OK",
            "messageId": "3482512350952730368"
        }
    ]
}

Параметры ответа

Параметр Тип данных Описание и допустимые значения
code string Указывает на результат обработки сообщения.
1. OK - Успешно обработано
2. REJECTED - Произоошла ошибка во время обработки запроса.
reasons
(optional)
Array[String, String] Массив ошибок, произошедших во время обработки сообщения.
Указывается только при code=REJECTED
reasons.key string Код ошибки.
reasons.ref
(optional)
string Ссылка на параметр, в котором произошла ошибка.
messageId
(optional)
string Идентификатор сообщения.
Указывается только при code=OK
description
(optional)
string Описание ошибки.
Указывается только при code=REJECTED

Webhook

Для получения статусов VK-сообщений необходимо при отсылке сообщения методом POST /vk/messages указать параметр callbackUrl.

Пример запроса

[
    {
        "channel":"VK",
        "messageId":"3594444391611888888",
        "ts":1611111767111,
        "status":"DELIVERED",
        "errorCode":9,
        "callbackData":{
          "clientId":"45656"
        }
    }
]

Параметры запроса

Параметр Тип данных Описание и Допустимые значения
channel string Канал отправки (будет указан "VK")
messageId int Идентификатор сообщения
ts int Указывает на время создания объекта status
status enum Код статуса доставки VK сообщения
Подробнее см. раздел Возможные статусы
errorCode
(optional)
int Код причины, по которой сообщение не было доставлено абоненту (status = undelivered)
callbackData object Данные, которые были указаны в callbackData при отсылке сообщения

Возможные статусы

Статус Описание
sent Сообщение отправлено абоненту
delivered Сообщение доставлено абоненту
seen Сообщение было просмотрено абонентом
expired Не было доставлено за отведённое время
undeliverable Сообщение невозможно доставить
rejected Сообщение было отклонено оператором или Devino
unknown Произошла неизвестная ошибка

Коды ошибок

Код Описание
SENT Сообщение отправлено
DELIVERED Доставлено
READ Прочитано
NOT_ENOUGHT_DATA Не хватает данных в запросе
INCORRECT_SIGNATURE Неправильная подпись
UNSUPPORTED_NUMBER Номер не поддерживается (страна или оператор)
INCORRECT_NUMBER phoneinfo определяет этот номер как неправильный
NUMBER_IN_BLACK_LIST Номер занесен в черный список
NUMBER_TYPE_NOT_ALLOWED Номер виртуальный или из разряда спамерских
RATELIMIT Превышен лимит
FAILED Попытка была, уведомление не доставлено
UNSUPPORTED Для данного номера/сервиса такой тип доставки не поддерживается
VP_EXPIRED_AFTER_SEND Время жизни истекло до получения статуса сообщения VK
BLOCKED_BY_USER Пользователь запретил прием сообщений от данного отправителя
UNKNOWN Неизвестный статус от поставщика