E-mail маркетинг, сервис рассылки e-mail и SMS
(495) 540-4265 (800) 555-6696

Метод createField

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

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

Синтаксис и URL для вызова метода
createField (string name, string type [, bool is_visible, int view_pos])
http://api.unisender.com/ru/api/createField?format=json&api_key=KEY&name=NAME&type=TYPE &is_visible=X&view_pos=X
Аргументыh
api_key * Ключ доступа к API
name * Название поля. Должно быть уникальным без учёта регистра. Также не рекомендуется создавать поле с именем, совпадающим с одним из имён стандартных полей (tags, email, phone, email_status, phone_status и пр.), иначе будет некорректно работать метод importContacts.
type *

Тип поля. Возможные варианты:

  • string - строка;
  • text - одна или несколько строк;
  • number - целое число или число с десятичной точкой;
  • bool - 1/0, да/нет.
Тип поля имеет значение только для веб-интерфейса, элементы управления подстраиваются под возможные значения. Хранятся значения разных типов одинаково, в виде текста.
is_visible Является ли поле «видимым» в веб-интерфейсе в таблицах. 1=видимо, 0=нет. По умолчанию 1.
view_pos Число от 1 до 99, задающее положение поля в таблицах веб-интерфейса. Чем меньше число, тем левее выводится поле. По умолчанию 1. При совпадении этого числа у разных полей порядок не гарантируется.
Возвращаемое значение
Объект с полем id, содержащим кодом созданного поля.

Пример возвращаемого значения:

{"result":{"id":1092208}}

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

Примеры на PHP

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

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

// Параметры создания нового поля
// Если скрипт в кодировке UTF-8, то удалите вызов iconv
$new_field_name = iconv('cp1251', 'utf-8',"Новое поле подстановки");
$new_field_type = "string";

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'name' => $new_field_name,
  'type' => $new_field_type
);

// Устанавливаем соединение
$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/createField?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 field is creaded, Field ID is " . $jsonObj->result->id;

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

}


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

// Параметры создания нового поля
// Если скрипт в кодировке UTF-8, то удалите вызов iconv
$new_field_name = urlencode(iconv('cp1251', 'utf-8',"Новое поле подстановки"));
$new_field_type = "string";

// Создаём GET-запрос
$api_url = "http://api.unisender.com/ru/api/createField?format=json".
           "&api_key=$api_key&name=$new_field_name&type=$new_field_type";

// Делаем запрос на 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 field is creaded, Field ID is " . $jsonObj->result->id;
  }

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