Описание 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.2
blacklist
— список 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" }, ... }, ... }
DOMready
onload
Пример запроса: 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 класс для работы с хранилищем.
Получите больше скорости! Подключите сайт к Айри
Если доступность сайта снизится — мы вернем вам деньги!