Метод 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¬ify=X&extra=ARRAY&timezone=TZ&coutry_code=CC ¤cy_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";
}


