API для SMS рассылок

Добавить телефоны в адресную книгу без переменных

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

https://api.sendpulse.com/sms/numbers

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

Параметр Тип Описание  
addressBookId int ID адресной книги required
phones array Массив телефонов required

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

{
    "addressBookId": 434443,
    "phones": ["380986235698", "3800685321598"]
}

В случае успешного запроса вы получите ответ:

{
    "result": true,
    "counters": {
        "added": 2,
        "exceptions": 0,
        "exists": 0
    }
}

Добавить телефоны в адресную книгу с переменными

Чтобы добавить телефоны к адресной книге c переменными, отправьте POST запрос по ссылке:

https://api.sendpulse.com/sms/numbers/variables

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

Параметр Тип Описание  
addressBookId int ID адресной книги required
phones array Массив телефонов с переменными required

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

{
   "phones":{
      "380632631234":[
         [
            {
               "name":"Date",
               "type":"date",
               "value":"2018-10-10"
            },
            {
               "name":"Name",
               "type":"string",
               "value":"Name"
            }
         ]
      ],
      "38063333333":[
         [
            {
               "name":"Date",
               "type":"date",
               "value":"2018-10-10"
            },
            {
               "name":"Name",
               "type":"string",
               "value":"Name"
            }
         ]
      ]
   },
   "addressBookId":434443
}

Дата при этом не должна содержать времени, например: "2018-10-10 23:00:00" - НЕверный формат значения переменной, а "2018-10-10" — верный.

В случае успешного запроса вы получите ответ:

[
   {
      "result":true,
      "counters":{
         "added":2,
         "exceptions":0,
         "exists":83
      }
   }
]

Изменить значение переменных для одного контакта

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

https://api.sendpulse.com/addressbooks/{id}/phones/variable

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

Параметр Тип Описание  
phone string Телефонный контакт, для которого будет заменена переменная required
id int ID адресной книги в которой находится нужный контакт required
variables array Массив переменных required

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

{
   "phone":"380931112233",
   "variables":[
      {
         "name":"name",
         "value":"John"
      },
      {
         "name":"date",
         "value":"2019-02-01"
      }
   ]
}

В переменную типа string возможно установить как числовое значение, так и значение типа int или date(YYYY-MM-DD); в переменную типа number возможно установить только число. В переменную типа date возможно установить только дату, которая передана в формате YYYY-MM-DD. Другие форматы не поддерживаются: к примеру, валидный формат даты : 2017-01-01, а не валидный: 2017-1-1.

В случае успешного запроса вы получите ответ:

{
    "result": true
}

Обновить список переменных по нескольким контактам

Чтобы обновить список переменных по массиву контактов, отправьте PUT запрос по ссылке:

https://api.sendpulse.com/sms/numbers

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

Параметр Тип Описание  
addressBookId int ID адресной книги required
phones array Массив телефонов required
variables array Массив переменных required

Пример параметра phones:

["380933170413","380988365096","380956045455","380635962561"]

Пример параметра variables:

[
   {"name":"test1","type":"date", "value":"2018-10-10 23:00:00"},
   {"name":"test2","type":"string", "value":"czxczxczx"},
   {"name":"test3", "type":"number", "value":12312312312}
]

В случае успешного запроса вы получите ответ:

[
   {
      "result":true,
      "counters":{
         "updated":4
      }
   }
]

Изменить значение телефонного номера для одного контакта

Чтобы изменить или добавить значение телефонного номера для контакта в адресной книге, отправьте PUT запрос по ссылке:

https://api.sendpulse.com/addressbooks/{{id}}/phone

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

Параметр Тип Описание  
id int ID адресной книги required
email string Связанный Email адрес контакта required
phone string Номер телефона для добавления или изменения required

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

{
    "email":" user1@example.com",
    "phone":"1234567890"
}

В случае успешного запроса вы получите ответ:

{
    "result": true
}

Удалить телефоны из адресной книги

Чтобы удалить телефоны из адресной книги, отправьте DELETE запрос по ссылке:

https://api.sendpulse.com/sms/numbers

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

Параметр Тип Описание  
phones array Список телефонов required
addressBookId int ID адресной книги required

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

{
    "addressBookId": 434443,
    "phones": ["380986235698", "380685321598"]
}

В случае успешного запроса вы получите ответ:

{
    "result": true,
    "counters": {
        "deleted": 2
    }
}

Получить информацию о телефонном номере

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

https://api.sendpulse.com/sms/numbers/info/{id}/{phoneNumber}

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

Параметр Тип Описание  
phoneNumber string Номер телефона required
id int ID адресной книги required

В случае успешного запроса вы получите ответ:

