API для обычных рассылок
            Для того, чтобы использовать API,  необходимо скачать библиотеку SendExpert API тут.
            Все данные передаются в кодировке UTF8. Возвращаемое значение в виде ассоциативного массива закодированного в виде JSON:
                {"error":"","result":[...]}.
            В случае ошибки в параметре «error» передается символьный код ошибки. В случае успеха данный параметр будет пустой.
                Результат передается в параметре «result» в зависимости от вызываемой функции.
            Пример использования SendExpert API
            
                    
                        # подключаем библиотеку
                        require_once 'SendExpertAPI.php';
                        # ID пользователя
                        $user_id = '1';
                        # Секретный ключ, который отображается в личном кабинете
                        $user_private_key = 'e10adc3xxxxxbe56e057f20f883e';
                        # создаем объект API указав в конструкторе ключи
                        $api = new cSendExpertAPI($user_id, $user_private_key);
                        echo "Получить отчет SMS-рассылки";
                        $res = $api->getSMSReport($project_ID = 96, $ID = 83);
                        if ($res['error'] == ""){
                            print_r($res['result']);
                        } else {
                            echo "Ошибка: ".$res['error'];
                        }
                    
                
         
        
        
            Получить список проектов текущего пользователя
            Вызов
            getProjects
            Входные параметры
            
            Результат возврата
            Список проектов текущего пользователя:
            
                
                    
                        | name | название проекта | 
                    
                        | ID | ID проекта | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [name] => ProjectName1
            [ID] => 1
        )
    [1] => Array
        (
            [name] => ProjectName2
            [ID] => 52
        )
}
				 
            
         
        
        
            Получить список полей базы для проекта
            Вызов
            getProjectsStructure
            Входные параметры
            
                
                    
                        | project_id | ID проекта, для которого необходимо получить список полей | 
                
            
            Результат возврата
            Список полей базы для проекта:
            
                
                    
                        | name | название поля | 
                    
                        | ID | ID поля | 
                    
                        | type | тип поля | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [name] => Электронный адрес
            [ID] => 1
            [type] => email
        )
    [1] => Array
        (
            [name] => Имя
            [ID] => 2
            [type] => text
        )
}
				 
            
         
        
        
            Получить всех подписчиков (экспорт)
            Вызов
            getSubscribers
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список подписчиков | 
                
            
            Результат возврата
            Список подписчиков:
            
                
                    
                        | ID | ID подписчика | 
                    
                        | 1 | значение поля с кодом "1" | 
                    
                        | ... | ... | 
                    
                        | х | значение поля с кодом "х" | 
                    
                        | GROUPS | список групп, к которым подключен данный пользователь | 
                    
                        | DATE | дата добавления подписчика | 
                    
                        | UNSUBSCRIBED | флаг отписки подписчика от рассылок | 
                    
                        | DISABLE | отключен или нет подписчик | 
                    
                        | ACTIVATED | подтверждение и активация подписчика администрацией | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [ID] => 23
            [1] => [email protected]
            [2] => Лилия
            [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412936959
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
    [1] => Array
        (
            [ID] => 34
            [1] => [email protected]
            [2] => Анна
	    [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412937514
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
)
				 
            
         
        
        
            Получить список пользователей по телефону или по его части
            Вызов
            getSubscribersByPhone
            Входные параметры
            
                
                    
                        | project_id | ID проекта, для которого необходимо получить список подписчиков | 
                    
                        | phone | полный номер телефона подписчика или его часть | 
                
            
            Например
            
				
                    $phone = '38(067)';
				
            
            Результат возврата
            Список пользователей:
            
                
                    
                        | ID | ID подписчика | 
                    
                        | 1 | значение поля с кодом "1" | 
                    
                        | ... | ... | 
                    
                        | х | значение поля с кодом "х" | 
                    
                        | GROUPS | список групп, к которым подключен данный пользователь | 
                    
                        | DATE | дата добавления подписчика | 
                    
                        | UNSUBSCRIBED | флаг отписки подписчика от рассылок | 
                    
                        | DISABLE | отключен или нет подписчик | 
                    
                        | ACTIVATED | подтверждение и активация подписчика администрацией | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [ID] => 1
            [1] => [email protected]
            [2] => Евгений
            [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412937697
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
    [1] => Array
        (
            [ID] => 12
            [1] => [email protected]
            [2] => Ольга
            [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412937023
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
}
				 
            
         
        
        
            Получить список пользователей по email или по его части
            Вызов
            getSubscribersByEmail
            Входные параметры
            
                
                    
                        | project_id | ID проекта, для которого необходимо получить список подписчиков | 
                    
                        | email | адрес электронной почты подписчика или его часть | 
                
            
            Например
            
				
                    $email = '@gmail.com';
				
            
            Результат возврата
            Список пользователей:
            
                
                    
                        | ID | ID подписчика | 
                    
                        | 1 | значение поля с кодом "1" | 
                    
                        | ... | ... | 
                    
                        | х | значение поля с кодом "х" | 
                    
                        | GROUPS | список групп, к которым подключен данный пользователь | 
                    
                        | DATE | дата добавления подписчика | 
                    
                        | UNSUBSCRIBED | флаг отписки подписчика от рассылок | 
                    
                        | DISABLE | отключен или нет подписчик | 
                    
                        | ACTIVATED | подтверждение и активация подписчика администрацией | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [ID] => 23
            [1] => [email protected]
            [2] => Василий
            [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412936959
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
    [1] => Array
        (
            [ID] => 34
            [1] => [email protected]
            [2] => Иван
	    [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412937514
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
}
				 
            
         
        
        
            Добавить подписчика
            Вызов
            addSubscriber
            Входные параметры
            
                
                
                    | project_id | ID проекта, в который необходимо добавить подписчика | 
                
                    | subscriber | массив с данными подписчика со структурой [ID поля] => [Значение] | 
                
                    | subscriber ["GROUPS"] | список групп, в которые необходимо подключить подписчика | 
                
                    | responder | ID автоответчика или массив с автоответчиками для API или параметр "ALL". Если указаны ID автоотчетчиков, тогда они будут запущены при успешном добавлении пользователя. Если указан параметр ALL - будут запущены все автоответчики для API для добавленного пользователя | 
                
            
            Например
            
				
$subscriber = array();
$subscriber[100] = '[email protected]';
$subscriber[500] = 'Тарас';
$subscriber["groups"] = array('31','54');
$responder = array(123,124);
				
            
            Результат возврата
            Массив:
            
                
                    
                        | id | ID подписчика | 
                    
                        | 1 | значение поля с кодом "1" | 
                    
                        | ... | ... | 
                    
                        | х | значение поля с кодом "х" | 
                    
                        | groups | список групп, к которым подключен данный пользователь | 
                    
                        | date | дата добавления подписчика | 
                    
                        | unsubscribed | флаг отписки подписчика от рассылок | 
                    
                        | disable | отключен или нет подписчик | 
                    
                        | activated | подтверждение и активация подписчика администрацией | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [ID] => 23
            [1] => [email protected]
            [2] => Василий
            [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412936959
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
    [1] => Array
        (
            [ID] => 34
            [1] => [email protected]
            [2] => Иван
	    [GROUPS] => Array
                (
                    [0] => Array
                        (
                            [ID] => 31
                            [name] => ProjectName1
                        )
                )
            [DATE] => 1412937514
            [UNSUBSCRIBED] => 0
            [DISABLE] => 0
            [ACTIVATED] => 1
        )
}
				 
            
         
        
        
            Редактировать подписчика
            Вызов
            editSubscriber
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо отредактировать подписчика | 
                    
                        | ID | ID подписчика | 
                    
                        | subscriber | массив с данными подписчика со структурой [ID поля] => [Значение] | 
                    
                        | subscriber ["groups"] | список групп, в которые необходимо подключить подписчика | 
                
            
            Например
            
				
$subscriber = array();
$subscriber[2] = 'Тарас1';
$subscriber["GROUPS"] = array();
				
            
            Результат
            “OK” в случае успешного изменения данных
         
        
        
            Удалить подписчика
            Вызов
            deleteSubscriber
            Входные параметры
            
                
                    
                        | project_id | ID проекта, с которого необходимо удалить подписчика | 
                    
                        | ID | ID подписчика | 
                
            
            Результат
            “OK” в случае успешного изменения данных
         
        
        
            Получить обратные адреса электронной почты
            Вызов
            getSenderEmails
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список обратных адресов электронной почты | 
                
            
            Результат возврата
            Массив элементов:
            
                
                    
                        | email | email адрес обратной электронной почты | 
                    
                        | ID | ID адреса обратной электронной почты | 
                    
                        | checked | флаг активности проверки адреса обратной электронной почты | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [email] => [email protected]
            [ID] => 6
            [checked] => 1
        )
    [1] => Array
        (
            [email] => [email protected]
            [ID] => 23
            [checked] => 1
        )
)
				 
            
         
        
        
            Получить список групп
            Вызов
            getGroupsList
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список альфа-имен | 
                    
                        | filter необязательный
 | полная или частичная маска для поиска в названии группы | 
                
            
            Результат возврата
            Список групп:
            
                
                    
                        | name | название группы | 
                    
                        | ID | ID группы | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [name] => Группа 1
            [ID] => 100
        )
    [1] => Array
        (
            [name] => Группа 2
            [ID] => 500
        )
)
				 
            
         
        
        
            Добавить группу
            Вызов
            addGroup
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо создать группу | 
                    
                        | name | название группы | 
                
            
            Результат возврата
            В случае успешного результата:
            
            Список возможных ошибок:
            
                
                    
                        | ERROR_NAME | название содержит запрещенные символы | 
                    
                        | ERROR_ALREADY_EXIST | группа с данным именем уже существует в системе | 
                
            
            Пример ответа
            
				  
Array
(
    [ID] => 100
)
				 
            
         
        
        
            Получить список Альфа-имен для SMS
            Вызов
            getAlphaNames
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список альфа-имен | 
                
            
            Результат возврата
            Список Альфа-имен:
            
                
                    
                        | name | альфа-имя | 
                    
                        | ID | ID альфа-имени | 
                    
                        | checked | флаг активности альфа-имени | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [name] => SENDEXPERT
            [ID] => 29
            [checked] => 1
        )
)
				 
            
         
        
        
            Отправить SMS-сообщение подписчикам
            Вызов
            sendSMS
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо отправить SMS-сообщение | 
                    
                        | alphaname_id | ID альфа-имени, которое будет использоваться в качестве отправителя | 
                    
                        | subscribers | список ID пользовтелей, которым необходимо отправить SMS | 
                    
                        | message | сообщение, которое необходимо отправить (поддерживается персонализация) | 
                    
                        | date | дата отправки SMS-сообщения в формате UNIXTIME | 
                
            
            Например
            
				
