Как разработать практичный REST API

Представьте ситуацию. Модель данных вашего веб-приложения начала принимать оформленный вид, и вам пора браться за публичный API. Вы знаете, что после релиза какие-либо существенные изменения в API будет сделать трудно, поэтому хотите максимально отладить все заранее. А в интернете как раз полным-полно советов по разработке API. Но поскольку какого-то стандарта, который подходит всем, не существует, во многих ситуациях вам придется выбирать, как лучше поступить. Какие форматы будет поддерживать API? Как будет производиться аутентификация? Должны ли у API быть версии?

Работая над API для Enchant (аналог Zendesk), я пытался отыскать прагматичные ответы на эти вопросы. Моя цель – сделать так, чтобы Enchant API было легко использовать, внедрять. Также он должен быть достаточно гибким, чтобы адаптироваться под наш собственный пользовательский интерфейс.
Читать дальше