Создать отправителя

Чтобы добавить нового отправителя отправляется POST запрос по ссылке:

https://api.sendpulse.com/vk-ok/senders

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

Параметр Тип Описание
name строка имя отправителя, видно только создателю, обязательный параметр
vk_url* строка полная ссылка на сообщество ВКонтакте, включая https:// или http// протокол, обязательный параметр
ok_url* строка полная ссылка на сообщество в Одноклассниках, включая https:// или http// протокол, обязательный параметр
cover_letter файл изображение разрешительного письма. Шаблон можно скачать в личном кабинете, обязательный параметр

*Обязательно должен быть один из двух URL, также можно добавлять сразу две сети в одном запросе.

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

{
  "id": 1,
  "user_id": 123,
  "name": "sendpulse",
  "vk_url": "https://vk.com/sendpulse",
  "ok_url": "https://ok.ru/group/sendpulse",
  "cover_letter": {
    "id": 3,
    "user_id": 123,
    "name": "документ",
    "path": "name.png",
    "url": "https://static-vk-ok.sendpulse.com/senders/name.jpeg",
    "created_at": "2020-04-21T13:32:07.000000Z",
    "update_at": "2020-04-21T13:32:07.000000Z"
  },
  "created_at": "2020-04-21T13:32:07.000000Z",
  "update_at": "2020-04-21T13:32:07.000000Z"
}

Создать шаблон

Чтобы добавить новый шаблон уведомления отправляется POST запрос по ссылке:

https://api.sendpulse.com/vk-ok/templates

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

Параметр Тип Описание
name строка имя шаблона, видно только создателю, обязательный параметр
vk_message* строка текст уведомления, который будут получать пользователи в ВКонтакте, максимальная длина 2048 символов, обязательный параметр
vk_message* строка текст уведомления, который будут получать пользователи в Одноклассниках, максимальная длина 2048 символов, обязательный параметр
sender_id число идентификатор отправителя полученный в методе выше , обязательный параметр

*Если в вашем отправителе указан только vk_url то обязательно передавать только vk_message;
если в вашем отправителе указан только ok_url то обязательно передавать только ok_message;
если в отправителях указаны оба поля то обязательно оба поля передавать.

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

{
    "total": 1,
    "data": {
        "id": 1,
        "user_id": 6615360,
        "sender_id": 1,
        "name": "Отправка накладной",
        "vk_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "ok_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "sender": {
            "id": 1,
            "user_id": 6615360,
            "name": "Healthy Lifestyle",
            "vk_url": "https://vk.com/healthy_lifestyle",
            "ok_url": "https://ok.ru/group/56949408137424",
            "created_at": "2020-05-06T12:09:04.000000Z",
            "update_at": "2020-05-06T12:09:04.000000Z"
        },
        "status": 3,
        "status_detail": {
            "id": 1,
            "name": "new"
        }
    }
}

Описание статусов созданного шаблона:

Код Название Описание
1 new новый, только что добавленный
2 moderation_by_us находится на модерации 
3 moderation_provider находится на модерации 
4 active активный
5 rejected отклонен
6 draft черновик
7 send_moderation_error ошибка шаблона
8 not_active не активен
 
 

Получить информацию по списку шаблонов

Чтобы получить информацию по списку созданных шаблонов отправляется GET запрос по ссылке:

https://api.sendpulse.com/vk-ok/templates

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