$subscribers = array();
$subscribers[] = 337361;
$subscribers[] = 43235;
$message = "Привет {{Имя}}! Это тест API!";
$date = mktime();
$res = $api->sendSMS($project_ID = 96, $alphaname_id = 29, $subscribers, $message, $date);
				
            
            Результат возврата
            Массив:
            
            Пример ответа
            
				  
Array
(
    [ID] => 84
)
				 
            
         
        
        
            Получить список SMS-рассылок
            Вызов
            getSMSList
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список SMS-рассылок | 
                    
                        | time_start | дата и время начала отчета в формате UNIXTIME | 
                    
                        | time_end | дата и время окончания отчета в формате UNIXTIME | 
                
            
            Например
            
				
$time_start = strtotime("-2 days");
$time_end = time();
$res = $api->getSMSList($project_ID = 96, $time_start, $time_end);
				
            
            Результат возврата
            Список SMS-рассылок в формате:
            
                
                    
                        | id | ID рассылки | 
                    
                        | alphanameID | ID Альфа-имени от которого отправлена рассылка | 
                    
                        | body | содержание рассылки | 
                    
                        | time_start | дата и время старта рассылки в формате UNIXTIME | 
                    
                        | type | статус рассылки | 
                    
                        | date_create | дата создания рассылки в формате UNIXTIME | 
                    
                        | price | стоимость рассылки в у.е. | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [ID] => 84
            [alphanameID] => 29
            [body] => SMS работает!
            [time_start] => 1437135207
            [type] => in_proccess
            [date_create] => 2015-07-17 12:13:28
            [price] => 0.023399
        )
    [1] => Array
        (
            [ID] => 83
            [alphanameID] => 29
            [body] => Привет {{Имя}}! Это тест API!
            [time_start] => 1436799595
            [type] => sended
            [date_create] => 2015-07-13 15:00:23
            [price] => 0.023399
        )
)
				 
            
         
        
        
            Получить отчёт SMS-рассылки
            Вызов
            getSMSReport
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список SMS-рассылок | 
                    
                        | ID | ID SMS-рассылки | 
                
            
            Результат возврата
            Список SMS-рассылок в формате:
            
                
                    
                        | total | количество подписчиков, которым будет отправлено сообщение | 
                    
                        | sended | количество подписчиков, которым уже было отправлено сообщение | 
                    
                        | delivered | количество подписчиков, которые получили сообщение | 
                    
                        | not_delivered | количество подписчиков, которые не получили сообщение | 
                    
                        | not_exist | количество подписчиков, у котрых несуществующий номер телефона | 
                    
                        | alphanameID | ID Альфа-имени от которого отправлена рассылка | 
                    
                        | body | содержание рассылки | 
                    
                        | time_start | дата и время старта рассылки в формате UNIXTIME | 
                    
                        | type | статус рассылки | 
                    
                        | date_create | дата создания рассылки | 
                    
                        | price | стоимость рассылки в у.е. | 
                
            
            Пример ответа
            
				  
