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

Метод createField

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

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

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

Допустимые символы: буквы латинского алфавита, цифры, «_» и «-«. Первым символом может быть только буква. Использование пробелов не допускается.

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

  • string — строка;
  • text — одна или несколько строк;
  • number — целое число или число с десятичной точкой;
  • date — дата (поддерживается формат ДД.ММ.ГГГГ, ДД-ММ-ГГГГ, ГГГГ.ММ.ДД, ГГГГ-ММ-ДД);
  • bool — 1/0, да/нет.

Тип поля имеет значение только для веб-интерфейса, элементы управления подстраиваются под возможные значения. Хранятся значения разных типов одинаково, в виде текста.

public_name Название поля. Если не использовать, то будет проведена автоматическая генерация по полю «name».
Возвращаемое значение
Объект с полем id, содержащим кодом созданного поля.

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

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

Примеры на PHP

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

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