(044) 360 9769 (098) 686 0101

Метод register

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

Предполагается, что партнёр, использующий этот метод, сделал защиту от множественных и фальшивых регистраций методом CAPTCHA или подобным, и получил согласие пользователя с нашими условиями оказания услуг.

Данный метод работает только для аккаунтов, имеющих статус реселлера.

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

Синтаксис и URL для вызова метода
register (string email, string login [, string password, bool notify, string array extra, string timezone, string country_code, string currency_code, string ip, bool api_mode])
http://api.unisender.com/ru/api/register?format=json&api_key=KEY&email=EMAIL&login=LOGIN &password=PWD&notify=X&extra=ARRAY&timezone=TZ&coutry_code=CC &currency_code=CUR&ip=IPADDRESS&api_mode=APIMODE
Аргументы
api_key * Ключ доступа к API
email * Email-адрес регистрируемого пользователя
login * Логин от 1 до 20 латинских символов и цифр.
password Пароль для нового пользователя. Если не указан, то генерируется случайный.
notify 0 или 1 (по-умолчанию 0) – посылать ли новому пользователю приветственное письмо с паролем.
extra Ассоциативный массив дополнительных полей. Массив в запросе передаётся строкой вида
extra[firstname]=Alex&extra[company]=Firm
Поддерживаются дополнительные поля: 'firstname', 'lastname', 'company', 'phone'.
timezone Часовой пояс пользователя. Если не указан, то будет использован UTC.

Показать список поддерживаемых часовых поясов
country_code Трёхбуквенный(!) код страны по ISO 3166-1 alpha-3, см. ru.wikipedia.org/wiki/ISO_3166-1
currency_code Трёхбуквенный код валюты счёта пользователя. На данный момент возможны RUB, USD, EUR и UAH.
ip IP-адрес, с которого поступила заявка о регистрации, в формате «NNN.NNN.NNN.NNN».
api_mode Режим работы API для этого пользователя. Пустое значение (по умолчанию) означает, что доступ к API у него будет отключён, также возможны значения 'test' (тестовый режим) и 'on' (включён рабочий режим).
Возвращаемое значение
В случае успешного завершения – объект c одним полем api_key, в котором возвращается ключ для выполнения запросов к API от имени вновь зарегистрированного пользователя.

Если были ошибки или предупреждения, они возвращаются в полях error/warnings в соответствии с описанием.

Смотрите также

Примеры на PHP

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

Пример с использованием 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, 
            'http://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 = "http://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";
}