Array
(
    [total] => 1
    [sended] => 1
    [delivered] => 0
    [not_delivered] => 0
    [not_exist] => 0
    [alphanameID] => 29
    [body] => Привет {{Имя}}! Это тест API!
    [time_start] => 1436799595
    [type] => sended
    [date_create] => 2015-07-13 15:00:23
    [price] => 0.023399
)
				 
            
         
        
        
            Получить список email-рассылок
            Вызов
            getMailList
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список email-рассылок | 
                    
                        | time_start | дата и время начала отчета в формате UNIXTIME | 
                    
                        | time_end | дата и время окончания отчета в формате UNIXTIME | 
                
            
            Например
            
				
$time_start = strtotime("-2 days");
$time_end = time();
$res = $api->getMailList($project_ID = 96, $time_start, $time_end);
				
            
            Результат возврата
            Список email-рассылок в формате:
            
                
                    
                        | ID | ID email-рассылки | 
                    
                        | fromID | ID обратного адреса электронной почты | 
                    
                        | sender_name | имя отправителя | 
                    
                        | subject | тема письма (поддерживает персонализацию) | 
                    
                        | body | содержимое письма (поддерживает персонализацию) | 
                    
                        | alternate_body | альтернативный текст письма без тегов, для text-plain отображения | 
                    
                        | images_place | место хранения рисунков | 
                    
                        | time_start | дата и время старта рассылки в формате UNIXTIME | 
                    
                        | type | статус рассылки | 
                    
                        | date_create | дата создания рассылки | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [ID] => 827
            [fromID] => 160
            [sender_name] => ИмяОтправителя
            [subject] => Тема письма для {{Имя}}!
            [body] => Привет {{Имя}}! Это тест API!
            [alternate_body] => Привет {{Имя}}! Это тест API!
            [images_place] => server
            [time_start] => 1436883244
            [type] => sended
            [date_create] => 2015-07-14 14:14:29
        )
    [1] => Array
        (
            [ID] => 826
            [fromID] => 160
            [sender_name] => Апи
            [subject] => Тема письма!
            [body] => Тест работает. Ура!
            [alternate_body] => Тест работает. Ура!
            [images_place] => server
            [time_start] => 1436883216
            [type] => sended
            [date_create] => 2015-07-14 14:14:28
        )
)
				 
            
         
        
        
            Получить отчёт email-рассылки
            Вызов
            getMailReport
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список email-рассылок | 
                    
                        | ID | ID email-рассылки | 
                
            
            Результат возврата
            Список email-рассылок в формате:
            
                
                    
                        | total | общее количество писем | 
                    
                        | sended | количество отправленных email-писем | 
                    
                        | delivered | количество доставленных | 
                    
                        | opened | количество открытых писем | 
                    
                        | with_moving | количество писем с переходами | 
                    
                        | moved | количество переходов по ссылкам из писем | 
                    
                        | not_delivered | количество недоставленных писем | 
                    
                        | unsubscribed | количество отписавшихся подписчиков | 
                    
                        | unsubscribed_as_spam | количество пожаловавшихся на СПАМ | 
                    
                        | fromID | ID обратного адреса электронной почты | 
                    
                        | sender_name | имя отправителя | 
                    
                        | subject | тема письма (поддерживает персонализацию) | 
                    
                        | body | содержимое письма (поддерживает персонализацию) | 
                    
                        | alternate_body | альтернативный текст письма без тегов, для text-plain отображения | 
                    
                        | images_place | место хранения рисунков | 
                    
                        | time_start | дата и время старта рассылки в формате UNIXTIME | 
                    
                        | type | статус рассылки | 
                    
                        | date_create | дата создания рассылки | 
                
            
            Пример ответа
            
				  
