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

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

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

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

addressBookId идентификатор адресной книги (int)
phones массив телефонов в json формате

Пример ответа для информации по книге:

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

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

Для обновления списка переменных по телефонному номеру отправляется PUT запрос по ссылке

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

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

addressBookId идентификатор адресной книги (int)
phones массив телефонов в json формате
variables массив переменных в json формате

Пример параметра 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
   }
 }
]
 

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

Для удаления телефона из адресной книги отправляется DELETE запрос по ссылке

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

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

phones список телефонов в json
addressBookId id адресной книги

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

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

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

Для получения информации о телефонном номере отправляется GET запрос по ссылке

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

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

phoneNumber номер телефона
addressBookId id адресной книги

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

[
 {
   "result": true,
   "data": {
     "status": 1,
     "variables": {
       "test1": "2018-10-10 23:00:00",
       "test2": "czxczxczx",
       "test3": 12312312312
     },
    "added": "2017-02-21 13:19:47" 
    }
 }
]
 

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

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

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

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

phones список телефонов в json
description описание

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

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

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

Для удаления телефона из черного списка отправляется DELETE запрос по ссылке

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

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

phones список телефонов в json

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

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

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

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

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

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

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

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

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

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

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

phones список телефонов в json

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

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

Создать кампанию по адресной книге

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

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

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

sender имя отправителя SMS (до 11 символов латиницей, можно с цифрами)
addressBookId адресная книга
body текст рассылки
transliterate 1 или 0 , транслитерация тела
route* cписок каналов для отправки по странамв json (опционально), пример {"UA":"national", "BY":"international"}
date дата рассылки в формате Y-m-d H:i:s (опционально)
emulate опциональный параметр запускает тестовый режим: если emulate=1, рассылка формируется,
но не будет отправлена; в панели пользователя рассылка не отобразится.
В ответе API, ID рассылки будет =0

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

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

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

[
 {
  "result": true,
  "campaign_id": 2623084
 }
]
 

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

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

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

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

sender имя отправителя SMS (до 11 символов латиницей, можно с цифрами)
phones список телефонов в json
body текст рассылки
transliterate 1 или 0 , транслитерация тела
route* список каналов для отправки по странамв json (опционально) , пример {"UA":"national", "BY":"international"}
emulate опциональный параметр запускает тестовый режим: если emulate=1, рассылка формируется,
но не будет отправлена; в панели пользователя рассылка не отобразится.
В ответе API, ID рассылки будет =0
date дата рассылки в формате Y-m-d H:i:s (опционально)

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

[
 {
   "result": true,
   "campaign_id": 2623085,
   "counters": {
     "exceptions": 0,
     "sends": 3
   }
 }
]
 

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

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

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

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

dateFrom дата от в формате Y-m-d H:i:s
dateTo дата до в формате Y-m-d H:i:s

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

[
 {
   "result": true,
   "data": [ {
     "id": 2136035,
     "address_book_id": 0,
     "company_price": 0.81,
     "company_currency": "UAH",
     "send_date": "2017-01-18 08:15:18",
     "date_created": "2017-01-18 08:15:18",
     "sender_mail_address": "",
     "sender_mail_name": "",
     "external_stat": []
   }, 
   {
   "id": 2136036,
   "address_book_id": 0,
   "company_price": 0.27,
   "company_currency": "UAH",
   "send_date": "2017-01-18 11:59:52",
   "date_created": "2017-01-18 11:59:52",
   "sender_mail_address": "",
   "sender_mail_name": "",
   "external_stat": []
   },
   ]
 }
]
 

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

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

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

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

{id} id рассылки

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

[  
   {  
      "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} id рассылки

В случае успеха сервер возвращает ответ со значением result = true

 

Получить стоимость кампании

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

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

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

addressBookId id адресной книги (опционально)
phones список телефонов в json (опционально)
body тело сообщения
sender отправитель
route* cписок каналов для отправки по странам в json (опционально) , пример {"UA":"national", "BY":"international"}

Обратите внимание, что данные необходимо кодировать в URL формат.
Если не указана адресная книга, то обязательно должен быть указан список телефонов и наоборот.
Если выбран маршрут "international", сендер можно не указывать для некоторых стран.

 

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

[
 {
   "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 id кампании

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

[
 {
   "result": false | true
 }
]
 

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

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

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

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

addressBookId айди адресной книги (int)
phones массив телефонов в формате json (см пример ниже)

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

{  
   "phones":{  
      "380632631234":[  
         [  
            {  
               "name":"test1",
               "type":"date",
               "value":"2018-10-10"
            },
            {  
               "name":"test2",
               "type":"string",
               "value":"czxczx"
            },
            {  
               "name":"test3",
               "type":"number",
               "value":"123"
            }
         ]
      ],
      "38063333333":[  
         [  
            {  
               "name":"test1",
               "type":"date",
               "value":"2018-10-10"
            },
            {  
               "name":"test2",
               "type":"string",
               "value":"czxczxczx"
            },
            {  
               "name":"test3",
               "type":"number",
               "value":"456"
            }
         ]
      ]
   },
   "addressBookId":1886620
}

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

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


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

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

Для того чтобы изменить переменную для телефонного номера, необходимо отправить post запрос на:

https://api.sendpulse.com/addressbooks/addressBookId/phones/variable

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

phone телефонный контакт, для которого будет заменена переменная с именем name на значение John
addressBookId ID адресной книги в которой находится нужный телефон и переменная с именем name

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

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

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