Описание S3 API для работы с хранилищем и простой PHP класс для работы с хранилищем.
key — ваш ключ API, находится на странице Профиль в Личном кабинете.
domain — домен (без www и http), для которого нужно провести действия. Не обязателен при регистрации и пополнении баланса.
action — действие API, возможные варианты:
add,
delete,
disable,
dns.add,
dns.delete,
dns.get,
enable,
fill,
flush,
flush.html,
flush.ha,
flush.custom,
flush.batch,
get.availability,
get.balance,
get.bots,
get.cache,
get.domains,
get.download,
get.errors,
get.guard,
get.option,
get.timings,
get.visitors,
get.rum,
pay,
register,
set.option,
set.options,
test.start,
test.check.
Пример: https://xn--80aqc2a.xn--p1ai/my/site/api/?key=0011123481faedba00011123481faedb&domain=xn--80aqc2a.xn--p1ai&action=flush
При отсутствии какого-либо обязательного параметра будет выдана ошибка.
Обязательный параметр: stream — адрес (хэш) потока после добавления или название потока при добавлении.
Возможные варианты action:
add,
delete,
disable,
enable,
get.streams,
set.options.
Все ответы выдаются в формате JSON. При какой-либо ошибке ответ будет {"error":"error_code"}, где error_code - мнемонический код ошибки (содержит информацию, что неправильно в запросе). Если запрос прошел успешно, то будет выдано {"success":"OK"} или JSON-массив с данными.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=register&email=my@mail.ru
Необходимо передать единственный обязательный GET-параметр email. Также возможно передать необязательные параметры password (пароль), phone (телефон), firstname (имя пользователя), lastname (фамилия пользователя). В случае отсутствия каких-либо обязательных параметров они будут заменены на значения по умолчанию.
При успешной регистрации пользователя будет получен ответ вида {"success":"d618cfdcabcddaa000cc12cb6958c878"}, где значение success — это ключ API для последующих запросов к Айри под созданным аккаунтом.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?key=0011123481faedba00011123481faedb&domain=xn--80aqc2a.xn--p1ai&action=add
При успешном действии домен будет добавлен в Айри (или удален из Айри) в течение 2 минут.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=set.options&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb&clickfrog=1
Все правила ускорения и защиты сайта передаются в виде POST-данных в следующем формате (в квадратных скобках правила, далее со следующей строки пути на сайте для их применения, каждый с новой строки):
[rule1,rule2,rule3] /section1/page1 /section2/ [rule3,rule4] /sections3/
В качестве путей на сайте (URL) доступны специальные значения: * — весь сайт и / — только главная страница.
В качестве правил (rule) доступны все значения, задаваемые в правилах ускорения и защиты. В частности:
cache_flush — обновление кэша для заданного адреса раз в минуту (работает только для конкретного URL, не для папки или сайта целиком).cache_flush_10 — обновление кэша для заданного адреса раз в 10 минут (работает аналогично предыдущему).cache_flush_60 — обновление кэша для заданного адреса раз в час (работает аналогично предыдущему).cache_flush_120 — обновление кэша для заданного адреса раз в 2 часа (работает аналогично предыдущему).cache_no — отмена кэширования заданного адреса.cache1 — кэширование заданного адреса на минуту.cache2 — кэширование заданного адреса на 2 минуты.cache3 — кэширование заданного адреса на 5 минут.cache4 — кэширование заданного адреса на 10 минут.cache5 — кэширование заданного адреса на 30 минут.cache6 — кэширование заданного адреса на 1 час.cache7 — кэширование заданного адреса на 2 часа.cache8 — кэширование заданного адреса на 5 часов.cache9 — кэширование заданного адреса на 10 часов.cache0 — кэширование заданного адреса на сутки.Дополнительно в GET-параметрах можно передать значения глобальных настроек сайта. Например:
origin — IP-адрес(а) хостинга сайта (с указанием протокола, при необходимости) через запятую. Например, https://127.0.0.1,https://127.0.0.2blacklist — список IP адресов или подсетей для блокировки доступа к сайту, через запятую. Например, 127.0.0.1,192.168.0.*clickfrog — блокировка фрода (при помощи ClickFrog): 0 (отключена) или 1 (включена).Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=set.blacklist&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb, POST: 127.0.0.1
Содержимое конкретной настройки передается в виде POST-данных без каких-либо разделителей.
В качестве {option} можно использовать blacklist, otigin. Список всех настроек Айри с примерами приведен выше.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=fill&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb. POST-данные: /
Заполнение кэша выполняется в течение двух минут на всех узлах Айри после отправки запроса. Список страниц сайта для заполнения кэша нужно передавать в абсолютном виде: начинаются со /, без домена и протокола. Например, /about или /catalog.html. Каждая страница — с новой строки в POST-данных запроса.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=flush&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb
Сброс кэша начинается в течение нескольких секунд на всех узлах Айри после отправки запроса. При большом числе адресов (или файлов в кэше) сброс кэша может занимать длительное время. Возможны варианты сброса кэша:
action=flush.action=flush.html.action=flush.ha.action=flush.custom. Дополнительно в POST-параметре pages необходимо указать набор страниц (адресов, можно как через http, так и абсолютные от корня сайта), кэш которых нужно сбросить. Несколько страниц нужно указывать через символ перевода строки: \n.* в конце указанных URL. Например, при указании /catalog/ в URL будут сброшены все страницы по маске /catalog/*. Исключением является главная страница (/), при указании / в списке страниц будет сброшена только главная страница (не все страницы сайта).action=flush.batch. Дополнительно в POST-параметре pages необходимо передать полный список файлов (абсолютных адресов от корня сайта), кэш которых нужно сбросить. Файлы разделяются переводом строки: \n. Сбрасывается кэш только строго указанных файлов (адресов), не по маске. Для сброса кэша по маске нужно использовать метод flush.custom.Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=enable&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb
Включение или отключение сайта от Айри производится на уровне DNS. При отключении все запросы начинают отправляться напрямую на хостинг, без ускорения и защиты Айри. При включении сайта все запросы начинают проходить через облако Айри.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=get.option.origin&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb
Возможно получение следующих настроек сайта:
action=get.option.airee.action=get.option.availability.action=get.option.cache.action=get.option.cache_flush.action=get.option.cache_query.action=get.option.charset.action=get.option.dev.action=get.option.image.action=get.option.monitor.action=get.option.origin.action=get.option.pagespeed.action=get.option.pass_useragent.action=get.option.redirect.action=get.option.secure.action=get.option.security.action=get.option.shard.action=get.option.static.action=get.option.whitelist.action=get.option.www.Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=dns.add&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb&name=@&type=TXT&value=TEST
Для добавления и удаления записей запросы требуют дополнительно 3 обязательных параметра: name — (под)домен, для которого требуется установить запись (@ для корневого домена), type — тип записи (поддерживаются A, AAAA, CNAME, TXT, SRV, MX, NS), value — значение записи (без кавычек). При отсутствии какого-либо обязательного параметра будет выведена ошибка. При некорректных значениях параметров будет выведена ошибка (запись не сохранится в зоне). При добавлении CNAME для уже существующего домена запись будет замещена (для избежания дублирования CNAME).
Дополнительно можно задать priority для MX записи. При удалении (action=dns.delete) будет найдена запись с заданными значениями name, type и value и удалена из зоны домена.
Запрос action=dns.get возвращает массив DNS записей для заданного домена в формате: [{"subdomain":"", "type":"", "priority":"", "value":""}]
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=get.timings&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb
action=get.balance). Текущая сумма на балансе (в рублях). Параметр domain не обязателен.action=get.domains). Список доменов, добавленных пользователем, включает статус (отрицательный — домен удален, 0 — домен отключен и 1 — домен включен в Айри), домен (без www) и дату добавления в Айри.Статистика по сайту выдается за предыдущий день (начиная с 6 часов утра по UTC). Виды статистики:
action=get.availability). Выдает (в процентах) доступность сайта и доступность хостинга.action=get.bots). Включает количество заходов всех популярныъ поисковых роботов: Google, Yandex, Mail.Ru, Sputnik, Yahoo, Bing, Rambler.action=get.cache). Выдает размер кэша сайта по всем узлам Айри в Мб.action=get.download). Выдает размер трафика сайта по всем узлам Айри в Мб.action=get.errors). Выдает количество 5xx, 4xx ошибок, а также отказов пользователей от загрузки сайта.action=get.guard). Выдает количество заблокированных запросов к сайту.action=get.timings). Включает время редиректов, время DNS-запроса, время установления соединения, время SSL-подключения, время ожидания ответа от сервера, время загрузки данных, время отрисовки (DOMready) и время полной загрузки (onload).action=get.visitors). Включает количество открытий страниц сайта пользователями из поисковой выдачи Google, Yandex, Mail.Ru, Sputnik, Yahoo, Bing, Rambler.Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=get.rum&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb&start=2021-01-01&end=2021-12-31
Параметры start и end являются необязательными. По умолчанию, выдается статистика за последние 30 дней, включая текущий.
Формат ответа:
{
"rum_overall":
{
"timestamp1":
{
"dns": "0",
"connect": "0",
"request": "1",
"server": "1",
"data": "1",
"dom": "2",
"domready": "0",
"domload": "1",
"onload": "3",
"finish": "0"
},
...
},
...
}
DOMreadyonloadПример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=test.start&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb
Для начала тестирования скорости необходимо передать GET-параметр domain и action=test.start. Запрос вернет ID теста скорости, который нужно использовать в action=test.check.
Для получения результатов тестирования используется action=test.check и GET-параметр id, полученный при начале тестирования. Результат либо будет ошибкой (если время загрузки еще не вычислилось), либо содержать данные о времени ответа сервера и времени загрузки сайта из 5 точек — Москвы, Санкт-Петербурга, Екатеринбурга, Владивостока и Амстердама.
Все результаты проверки для каждого домена кэшируются на сутки.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=testav.start&domain=xn--80aqc2a.xn--p1ai&key=0011123481faedba00011123481faedb
Для начала тестирования доступности необходимо передать GET-параметр domain и action=test.start. Запрос вернет ID теста, который нужно использовать в action=testav.check.
Для получения результатов тестирования используется action=testav.check и GET-параметр id, полученный при начале тестирования. Результат либо будет ошибкой (если время загрузки еще не вычислилось), либо содержать данные о заблокированных ресурсах (включая сам домен, если он тоже блокируется по IP) в JSON-формате: {success:{resources_blocked:[]}}.
Все результаты проверки для каждого домена кэшируются на час.
lang — язык (валюта) пополнения. Возможные значения: ru (RUB), en (USD).
sum — сумма пополнения в валюте пополнения. Например: 100.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?key=0011123481faedba00011123481faedb&action=pay&sum=100&lang=ru
При успешном действии будет выполнена переадресация на сайт платежного шлюза с заданной суммой к оплате.
При создании трансляции возвращается ее уникальный хэш (HASH), 32 символа, который нужно использовать как часть адреса при получении потоков трансляции.
Видео-плеер со всеми HLS-потоками трансляции находится по адресу http(s)://live.airee.cloud/live/HASH, плеер с DASH-потоками (при активации) находятся по адресу http(s)://live.airee.cloud/dash/HASH.
Стандартный HLS видео-поток всегда находится по адресу http(s)://live.airee.cloud/live/HASH_hi/index.m3u8. По адресу http(s)://live.airee.cloud/live/HASH.m3u8 находится дайджест возможных разрешений (ABR) потока, включая вариации _low и _mid (доступны при включении адаптивного битрейта в настройках).
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?key=0011123481faedba00011123481faedb&stream=Трансляция&action=add
При успешном действии трансляция будет добавлена в Айри (или удалена из Айри) в течение 2 минут. Внимание! После добавления трансляции ее нужно включить (при добавлении трансляции не включатся автоматически).
При добавлении (add) трансляции в параметре stream передается заголовок (title) трансляции, при удалении — ключ (хэш).
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=enable&stream=1011123481faedba00011123481faedb&key=0011123481faedba00011123481faedb
Включение или отключение видео-трансляции в Айри. При отключении внешний адрес трансляции отключается (будет возвращать 404 ошибку). При включении трансляции она становится доступна по публичному адресу через 2 минуты.
Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=set.options&stream=1011123481faedba00011123481faedb&key=0011123481faedba00011123481faedb&дщсфешщт=1
В GET-параметрах можно передать значения настроек трансляции. Например:
source — RTSP-адрес IP-камеры для входящего потока (должен начинаться с rtsp://).title — название трансляции (используется в Личном кабинете Айри и для ретрансляции).location — RTMP-узел для приема входящего потока live-трансляции (для дальнейшей рентрансляции через CDN или в социальные сети).Пример запроса: https://xn--80aqc2a.xn--p1ai/my/site/api/?action=get.streams&key=0011123481faedba00011123481faedb
action=get.streams). Список трансляций, добавленных пользователем, включает статус (отрицательный — трансляция удалена, 0 — трансляция отключена и 1 — трансляция включена в Айри).Описание S3 API для работы с хранилищем и простой PHP класс для работы с хранилищем.
Получите больше скорости! Подключите сайт к Айри
Если доступность сайта снизится — мы вернем вам деньги!