Array
(
    [total] => 2
    [sended] => 2
    [delivered] => 2
    [opened] => 1
    [with_moving] => 0
    [moved] => 0
    [not_delivered] => 0
    [unsubscribed] => 0
    [unsubscribed_as_spam] => 0
    [fromID] => 160
    [sender_name] => Тест
    [subject] => Привет {{Имя}} - {{Номер телефона}} - {{Электронный адрес}}
    [body] => Тело письма
    [alternate_body] =>
    [images_place] => server
    [time_start] => 1432044523
    [type] => sended
    [date_create] => 2015-05-19 14:13:17
}
				 
            
         
        
        
            Получить список автоответчиков для API
            Вызов
            getResponderList
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить список автоответчиков предназначеных для API | 
                
            
            Результат возврата
            Список email-рассылок в формате:
            
                
                    
                        | ID | ID автоответчика | 
                    
                        | mailID | ID письма для автоответчика | 
                    
                        | time_type | тип временного интервала для срабатывания автоответчика | 
                    
                        | time_send | 
                                  
Array
(
    [days] — количество дней до старта автоответчика;
    [time_hour] — количество часов;
    [time_minutes] — количество минут.
)
                                 | 
                
            
            Пример ответа
            
				  
Array
(
    [0] => Array
        (
            [ID] => 19
            [mailID] => 819
            [time_type] => timeleft
            [time_send] => Array
                (
                    [days] => 0
                    [time_hour] => 0
                    [time_minutes] => 5
                )
        )
)
				 
            
         
        
        
            Отправить Email-сообщение подписчикам
            Вызов
            sendMail
            Входные параметры
            
                
                    
                        | project_id | ID проекта, в котором необходимо получить отправить рассылку | 
                    
                        | subscribers | массив ID подписчиков, которым необходимо отправить рассылку. Не более 1000 подписчиков в списке. Если необходимо отправить большему количеству - необходимо использовать фильтры или группы. Для того, чтобы отправить всем по базе - передаваемый параметр $subscribers = "ALL"; | 
                    
                        | subject | тема email-рассылки (поддерживает персонализацию) | 
                    
                        | message | содержание рассылки (поддерживает персонализацию) | 
                    
                        | sender_id | ID адреса обратного электронного адреса отправителя | 
                    
                        | sender_name | имя отправителя | 
                    
                        | date | время старта рассылки в формате UNIXTIME | 
                    
                        | filter_id | если указан: отправка по ID фильтру в системе | 
                    
                        | group_id | если указан: отправка по ID группы в системе | 
                
            
            Например
            
				
$subscribers = array();
$subscribers[] = 337361;
$subscribers[] = 438106;
$subject = "Тема письма для {{Имя}}!";
$message = "Привет {{Имя}}! Это тест API!";
$sender_id = 160;
$sender_name = "Имя Отправителя";
$date = mktime();
$filter_id = 0;
$group_id = 0;
$res = $api->sendMail($project_ID = 96, $subscribers, $subject, $message, $sender_id, $sender_name, $date, $filter_id, $group_id);
				
            
            Результат возврата
            Массив:
            
                
                    
                        | ID | ID созданной email-рассылки | 
                
            
            Пример ответа
            
				  
Array
(
    [ID] => 828
)