Метод getUserInfo

Метод для получения информации о пользователе и состоянии его счёта.

Вы можете получить информацию о другом пользователе только являясь реселлером. Реселлер может получить информацию по своим пользователям, используя параметр login.

Чтобы получить информацию о подписчиках, используйте метод exportContacts

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

Синтаксис и URL для вызова метода
getUserInfo ([string login])
https://api.unisender.com/ru/api/getUserInfo?format=json&api_key=KEY&login=LOGIN

Аргументы
api_key * Ключ доступа к API
login Логин пользователя, информацию по которому хочется получить. Игнорируется, если пользователь не имеет статуса реселлера.

Возвращаемое значение
JSON-объект со следующими полями:
login Логин пользователя.
email Электронная почта пользователя.
firstname Имя пользователя.
middlename Отчество пользователя.
lastname Фамилия пользователя.
reg_time Дата и время регистрации пользователя.
phone Телефон пользователя.
company Компания, указанная пользователем.
channel Канал, через который был привлечён пользователь.
timezone Часовой пояс пользователя.
master Если пользователь является «дополнительным», здесь указан логин основного пользователя, иначе это поле будет пустым.
balance Сумма на основном и бонусном счетах пользователя в валюте currency. Может быть и отрицательным.
balance_bonus Возвращается только если пользователь имеет статус реселлера. Бонусная часть счёта пользователя в валюте currency. Неотрицательная.
currency Валюта пользователя, в которой указан баланс, одна из: RUB, USD, EUR или UAH.
emails_paid Количество e-mail сообщений по тарифу «Редко», оплаченных пользователем за всё время пользования сервисом.
emails_used Количество e-mail сообщений по тарифу «Редко», отправленных пользователем за всё время пользования сервисом.
period_emails_paid Количество e-mail сообщений, оплаченных пользователем в текущем периоде (месяце)
period_emails_used Количество e-mail сообщений, отправленных пользователем в текущем периоде (месяце)
email_period_start Начало текущего периода в формате «ГГГГ-ММ-ДД чч:мм:сс» в часовом поясе UTC
email_period_end Конец текущего периода в формате «ГГГГ-ММ-ДД чч:мм:сс» в часовом поясе UTC
tariff_id Идентификатор тарифа для текущего периода
next_tariff_id Идентификатор тарифа для следующего периода
services

Массив объектов, описывающих включённые услуги. Каждый объект состоит из трёх полей:

  • id - целочисленный идентификатор услуги),
  • tariff - внутреннее имя тарифа, по которому тарифицируется услуга, 
  • paidUntil - время, до которого включена услуга в формате YYYY-MM-DD hh:mm:ss в UTC.

Если никакие услуги не включены, массив будет пустой.

country Трёхсимвольный код страны пользователя (RUS, GBR и т.п.)
language Двухсимвольный код используемого языка пользователя (ru, en, de и т.п.)
rights Возвращается значение "reseller", если пользователь имеет статус реселлера. Во всех остальных случаях возвращается пустое значение.
is_active 1 или 0 - разрешен или запрещен доступ к сервису.
disable_sending 1 или 0 - включен или выключен сервис рассылки сообщений. Поле возвращается, только если запрос выполнен пользователем с правом CRM.
user_reg_info_subscribers_approx_num Словесное описание примерного количества подписчиков, указанное при регистрации. Поле возвращается, только если запрос выполнен пользователем с правом CRM.
user_reg_info_industry_info Наименование отрасли, сферы деятельности, указанное при регистрации. Поле возвращается, только если запрос выполнен пользователем с правом CRM.
user_reg_info_city Название города, указанное при регистрации. Поле возвращается, только если запрос выполнен пользователем с правом CRM.
reg_ref Страница, с которой был осуществлен переход на страницу регистрации.
reg_url Страница регистрации пользователя (URL реселлера, с которого произошла регистрация). 
api_mode

Поле, сообщающее, включен ли доступ к API у пользователя. 

Возможные значения: on - включен, off - выключен, test - работает в тестовом режиме.

subscribers_total Контактов в рамках тарифа. Если тариф не подразумевает ограничения по количеству контактов, возвращается значение NULL
subscribers_used Использовано контактов в рамках тарифа
Пример возвращемого значения:

{
  "result":{
    "login":"test_user_login",
    "email":"test@test.com",
    "firstname":"test name",
    "middlename":"test name",
    "lastname":"test name",
    "reg_time":"2011-09-05 10:00:00",
    "phone":"+70000000000",
    "company":"test company",
    "channel":"test channel",
    "timezone":"Europe/Moscow",
    "master":"test_main_login",
    "balance":18.52,
    "currency":"USD",
    "emails_paid":0,
    "emails_used":40734,
    "period_emails_paid":1000,
    "period_emails_used":0,
    "email_period_start":"2011-01-03 00:46:02",
    "email_period_end":"2011-02-03 00:46:02",
    "tariff_id":1,
    "next_tariff_id":10
    "services": [{id:234, tariff:"bitrix24_premium_3m", paidUntil:"2017-04-28 10:51:33"}],
"country":"RUS",
"language":"ru",
"rights":"reseller",
"balance_bonus":10.52,
"reg_ref":"https://www.facebook.com/",
"reg_url":"https://unisender.test.ru/ru/v5/two_step_register",
"api_mode": "on",
"subscribers_total":500,
"subscribers_used":5
}
}

Примеры на PHP

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

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

// Логин пользователя, о ком надо узнать иформацию (если пусто - о себе)
$user_name = "";

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'login' => $user_name
);

// Устанавливаем соединение
$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/getUserInfo?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 "User login: " . $jsonObj->result->login . "<br>";
    echo "Account owner: " . $jsonObj->result->master . "<br>";
    echo "User account balance: " . $jsonObj->result->balance . " " .
          $jsonObj->result->currency . "<br>";

  }
} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}
Пример с использованием GET-запроса
// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxx";

// Логин пользователя, о ком надо узнать иформацию (если пусто - о себе)
$user_name = "";

// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/getUserInfo?format=json".
           "&api_key=$api_key&login=$user_name";

// Делаем запрос на 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 "User login: " . $jsonObj->result->login . "<br>";
    echo "Account owner: " . $jsonObj->result->master . "<br>";
    echo "User account balance: " . $jsonObj->result->balance . " " .
          $jsonObj->result->currency . "<br>";

  }

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