Ключевые концепции
Ключевые концепции
Структура API-интерфейса
API-интерфейс Frame.io поддерживает общие концепции, например ограничение частоты запросов, разбивка на страницы для коллекций ресурсов, версионирование и ошибки. В этом разделе описаны особенности каждой из них.
Систематизация и стиль
API-интерфейс систематизирован на основе общих принципов REST. Все запросы должны выполняться через SSL. Все тела запросов и ответов, включая ошибки, кодируются в формате JSON.
Если не указано иное, методы API-интерфейса соответствуют следующим правилам:
- Свойства без значения будут иметь значение
null, а не неопределенное * Для имен атрибутов используется стиль «Snake Case» (например,first_name) * Метки времени отображаются в формате ISO-8601 (например,2016-02-03T16:38:46.985Z)
Стандарты построения путей
Учетные записи > Команды > Проекты > Ресурсы > Комментарии
В общем случае пути ресурсов в API-интерфейсе Frame.io будут следовать указанной выше иерархической модели в пределах одного родительского уровня. Где это интуитивно понятно, API-интерфейс поддерживает автономные пути ресурсов для объектов, которые логически принадлежат строго одному владельцу.
Например, API-интерфейс Frame.io поддерживает оба следующих пути:
GET /accounts/:id/teams— возвращает все команды для учетной записи. *GET /teams— возвращает все команды для выполняющего вызов пользователя. *GET /teams/:id— возвращает сведения о конкретной команде.
Еще один пример: комментарии не имеют большого смысла вне контекста их ресурса, поэтому методы сбора и создания комментариев находятся в области ресурса. Однако при обновлении или удалении комментария контекст ресурса не так важен и опускается из пути ресурса:
GET /assets/:id/comments*POST /assets/:id/comments*PUT /comments/:id*DELETE /comments/:id
Области доступа
Независимо от того, получаете ли вы токен через OAuth2.0 или напрямую через Developer Portal, все токены API-интерфейса должны быть связаны с явным списком «областей действия», которые относятся к комбинации ресурса (например, Asset) и действия (например, create) и выражаются точечной нотацией. Например, токен с областью действия asset.create сможет создавать новые ресурсы.
Если вы используете реализацию с токеном разработчика, области действия устанавливаются и назначаются самому токену доступа. Если вы используете приложение OAuth, области действия определяются для приложения, и когда пользователи впервые взаимодействуют с приложением, они соглашаются предоставить приложению разрешение действовать с запрашиваемыми областями.
Доступные области действия для токенов разработчика и приложений включают следующие (обратите внимание, что некоторые области действия доступны не всем, и они отмечены при возникновении проблемы).
Разбивка на страницы
Методы API-интерфейса, которые возвращают коллекцию результатов, всегда разбиваются на страницы. Все методы, которые ожидают результаты с разбивкой на страницы, будут отвечать на следующие параметры запроса и возвращать следующие атрибуты заголовка:
next— соответствующий URL-адрес является ссылкой на следующую страницу.prev— соответствующий URL-адрес является ссылкой на предыдущую страницу.last— соответствующий URL-адрес является ссылкой на последнюю страницу.
Примечание. Когда отсутствуют ссылки next и prev, это указывает на то, что возвращенная первая страница является единственной страницей.