Введение
Данный API предназначен для управления услугами CDN для партнера.
Базовые DNS зоны
Во время работы Arviol взаимодействует с DNS-сервером (создание/удаление/обновление A-записей для зон, выпуск SSL-сертификатов). В частности с API PowerDNS.
Для управления услугами CDN необходимы 3 DNS зоны:
- зона для управления cname-доменами, например
static-partner.arviol.com. - зона для управления S3 ресурсами, например
s3-partner.arviol.com. - зона для управления объектами VOD, например
vod-partner.arviol.com.
При создании конечными пользователями объектов в системе, будут выданы уникальные доменные имена, которые будут зависеть от зон, заданных ранее, например:
- домены -
d123.static-partner.arviol.com - S3-ресурсы -
s123.s3-partner.arviol.com - VOD-объекты -
vd123.vod-partner.arviol.comилиvs123.vod-partner.arviol.com
Выбор DNS сервера
Доступно два варианта выбора DNS сервера:
- Работа с PDNS Arviol - в данном случае все действия с зонами DNS будут происходить на стороне Arviol.
В данном варианте для управления услугой CDN для делегированных доменов от партнера потребуется самостоятельно менять A-записи домена пользователя на те, которые будут предоставлены системой партнеру заранее.
- Работа с PDNS партнера - потребуется предоставление партнером URL-адреса и секретного ключа для взаимодействия по API. Плюс данного варианта в том, что выбор доменного имени, которое будет видеть конечный пользователь, зависит от партнера, например:
d123.static-cdn.partner-name.com.
Параметры для подключения партнера
Для подключения к системе партнеру необходимо предоставить набор обязательных параметров:
- Активный адрес электронной почты партнера и номер телефона.
- Предоставление имен базовых зон в DNS, с помощью которых будет происходить управление услугами CDN.
- URL и токен (API-KEY) PDNS сервера партнера, если выбран второй вариант взаимодействия с DNS.
- Информация о необходимости автообновления сертифик атов делегированных доменов клиента.
После регистрации партнера в системе партнеру предоставляется токен для доступа к API.
При создании объектов в системе через API партнер должен указывать id (integer) внешнего (конечного) пользователя, производящего запрос.
Также есть возможность указать в заголовках PARTNER-NAME(str), SUBJECT-ID(uuid) для идентификации запросов.
Этот API соответствует спецификации json-rpc 2.0. Более подробная информация доступна по ссылке http://www.jsonrpc.org/specification.