API для розробників

Загальні положення

Опис

REST API сервісу Estismail визначає набір функцій для взаємодії за протоколом HTTP. Усі відповіді за замовчуванням повертаються у форматі JSON. Також доступно отримання відповідей у форматі XML.

Авторизація

Авторизація здійснюється за допомогою персонального API key, який передається в кожному запиті через HTTP-заголовок X-Estis-Auth.

Щоб отримати ключ, перейдіть у Мій кабінет → Мої налаштування → API і натисніть Згенерувати.

Основний URL

Взаємодія виконується через HTTP-запити з параметрами у кодуванні UTF-8 за адресою:

https://v1.estismail.com/[section]/[resource]

Використання HTTPS є обов’язковим.

Використовувані HTTP-методи

Метод

Опис

get

Отримання ресурсу.

post

Створення ресурсу.

put

Оновлення ресурсу.

delete

Видалення ресурсу.

Основні методи API

Назва методу

Опис

index

Отримання повного списку елементів ресурсу.

view

Отримання одного елемента ресурсу.

add

Додавання нового елемента.

edit

Редагування елемента ресурсу.

delete

Видалення елемента ресурсу.

Деякі ресурси можуть не містити повного набору методів. Якщо метод відсутній, повертається помилка 405 Not Allowed.
Детальні описи методів наведені у специфікаціях відповідних ресурсів.

Стандартні опціональні параметри

Методи index і view (лише параметр fields) підтримують стандартні параметри:

limit — кількість елементів для відображення.

За замовчуванням: 10. Діапазон: 1–100.

page — номер сторінки (за замовчуванням 1).

fields — JSON-рядок із масивом полів:

["key1","key2", ...]

filter — JSON-рядок із об’єктом:

{"key1":"value1","key2":"value2", ...}

Фільтрація виконується за точним співпадінням значень.

sort_field — поле для сортування. За замовчуванням: id.

sort_direction — напрямок сортування:

1 — за зростанням

-1 — за спаданням

За замовчуванням: за зростанням.

Допустимі поля для кожного ресурсу наведені у його специфікації.

Можливі статуси HTTP-відповідей

Код

Опис

Успішні

200 OK

Запит виконано успішно (index, view).

201 Created

Створено новий ресурс (add).

204 No Content

Запит виконано успішно, без тіла відповіді (edit, delete).

Помилки клієнта

400 Bad Request

Помилка синтаксису або неправильні параметри.

401Unauthorized

Потрібна автентифікація; неправильний або відсутній X-Estis-Auth.

404 Not Found

Ресурс не знайдено.

405 Not Allowed

Метод не підтримується для поточного ресурсу.

Приклад запиту на PHP

Приклад отримання списку груп підписників, де $apiKey — ваш API key.

$apiKey = 'sdfhdsgfhjsgdbjhvshfkywjhgfksdjfhbkjds';
$resourceUrl = 'https://v1.estismail.com/mailer/lists';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $resourceUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	'X-Estis-Auth: '.$apiKey
));
$response = curl_exec($ch);
curl_close($ch);