{
    "result": true,
    "data": {
        "email": "example@gmail.com",
        "status": 0,
        "variables": {
            "Date": "2018-10-10",
            "Name": "John"
        },
        "added": "2021-07-06 09:35:48"
    }
}

Добавить номер в черный список

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

https://api.sendpulse.com/sms/black_list

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

Параметр Тип Описание  
phones array Список телефонов required
description string Описание required

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

{
    "phones": ["350905623479", "350915623471"],
    "description": "description"
}

В случае успешного запроса вы получите ответ:

[
   {
      "result":true,
      "counters":{
         "added":2,
         "exists":3
      }
   }
]

Удалить номер из черного списка

Чтобы удалить телефона из черного списка, отправьте DELETE запрос по ссылке:

https://api.sendpulse.com/sms/black_list

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

Параметр Тип Описание  
phones array Список телефонов required

В случае успешного запроса вы получите ответ:

[  
   {  
      "result":true,
      "counters":{  
         "removed":3
      }
   }
]

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

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

https://api.sendpulse.com/sms/black_list

В случае успешного запроса вы получите ответ:

{
    "result": true,
    "data": [
        {
            "phone": "350965623471",
            "description": "description",
            "add_date": "2021-08-02 12:10:25"
        },
        {
            "phone": "350965623479",
            "description": "description",
            "add_date": "2021-08-02 12:10:25"
        }
    ]
}

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

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

https://api.sendpulse.com/sms/black_list/by_numbers

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

Параметр Тип Описание  
phones array Список телефонов required

В случае успешного запроса вы получите ответ:

[
   {
      "result":true,
      "data":[
         {
            "phone":380506383302,
            "description":"texst",
            "add_date":"2017-02-27 10:48:22"
         }
      ]
   }
]

Создать рассылку по адресной книге

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

https://api.sendpulse.com/sms/campaigns

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

Параметры Тип Описание  
sender string Имя отправителя SMS (до 11 символов латиницей, можно с цифрами) required
addressBookId int Адресная книга required
body string Текст рассылки required
route* object Список каналов для отправки по странам, например, {"UA":"national", "BY":"international"} optional
date string Дата рассылки в формате Y-m-d H:i:s optional
emulate int Запускает тестовый режим; если emulate=1 рассылка формируется,
но не будет отправлена и в панели пользователя не отобразится.
В ответе API ID рассылки будет равен 0
optional

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

Для отправки по национальному каналу в Украину необходимо одобренное имя отправителя.

Если нет одобренного имени отправителя в Украину, для доставки смс в эти страны нужно указывать международный канал.

Все сообщения подлежат модерации, поэтому доставка SMS может занять несколько минут.

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

{
   "sender":"Sender",
   "addressBookId":422325,
   "body":"body",
   "route":{
      "UA":"international"
   },
   "date":"2021-07-07 10:00:00",
   "emulate":0
}

В случае успешного запроса вы получите ответ:

{
    "result": true,
    "campaign_id": 5033111
}

Создать рассылку по телефонному списку

Чтобы создать рассылку по телефонному списку (или на один номер), отправьте POST запрос по ссылке:

https://api.sendpulse.com/sms/send

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

Параметр Тип Описание  
sender string Имя отправителя SMS (до 11 символов латиницей, можно с цифрами) required
phones array Список телефонов required
body string Текст рассылки required
route* object Список каналов для отправки по странам, например, {"UA":"national", "BY":"international"} optional
emulate int Запускает тестовый режим; если emulate=1 рассылка формируется,
но не будет отправлена и в панели пользователя не отобразится.
В ответе API ID рассылки будет  равен 0
optional
use_dynamic_list boolean Используется для отправки на динамический список для запланированной рассылки. В динамический список входят контакты, которые добавились в книгу с времени создания рассылки до отправки рассылки. Параметр доступен на платном тарифе. По умолчанию: false. optional
date string Дата рассылки в формате Y-m-d H:i:s optional

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

Для отправки по национальному каналу в Украину необходимо одобренное имя отправителя.

Если нет одобренного имени отправителя в Украину, для доставки смс в эти страны нужно указывать международный канал.

Все сообщения подлежат модерации, поэтому доставка SMS может занять несколько минут.

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

{
   "sender":"Sender",
   "phones":[
      "380986158966",
      "380930452313"
   ],
   "body":"body",
   "route":{
      "UA":"international"
   },
   "emulate":0,
   "use_dynamic_list":true,
   "date":"2021-07-07 10:00:00"
} 

В случае успешного запроса вы получите ответ:

{
    "result": true,
    "campaign_id": 503422,
    "counters": {
        "exceptions": 0,
        "sends": 2
    }
}

Получить список рассылок по датам

Чтобы получить список рассылок по датам, отправьте GET запрос по ссылке:

