меню
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Метод register

Метод позволяет регистрировать пользователей как реселлерам, так и обычным пользователям. Полезен для партнёрских сайтов, желающих создать свою собственную страницу регистрации. Регистрируемый пользователь в таком случае автоматически закрепляется за партнёром. Обычный пользователь также может использовать метод register для ряда случаев. Например, во время использования плагинов к CMS. В результате пользователь может установить себе плагин, не будучи даже зарегистрированным в UniSender, поскольку плагин сам отправляет запрос на регистрацию. Поскольку это не безопасное действие, устанавливаются некоторые ограничения для обычных пользователей на количество и частоту регистраций.

Один раз в минуту с одного IP есть возможность зарегистрировать пользователя обычным пользователям.

Пользователь может регистрировать один аккаунт в минуту, для этого даже не быть пользователем UniSender, для этого необходимо передать параметр need_confirm=1 (и не передавать api_key).

Принцип использования

Синтаксис и URL для вызова метода
register (string email, string login)
https://api.unisender.com/ru/api/register?format=json&email=MAIL&login=LOGIN
Аргументы
email * Email-адрес регистрируемого пользователя
login * Логин от 1 до 20 латинских символов и цифр
api_key Ключ доступа к API текущего пользователя (у пользователя должно быть право reseller)
need_confirm подтверждение регистрации (письмо-подтверждение регистрации для нового пользователя), принимает значения 0 и 1. По умолчанию 0 (подтверждение не требуется). Значение 0 доступно только для реселлеров. А если передано значение 1 — методом могут воспользоваться все пользователи
password Пароль для нового пользователя. Если не указан, то генерируется случайный
notify 0 или 1 (по-умолчанию 0) – посылать ли новому пользователю приветственное письмо с паролем
extra Ассоциативный массив дополнительных полей. Поддерживаются дополнительные поля: ‘firstname’, ‘channel’, если need_confirm = 1 то extra может принимать еще 3-три параметра ‘lastname’, ‘company’, ‘phone’
timezone Часовой пояс пользователя в формате, который описан здесь: http://php.net/manual/ru/timezones.php. Если часовой пояс не указан, то будет использован UTC.

Также если пояс не найдено будет предупреждение

{"warning": "Unknown timezone, set to UTC"}

и установлено значение ‘ZZZ’

country_code Трёхбуквенный код страны по ISO 3166-1 alpha-3 Если не указан, будет установлено значение ‘ZZZ’
currency_code Трёх буквенный код валюты счёта пользователя. На данный момент возможны RUB, USD, EUR и UAH.

Если не указано или валюты не найдено подставляется USD (исключение при русской локализации RUB)

Также если указанной валюты не найдено будет предупреждение

{"warning": "Unknown currency code"}
 ip IP-адрес, с которого поступила заявка о регистрации, в формате «NNN.NNN.NNN.NNN»
test_mode Тестовое создание пользователя, принимает значения 0 (выкл), 1 (вкл) по умолчанию 0
Возвращаемое значение
В случае успешного завершения – объект c одним полем api_key, в котором возвращается ключ для выполнения запросов к API от имени вновь зарегистрированного пользователя.

{
"result": {
"api_key": "5skfgjkhfgdfgdhfgkhdkg"
}
}

В тестовом режиме всегда возвращается api_key равным 12345678

Примеры на PHP

Мы настоятельно рекомендуем использовать POST-запросы, так как это более безопасный метод передачи данных, нежели GET. Используйте SSL-соединение с UniSender. Подробнее о методах соединения здесь .

Пример с использованием POST-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxxx";

// Обязательные параметры нового пользователя
$new_login = "new_user_login";
$new_email = "new_user_email@yandex.ru";

// Необязательные, но желателтные параметры нового пользователя
// Если файл скрипта в кодировке UTF-8, то уберите все вызовы iconv
$new_password = "8gHj2hGhsj3";
$new_country= "FRA";
$new_firstname = iconv('cp1251', 'utf-8', "Иван");
$new_lastname = iconv('cp1251', 'utf-8',"Иванов");
$new_company = iconv('cp1251', 'utf-8',"ООО Ромашка");
$new_phone = iconv('cp1251', 'utf-8',"(499) 123-4567");
$new_timezone = iconv('cp1251', 'utf-8',"Europe/Moscow");
$new_currency = "EUR";

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'login' => $new_login,
  'email' => $new_email,
  'password' => $new_password,
  'extra[firstname]' => $new_firstname,
  'extra[lastname]' => $new_lastname,
  'extra[company]' => $new_company,
  'extra[phone]' => $new_phone,
  'timezone' => $new_timezone,
  'country_code' => $new_country,
  'currency_code' => $new_currency
);

// Устанавливаем соединение
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POST);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_URL, 
            'https://api.unisender.com/ru/api/register?format=json');
$result = curl_exec($ch);

if ($result) {
  // Раскодируем ответ API-сервера
  $jsonObj = json_decode($result);

  if(null===$jsonObj) {
    // Ошибка в полученном ответе
    echo "Invalid JSON";

  }
  elseif(!empty($jsonObj->error)) {
    // Ошибка создания пользователя
    echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

  } else {
    // Новый пользователь успешно создан
    echo "New user is created. User API_Key is: " . $jsonObj->result->api_key;

  }
} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}

Пример с использованием GET-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxx";

// Обязательные параметры для созданиянового пользователя
$new_login = "new_user_login";
$new_email = "new_user_email@yandex.ru";

// Необязательные (но желательтные) параметры для создания нового пользователя
// Если файл скрипта в кодировке UTF-8, то уберите все вызовы iconv
$new_password = "8gHj2hGhsj3";
$new_country = "RUS";
$new_firstname = urlencode(iconv('cp1251', 'utf-8', "Иван"));
$new_lastname = urlencode(iconv('cp1251', 'utf-8',"Иванов"));
$new_company = urlencode(iconv('cp1251', 'utf-8',"ООО Ромашка"));
$new_phone = urlencode(iconv('cp1251', 'utf-8',"(499) 123-4567"));
$new_timezone = urlencode(iconv('cp1251', 'utf-8',"Europe/Moscow"));
$new_currency = "RUB";


// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/register?format=json".
           "&api_key=$api_key&login=$new_login&email=$new_email".
           "&password=$new_password&extra[firstname]=$new_firstname".
           "&extra[lastname]=$new_lastname&extra[company]=$new_company".
           "&extra[phone]=$new_phone&timezone=$new_timezone".
           "&country_code=$new_country¤cy_code=$new_currency";

// Делаем запрос на API-сервер
$result = file_get_contents($api_url);

if ($result) {
  // Раскодируем ответ API-сервера
  $jsonObj = json_decode($result);

  if(null===$jsonObj) {
    // Ошибка в полученном ответе
    echo "Invalid JSON";

  }
  elseif(!empty($jsonObj->error)) {
    // Ошибка создания пользователя
    echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

  } else {
    // Новый пользователь успешно создан
    echo "New user is created. User API_Key is: " . $jsonObj->result->api_key;
  }

} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}