218 lines
17 KiB
PHP
218 lines
17 KiB
PHP
<?
|
||
|
||
|
||
namespace integration;
|
||
|
||
class UnisenderAPI{
|
||
|
||
const UNI_COMMAND = 'command';
|
||
// КОМАНДЫ
|
||
// ПАРТНЕРСКИЕ САЙТЫ
|
||
const UNI_COMMAND_CHANGE_TARIF = 'changeTariff'; // Метод для смены тарифного плана у пользователя.
|
||
const UNI_COMMAND_CHECK_USER_EXIST = 'checkUserExists'; // Проверяет, зарегистрирован ли пользователь с заданым login или email. Предназначен для вызова только реселлерами.
|
||
const UNI_COMMAND_GET_AVAILABLE_TARIFFS = 'getAvailableTariffs'; // Метод для получения списка тарифов. Данный метод возможен только для аккаунтов, у которых имеется статус реселлера.
|
||
const UNI_COMMAND_GET_CHECKED_EMAIL = 'getCheckedEmail'; //Метод возвращает объект с подтвержденными и неподтвержденными адресами отправителя. Неподтвержденный адрес отправителя — адрес, на который было выслано письмо со ссылкой для подтверждения обратного адреса, но по ссылке подтверждения из письма не переходили.
|
||
const UNI_COMMAND_GET_USER_INFO = 'getUserInfo'; // Метод для получения информации о пользователе и состоянии его счёта
|
||
|
||
const UNI_COMMAND_GET_USERS = 'getUsers'; // Метод для получения информации о пользователях прикреплённых к партнёру.
|
||
const UNI_COMMAND_REGISTER = 'register'; // Метод позволяет регистрировать пользователей как реселлерам, так и обычным пользователям. Полезен для партнёрских сайтов, желающих создать свою собственную страницу регистрации. Регистрируемый пользователь в таком случае автоматически закрепляется за партнёром. Обычный пользователь также может использовать метод register для ряда случаев.
|
||
const UNI_COMMAND_SET_SENDER_DOMAIN = 'setSenderDomain'; //Система зарегистрирует домен в списке для аутентификации и сгенерирует для него dkim-ключ.
|
||
const UNI_COMMAND_TRANSFER_MONEY = 'transferMoney'; // Метод для перевода денег со счёта одного пользователя на счёт другого. Оба пользователя должны быть прикреплены к вызывающему метод пользователю-реселлеру. Также можно переводить деньги со своего или на свой счёт.
|
||
const UNI_COMMAND_VALIDATE_SENDER = 'validateSender'; // Метод отправляет по адресу email письмо со ссылкой на подтверждение адреса в качестве обратного. После перехода по этой ссылке можно будет отправлять письма от имени этого email-адреса
|
||
// ПОЛУЧЕНИЕ СТАТИСТИКИ
|
||
const UNI_COMMAND_GET_CAMPAIGN_COMMON_STATS = 'getCampaignCommonStats'; // Получить общие сведения о результатах доставки сообщений в заданной рассылке
|
||
const UNI_COMMAND_GET_CAMPAIGN_DELIVERY_STATS = 'getCampaignDeliveryStats'; // Получить отчёт по результатам доставки сообщений в заданной рассылке.
|
||
const UNI_COMMAND_GET_CAMPAIGNS = 'getCampaigns'; // Метод для получения перечня всех имеющихся рассылок. Количество получаемых за раз рассылок ограничено числом 10000. Для получения полного списка рассылок при их количестве более 10000, используйте параметры from и to.
|
||
const UNI_COMMAND_GET_CAMPAIGNS_STATUS = 'getCampaignStatus'; // Узнать статус рассылки, созданной командой UNI_COMMAND_GET_CAMPAIGNS
|
||
const UNI_COMMAND_GET_MESSAGE = 'getMessage'; // Метод для получения информации об SMS или email сообщении.
|
||
const UNI_COMMAND_GET_MESSAGES = 'getMessages'; // Данный метод используется для получения списка писем, созданных как через личный кабинет UniSender, так и через API (createEmailMessage + createCampaign и т.п.). Для отображения списка писем необходимо задать временные рамки поиска и ваш API-ключ. Дополнительно можно указать количество писем для отображения в одном запросе, позицию, с которой будет отображаться список писем по данному запросу и формат для отображения возвращаемых данных (json/html).
|
||
const UNI_COMMAND_GET_VISITED_LINKS = 'getVisitedLinks'; // Получить отчёт по посещенным пользователями ссылкам в указанной email рассылке
|
||
const UNI_COMMAND_LIST_MESSAGES = 'listMessages'; // Данный метод используется для получения списка всех сообщений, созданных как через личный кабинет UniSender, так и через API. Метод работает как getMessages, отличие listMessages — не возвращается тело письма и вложения, но при этом возвращается login пользователя. Для получения тела и вложений используйте метод getMessage.
|
||
const UNI_COMMAND = 'command';
|
||
const UNI_COMMAND = 'command';
|
||
const UNI_COMMAND = 'command';
|
||
const UNI_COMMAND = 'command';
|
||
|
||
|
||
|
||
// ПАРАМЕНТРЫ
|
||
|
||
const UNI_ERROR = 'error';
|
||
const UNI_RESULT = 'result';
|
||
|
||
const UNI_API_KEY = 'api_key';
|
||
const UNI_LOGIN = 'login';
|
||
const UNI_TARIFF_ID = 'tariff_id';
|
||
const UNI_CHARGED_SUM = 'charged_sum';
|
||
const UNI_CHARGED_BONUS = 'charged_bonus';
|
||
const UNI_START_TIME = 'start_time';
|
||
const UNI_END_TIME = 'end_time';
|
||
const UNI_EMAIL = 'email';
|
||
const UNI_REGISTER_AFTER = 'registered_after';
|
||
const UNI_REGISTER_BEFORE = 'registered_before';
|
||
const UNI_NEED_CONFIRM = 'need_confirm'; // подтверждение регистрации
|
||
const UNI_PASSWORD = 'password'; // Пароль для нового пользователя. Если не указан, то генерируется случайный.
|
||
const UNI_NOTIFY = 'notify'; // 0 или 1 (по-умолчанию 0) – посылать ли новому пользователю приветственное письмо с паролем.
|
||
const UNI_EXTRA = 'extra'; // Ассоциативный массив дополнительных полей. Поддерживаются дополнительные поля: «firstname», «channel», если need_confirm = 1 то extra может принимать еще 3-три параметра «lastname», «company», «phone».
|
||
const UNI_TIMEZONE = 'timezone'; // Europe/Minsk
|
||
const UNI_COUNTRY_CODE = 'country_code'; // Трёхбуквенный код страны по ISO 3166-1 alpha-3. Если не указан, будет установлено значение «ZZZ».
|
||
const UNI_CURRENCY_CODE = 'currency_code'; // Трёх буквенный код валюты счёта пользователя. На данный момент возможны RUB, USD, EUR и UAH.
|
||
const UNI_IP = 'ip'; // IP-адрес, с которого поступила заявка о регистрации, в формате «NNN.NNN.NNN.NNN».
|
||
const UNI_TEST_MODE = 'test_mode'; // Тестовое создание пользователя, принимает значения 0 (выкл), 1 (вкл) по умолчанию 0.
|
||
const UNI_DOMAIN = 'domain'; // Имя домена, без указания протокола. Например, example.com.
|
||
const UNI_USER_NAME = 'username'; // Логин пользователя в системе.
|
||
const UNI_SOURCE_LOGIN = 'source_login'; // Логин пользователя, со счёта которого списываются деньги.
|
||
const UNI_TARGET_LOGIN = 'target_login'; // Логин пользователя, на счёт которого зачисляются деньги.
|
||
const UNI_SUM = 'sum'; // Сумма, перечисляемая со счёта на счёт.
|
||
const UNI_CURRENCY = 'currency'; // Валюта, в которой задана сумма – RUB, EUR, UAH или USD. При несовпадении валюты с валютами счёта одного из пользователей будет проведена конвертация по внутреннему курсу.
|
||
const UNI_CAMPAIGN_ID = 'campaign_id'; // Идентификатор кампании, полученный при вызове метода createCampaign.
|
||
const UNI_USER_CAMPAIGN_ID = 'user_campaign_id'; // Идентификатор кампании, полученный при вызове метода
|
||
const UNI_CHANGED_SINCE = 'changed_since'; // Возвращать все статусы адресов, изменившиеся начиная с указанного времени включительно (в формате «ГГГГ-ММ-ДД чч:мм:сс», часовой пояс UTC). Если аргумент отсутствует, то возвращаются все статусы.
|
||
const UNI_FIELD_IDS = 'field_ids'; // Список id дополнительных полей, переданных через запятую.
|
||
const UNI_FROM = 'from'; // Дата и время старта рассылки, начиная с которой нужно выводить рассылки, в формате «ГГГГ-ММ-ДД чч:мм:сс», часовой пояс UTC.
|
||
const UNI_TO = 'to'; // Дата и время старта рассылки, заканчивая которой нужно выводить рассылки, в формате «ГГГГ-ММ-ДД чч:мм:сс», часовой пояс UTC.
|
||
const UNI_LIMIT = 'limit'; // Количество записей в ответе на один запрос должно быть целым числом в диапазоне 1 — 100 , по умолчанию стоит 50 записей.
|
||
const UNI_OFFSET = 'offset'; // Параметр указывает, с какой позиции начинать выборку. Значение должно быть 0, или больше (позиция первой записи начинается с 0), по умолчанию 0.
|
||
const UNI_ID = 'id'; // id — 31-битное положительное целое, идентификатор сообщения. Такие идентификаторы возвращаются методами createEmailMessage и createSmsMessage. id можно передавать как одно число или как массив для получения нескольких писем (см. пример ниже).
|
||
const UNI_FORMAT = 'format'; // формат вывода принимает значения html | json, по умолчанию json.
|
||
const UNI_DATE_FROM = 'date_from'; // дата создания больше чем, формат yyyy-mm-dd hh:mm UTC.
|
||
const UNI_DATE_TO = 'date_to'; // дата создания меньше чем, формат yyyy-mm-dd hh:mm UTC.
|
||
const UNI_GROUP = 'group';
|
||
const UNI_ = '';
|
||
const UNI_ = '';
|
||
const UNI_ = '';
|
||
const UNI_ = '';
|
||
function UniRules(){
|
||
$array = array(
|
||
self::UNI_COMMAND_CHANGE_TARIF=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LOGIN,
|
||
self::UNI_TARIFF_ID
|
||
),
|
||
self::UNI_COMMAND_CHECK_USER_EXIST=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LOGIN,
|
||
self::UNI_EMAIL,
|
||
),
|
||
self::UNI_COMMAND_GET_AVAILABLE_TARIFFS=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LOGIN,
|
||
),
|
||
self::UNI_COMMAND_GET_CHECKED_EMAIL=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LOGIN,
|
||
self::UNI_EMAIL,
|
||
),
|
||
self::UNI_COMMAND_GET_USER_INFO=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LOGIN,
|
||
),
|
||
self::UNI_COMMAND_GET_USERS=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_REGISTER_AFTER,
|
||
self::UNI_REGISTER_BEFORE,
|
||
),
|
||
self::UNI_COMMAND_REGISTER=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LOGIN,
|
||
self::UNI_EMAIL,
|
||
self::UNI_NEED_CONFIRM,
|
||
self::UNI_PASSWORD,
|
||
self::UNI_NOTIFY,
|
||
self::UNI_EXTRA,
|
||
self::UNI_TIMEZONE,
|
||
self::UNI_COUNTRY_CODE,
|
||
self::UNI_CURRENCY_CODE,
|
||
self::UNI_IP,
|
||
self::UNI_TEST_MODE,
|
||
),
|
||
self::UNI_COMMAND_SET_SENDER_DOMAIN=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_DOMAIN,
|
||
self::UNI_USER_NAME,
|
||
),
|
||
self::UNI_COMMAND_TRANSFER_MONEY=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_SOURCE_LOGIN,
|
||
self::UNI_TARGET_LOGIN,
|
||
self::UNI_SUM,
|
||
self::UNI_CURRENCY,
|
||
),
|
||
self::UNI_COMMAND_VALIDATE_SENDER=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LOGIN,
|
||
self::UNI_EMAIL,
|
||
),
|
||
self::UNI_COMMAND_GET_CAMPAIGN_COMMON_STATS=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_CAMPAIGN_ID,
|
||
),
|
||
self::UNI_COMMAND_GET_CAMPAIGN_DELIVERY_STATS=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_CAMPAIGN_ID,
|
||
self::UNI_USER_CAMPAIGN_ID,
|
||
self::UNI_CHANGED_SINCE,
|
||
self::UNI_FIELD_IDS,
|
||
),
|
||
self::UNI_COMMAND_GET_CAMPAIGNS=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_FROM,
|
||
self::UNI_TO,
|
||
self::UNI_LIMIT,
|
||
self::UNI_OFFSET,
|
||
),
|
||
self::UNI_COMMAND_GET_CAMPAIGNS_STATUS=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_CAMPAIGN_ID,
|
||
),
|
||
self::UNI_COMMAND_GET_MESSAGE=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_ID,
|
||
),
|
||
self::UNI_COMMAND_GET_MESSAGES=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_LIMIT,
|
||
self::UNI_OFFSET,
|
||
self::UNI_FORMAT,
|
||
self::UNI_DATE_FROM,
|
||
self::UNI_DATE_TO,
|
||
),
|
||
self::UNI_COMMAND_GET_VISITED_LINKS=>array(
|
||
self::UNI_API_KEY,
|
||
self::UNI_CAMPAIGN_ID,
|
||
self::UNI_GROUP,
|
||
),
|
||
self::UNI_COMMAND_LIST_MESSAGES=>array(
|
||
|
||
),
|
||
);
|
||
}
|
||
|
||
function UniUrls(){
|
||
$array = array(
|
||
// ПАРТНЕРСКИЕ САЙТЫ
|
||
self::UNI_COMMAND_CHANGE_TARIF =>'https://api.unisender.com/ru/api/changeTariff?format=json&api_key=KEY&login=LOGIN&tariff_id=TARIFF_ID',
|
||
self::UNI_COMMAND_CHECK_USER_EXIST =>'https://api.unisender.com/ru/api/checkUserExists?format=json&api_key=KEY&login=LOGIN&email=EMAIL',
|
||
self::UNI_COMMAND_GET_AVAILABLE_TARIFFS =>'https://api.unisender.com/ru/api/getAvailableTariffs?format=json&api_key=KEY&login=LOGIN',
|
||
self::UNI_COMMAND_GET_CHECKED_EMAIL =>'https://api.unisender.com/ru/api/getCheckedEmail?format=json&api_key=KEY&login=LOGIN&email=EMAIL',
|
||
self::UNI_COMMAND_GET_USER_INFO =>'https://api.unisender.com/ru/api/getUserInfo?format=json&api_key=KEY&login=LOGIN',
|
||
self::UNI_COMMAND_GET_USERS =>'https://api.unisender.com/ru/api/getUsers?format=json&api_key=KEY®istered_after=REGISTEREDAFTER®istered_before=REGISTEREDBEFORE',
|
||
self::UNI_COMMAND_REGISTER =>'https://api.unisender.com/ru/api/register?format=json&email=MAIL&login=LOGIN',
|
||
self::UNI_COMMAND_SET_SENDER_DOMAIN =>'https://api.unisender.com/ru/api/setSenderDomain?format=json&api_key=KEY&domain=UserDomain&username=UserLogin',
|
||
self::UNI_COMMAND_TRANSFER_MONEY =>'https://api.unisender.com/ru/api/transferMoney?format=json&api_key=KEY&source_login=FROM&target_login=TO&sum=SUM¤cy=CURR',
|
||
self::UNI_COMMAND_VALIDATE_SENDER =>'https://api.unisender.com/ru/api/validateSender?format=json&api_key=KEY&email=EMAIL&login=LOGIN',
|
||
// ПОЛУЧЕНИЕ СТАТИСТИКИ
|
||
self::UNI_COMMAND_GET_CAMPAIGN_COMMON_STATS =>'https://api.unisender.com/ru/api/getCampaignCommonStats?format=json&api_key=KEY&campaign_id=ID',
|
||
self::UNI_COMMAND_GET_CAMPAIGN_DELIVERY_STATS=>array(
|
||
'https://api.unisender.com/ru/api/getCampaignDeliveryStats?format=json&api_key=KEY&campaign_id=ID &changed_since=DT',
|
||
'https://api.unisender.com/ru/api/getCampaignDeliveryStats?format=json&api_key=KEY&user_campaign_id=ID &changed_since=DT',
|
||
),
|
||
self::UNI_COMMAND_GET_CAMPAIGNS =>'https://api.unisender.com/ru/api/getCampaigns?format=json&api_key=KEY&from=TIME&to=TIME',
|
||
self::UNI_COMMAND_GET_CAMPAIGNS_STATUS =>'https://api.unisender.com/ru/api/getCampaignStatus?format=json&api_key=KEY&campaign_id=ID',
|
||
self::UNI_COMMAND_GET_MESSAGE =>'https://api.unisender.com/ru/api/getMessage?id=ID&api_key=KEY',
|
||
self::UNI_COMMAND_GET_MESSAGES =>'https://api.unisender.com/ru/api/getMessages?api_key=KEY&date_from=yyyy-mm-dd hh:mm&date_to=yyyy-mm-dd hh:mm',
|
||
self::UNI_COMMANDGET_VISITED_LINKS =>'https://api.unisender.com/ru/api/getVisitedLinks?format=json&api_key=KEY&campaign_id=ID &group=1',
|
||
self::UNI_COMMAND_LIST_MESSAGES =>'https://api.unisender.com/ru/api/listMessages?format=json&api_key=KEY',
|
||
);
|
||
}
|
||
} |