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

Для добавления телефона в адресную книгу отправляется 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 доставлено
8 expired срок доставки истек (получатель вне зоны доступа более 48 часов
11 spam сообщение не прошло спам-фильтры сервиса
12 not delivered не доставлено
16 invalid phone number неверный номер телефона
80 in process идет отправка
 

Отменить кампанию

Используется для компаний, которые еще не стартовали, запланированные компании

Чтобы отменить кампанию, отправляется 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.