{
  "total": 2, //количество созданных шаблонов
  "data": [
    {
      "id": 1,
      "user_id": 6615360,
      "sender_id": 1,
      "name": "block campaign",
      "vk_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
      "ok_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
      "sender": {
        "id": 1,
        "user_id": 6615360,
        "name": "Healthy Lifestyle",
        "vk_url": "https://vk.com/healthy_lifestyle",
        "ok_url": "https://ok.ru/group/56949408137424",
        "created_at": "2020-05-06T12:09:04.000000Z",
        "update_at": "2020-05-06T12:09:04.000000Z"
      },
      "status": 3,
      "status_detail": {
        "id": 3,
        "name": "moderation_by_provider"
      }
    },

    {
      "id": 15,
      "user_id": 6615360,
      "sender_id": 2,
      "name": "test",
      "vk_message": "Привет! Через 15 минут мы начинаем вебинар по правильному питанию! 
Ждем вас в вебинарной комнате, старт встречи в 15:00", "ok_message": "Привет! Через 15 минут мы начинаем вебинар по правильному питанию!
Ждем вас в вебинарной комнате, старт встречи в 15:00", "sender": { "id": 2, "user_id": 6615360, "name": "Healthy Lifestyle", "vk_url": "https://vk.com/healthy_lifestyle", "ok_url": "https://vk.com/sendpulse", "created_at": "2020-05-20T12:59:01.000000Z", "update_at": "2020-05-20T12:59:01.000000Z" }, "status": 1, "status_detail": { "id": 1, "name": "new" } } ] }

Получить информацию по одному шаблону

Чтобы получить информацию по определенному шаблону отправляется GET запрос по ссылке:

https://api.sendpulse.com/vk-ok/templates{id}

Параметры запроса в URL:

id идентификатор созданного шаблона

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

{
    "total": 1,
    "data": {
        "id": 1,
        "user_id": 6615360,
        "sender_id": 1,
        "name": "block campaign",
        "vk_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "ok_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "sender": {
            "id": 1,
            "user_id": 6615360,
            "name": "Healthy Lifestyle",
            "vk_url": "https://vk.com/healthy_lifestyle",
            "ok_url": "https://ok.ru/group/56949408137424",
            "created_at": "2020-05-06T12:09:04.000000Z",
            "update_at": "2020-05-06T12:09:04.000000Z"
        },
        "status": 3,
        "status_detail": {
            "id": 3,
            "name": "moderation_by_provider"
        }
    }
}

Отправить рассылку 

Чтобы создать рассылку отправляется POST запрос по ссылке:

https://api.sendpulse.com/vk-ok/campaings

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

Параметр Тип Описание
address_book* массив объектов идентификатор адресных книг; указывать можно только книгу у которой есть номера телефонов, обязательный параметр
recipients* массив объектов номера телефонов в международном формате с переменными в формате {"имя переменной":"значение переменной"} , обязательный параметр
life_time число время жизни сообщения числом, можно указать от 1 минуты до 24 часов, обязательный параметр
life_type строка единица времени жизни сообщения (минута - min, час - hour), обязательный параметр
name строка имя рассылки, видно только создателю, обязательный параметр
routes объект в какие социальные сети отправлять сообщение, пример {"ok": true, "vk": true}, если не выбрано будет отправлено на выбор алгоритмам системы, обязательный параметр
send_date дата дата отправки для планирования рассылки на другое время. формат даты 2020-04-23 13:29:30, если не указано будет отправлена мгновенно, необязательный параметр.
template_id число индентификатор созданного шаблона. указывать можно только активные шаблоны, у которых статус 4обязательный параметр

*Можно указать параметр адресной книги либо массив списка получателей.

Пример запроса отправки на адресную книгу: 

{
  "adress_book": [
    {
      "id": "8889330"
    }
] "life_time": 24, "life_type": "hour", "name": "Campaign", "routes": { "ok": true, "vk": true }, "send_date": "2020-05-20 17:17" "template_id": 2 }

Пример запроса отправки на список получателей: 

{
    "recipients": [
    {
      "phone": "380663322555", 
      "variables": {"Имя":"Виталий"} 
    },
    {
      "phone": "380663322999", 
      "variables": {"Имя":"Виктор"} 
    }
] "life_time": 24, "life_type": "hour", "name": "Campaign", "routes": { "ok": true, "vk": true }, "send_date": "2020-05-20 17:17" "template_id": 2 }

Описание статусов отправки кампании: 

Код Описание
1 новая
3 идет копирование телефонов
4 отложенная отправка
5 недостаточно средств на счете
7 идет отправка
8 отправлено

Получить информацию по списку рассылок

Для получения общей статистики по всем отправленным рассылкам отправляется GET запрос по ссылке:

https://api.sendpulse.com/vk-ok/campaigns

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

{
  "total": 1,
  "data": [
    {
      "id": 1,
      "user_id": 6615360,
      "name": "test",
      "total_price": 0,
      "price_rate": 100000,
      "currency": {
        "id": 3,
        "currency_name": "Ukrainian hryvnias",
        "currency_abbr": "UAH",
        "currency_sign": "грн."
      },
      "life_time": 24,
      "life_type": "hour",
      "send_date": "2020-05-06T15:42:12.000000Z",
      "created_at": "2020-05-06T15:42:12.000000Z",
      "template": {
        "id": 1,
        "user_id": 6615360,
        "sender_id": 1,
        "name": "block campaign",
        "vk_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "ok_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "sender": {
          "id": 1,
          "user_id": 6615360,
          "name": "sendpulse",
          "vk_url": "https://vk.com/healthy_lifestyle",
          "ok_url": "https://ok.ru/group/56949408137424",
          "created_at": "2020-05-06T12:09:04.000000Z",
          "update_at": "2020-05-06T12:09:04.000000Z"
        },
        "status": 3
      },
      "status": 7,
      "status_detail": {
        "id": 7,
        "name": "in_progress"
      },
      "group_stat": []
    }
  ]
}

Получить информацию по одной рассылке

Для получения общей статистики по определенной отправленной кампании отправляется GET запрос по ссылке:

https://api.sendpulse.com/vk-ok/campaigns{id}

Параметры запроса в URL:

id идентификатор отправленной рассылки

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

{
    "id": 1,
    "user_id": 6615360,
    "name": "test",
    "address_books": [
        {
            "id": 1,
            "user_id": 6615360,
            "campaign_id": 1,
            "address_book_id": 88890330,
            "created_at": "2020-05-06 12:42:12",
            "updated_at": "2020-05-06 12:42:12"
        }
    ],
    "total_price": 0,
    "price_rate": 100000,
    "currency": {
        "id": 3,
        "currency_name": "Ukrainian hryvnias",
        "currency_abbr": "UAH",
        "currency_sign": "грн."
    },
    "life_time": 24,
    "life_type": "hour",
    "send_date": "2020-05-06T15:42:12.000000Z",
    "created_at": "2020-05-06T15:42:12.000000Z",
    "template": {
        "id": 1,
        "user_id": 6615360,
        "sender_id": 1,
        "name": "block campaign",
        "vk_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "ok_message": "Ваш заказ отправлен. TTN {{ttn_number}}. Срок хранения 5 рабочих дней.",
        "sender": {
            "id": 1,
            "user_id": 6615360,
            "name": "sendpulse",
            "vk_url": "https://vk.com/healthy_lifestyle",
            "ok_url": "https://ok.ru/group/56949408137424",
            "created_at": "2020-05-06T12:09:04.000000Z",
            "update_at": "2020-05-06T12:09:04.000000Z"
        },
        "status": 3,
    },
    "status": 7,
    "status_detail": {
        "id": 7,
        "name": "in_progress"
    },
    "group_stat": [
                {
                    "id": 5,
                    "user_id": 6615360,
                    "route": null,
                    "sent": 1,
                    "delivered": 0,
                    "not_delivered": 1,
                    "opened": 0
                }
            ]
}

Получить список телефонов по рассылке

Для получения детальной статистики по списку телефонов по отправленной рассылки отправляется GET запрос по ссылке:

https://api.sendpulse.com/vk-ok/campaigns/{id}phones

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

id идентификатор отправленной рассылки

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

{
    "total": 2,
    "data": [
        {
            "id": 1,
            "user_id": 6615360,
            "campaign_id": 1,
            "template_id": null,
            "phone": 380931112233,
            "phone_cost": 41000,
            "currency_id": 3,
            "price_rate": 100000,
            "currency": {
                "id": 3,
                "currency_name": "Ukrainian hryvnias",
                "currency_abbr": "UAH",
                "currency_sign": "грн."
            },
            "created_at": "2020-05-06T15:45:58.000000Z",
            "status": 1,
            "status_detail": {
                "id": 1,
                "name": "to_send"
            }
        },
        {
            "id": 2,
            "user_id": 6615360,
            "campaign_id": 1,
            "template_id": null,
            "phone": 380931112234,
            "phone_cost": 41000,
            "currency_id": 3,
            "price_rate": 100000,
            "currency": {
                "id": 3,
                "currency_name": "Ukrainian hryvnias",
                "currency_abbr": "UAH",
                "currency_sign": "грн."
            },
            "created_at": "2020-05-06T15:45:58.000000Z",
            "status": 1,
            "status_detail": {
                "id": 1,
                "name": "to_send"
            }
        }
    ]
}

Описание статусов отправки на каждый номер:

Код Описание
1 готово к отправке
2 отправляется
3 отправлено
4 доставлено
5 ошибка
6 открыто
7 данный получатель не существует в системе ВК или ОК
8 срок жизни указанного ttl истек и сообщение не было доставлено
9 пользователь отписался
10 страна получателя на данный момент не поддерживается

Ошибки запроса

В случае неуспешного выполнения запроса с указанными параметрами, вы получите 400 код ответа HTTP с информацией об ошибке.

Пример структуры ошибок:

{
    "errors": {
        "message": [
            "The message field is required."
        ],
        "sender_id": [
            "The sender id field is required."
        ]
    }
}