https://api.sendpulse.com/sms/campaigns/list

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

Параметр Тип Описание  
dateFrom string Дата от в формате Y-m-d H:i:s optional
dateTo string Дата до в формате Y-m-d H:i:s optional

Пример URL запроса c дополнительными параметрами:

https://api.sendpulse.com/sms/campaigns/list?dateFrom=2021-07-05 07:48:22&dateTo=2021-07-07 07:48:22

В случае успешного запроса вы получите ответ:

{
   "result":true,
   "data":[
      {
         "id":508962,
         "address_book_id":0,
         "company_price":"1.28000",
         "company_currency":"UAH",
         "send_date":"2021-07-07 07:00:00",
         "date_created":"2021-07-06 11:20:01",
         "sender_name":"Sender"
      },
      {
         "id":503358,
         "address_book_id":4225856,
         "company_price":"0.64000",
         "company_currency":"UAH",
         "send_date":"2021-07-07 07:48:22",
         "date_created":"2021-07-06 11:04:52",
         "sender_name":"Sender"
      }
   ]
}

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

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

https://api.sendpulse.com/sms/campaigns/info/{id}

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

Параметр Тип Описание  
id int ID рассылки required

В случае успешного запроса вы получите ответ:

[  
   {  
      "result":true,
      "data":{  
         "id":7520226,
         "address_book_id":0,
         "currency":"UAH",
         "company_price":0.54,
         "send_date":"2018-09-13 11:03:22",
         "date_created":"2018-09-13 11:03:22",
         "sender_name":"AFK",
         "task_phones_info":[  
            {  
               "phone":380956045455,
               "status":2,
               "status_explain":"Delivered",
               "сountry_code":"UA",
               "money_spent":0.27
            },
            {  
               "phone":380985587288,
               "status":2,
               "status_explain":"Delivered",
               "сountry_code":"UA",
               "money_spent":0.27
            }
         ]
      }
   }
]

Статусы отправки:

Код Название Описание
0 Ready to send Готово к отправке
1 Sent Отправлено
2 Delivered Доставлено
12 Not delivered Не доставлено

Отменить рассылку

Используется для запланированных рассылок.

Чтобы отменить рассылку, отправьте PUT запрос по ссылке:

https://api.sendpulse.com/sms/campaigns/cancel/{id}

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

Параметр Тип Описание  
id int ID рассылки required

В случае успешного запроса вы получите ответ:

{
    "result": true
}

Получить стоимость рассылки

Чтобы получить стоимость рассылки, отправьте GET запрос по ссылке:

https://api.sendpulse.com/sms/campaigns/cost

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

Параметр Тип Описание  
addressBookId int ID адресной книги  required*
phones array Список телефонов  required*
body string Тело сообщения required
sender string Отправитель required
route object Список каналов для отправки по странам, например, {"UA":"national", "BY":"international"} required

Обратите внимание, что данные необходимо кодировать в URL формат.

* Если не указана адресная книга, то обязательно должен быть указан список телефонов, и наоборот.

Если выбран маршрут internationalsender можно не указывать для некоторых стран.

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

{
   "addressBookId":422325,
   "body":"body",
   "sender":"Sender",
   "route":{
      "UA":"national"
   }
}

В случае успешного запроса вы получите ответ:

{
   "result":true,
   "data":{
      "price":14.679,
      "currency":"UAH"
   }
}

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

Для получения списка всех зарегистрированных/отправленных на регистрацию/отклоненных имен отправителя для СМС, отправьте GET запрос по ссылке:

https://api.sendpulse.com/sms/senders

В случае успешного запроса вы получите ответ:

[
    {
        "id": 18021,
        "sender": "apicheck",
        "country": "Ukraine",
        "country_code": "UA",
        "status": 2,
        "status_explain": "Rejected"
    },
    {
        "id": 4786,
        "sender": "iQA",
        "country": "Ukraine",
        "country_code": "UA",
        "status": 1,
        "status_explain": "Active"
    },
    {
        "id": 4787,
        "sender": "iQA",
        "country": "Ukraine",
        "country_code": "UA",
        "status": 1,
        "status_explain": "Active"
    },
    {
        "id": 18027,
        "sender": "rejectit",
        "country": "Ukraine",
        "country_code": "UA",
        "status": 0,
        "status_explain": "On moderation"
    }
]

Возможные статусы отправителя:

Код Описание
0 На модерации
1 Активный
2 Отклонен

Удалить рассылку

Чтобы удалить рассылку, отправьте DELETE запрос по ссылке:

https://api.sendpulse.com/sms/campaigns

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

Параметр Тип Описание  
id int ID рассылки required

В случае успешного запроса вы получите ответ:

{
    "result": true
}