Статьи

Вам нужен API?

API означает «Интерфейс прикладного программирования», и, как следует из названия, его создание — это технический процесс. В этой статье очень мало говорится о том, как создать API, поскольку существует множество методов для этого. Цель этой статьи — сфокусировать внимание на бизнес-аспектах API-интерфейсов и предоставлять советы для нетехнических специалистов.

API — это набор функций и инструкций, позволяющих другому программному обеспечению получать доступ к услугам или информации, которую вы предлагаете. API обычно (должен быть) написан в соответствии со стандартными шаблонами и может быть бесплатным или монетизированным несколькими способами.

Кто их имеет?

Начнем с нескольких примеров, чтобы лучше проиллюстрировать, что такое API и как они используются.

Большинство онлайн-сервисов любой ценности

Эти примеры очевидны, но стоит начать с пояснения концепции. API являются частью основного бизнеса таких компаний, как Google, SalesForce, Yelp и Twitter. Все эти компании предоставляют доступ к информации, которой они обладают, через API, которые широко используются другими предприятиями и их разработчиками в различных приложениях. Все эти компании предлагают различные уровни оплаты в зависимости от качества или количества необходимого вам доступа, от бесплатного и выше.

Правительство, общественные и научные организации

Это не обычные бизнесы, но в этом секторе наблюдается такой недавний рост принятия API, что он заслуживает упоминания. Правительства по всему миру, от местных до федеральных, начали выпускать определенные наборы данных для общественности через API. Существует неоднозначное мнение о том, насколько эффективны и полезны некоторые из этих наборов данных, но это смелый первый шаг, и некоторые из них привели к невероятному пониманию и применению.

Другие примеры

Если вы не занимаетесь преимущественно онлайн-бизнесом или не занимаетесь Гражданским пространством, стоит ли по-прежнему использовать API? Они в основном подходят для бизнеса, основанного на информации и знаниях. Например, в настоящее время я «архивирую» благотворительную организацию, которой я руководил в Мельбурне, чтобы собранная нами информация и ресурсы могли использоваться другими и не тратиться впустую. В рамках этого процесса мы предоставим API, чтобы другие могли собирать и использовать наш контент. Мы будем взимать плату за доступ к определенным элементам контента, но большинство будет свободно доступно. Хотя доставка осуществляется в режиме онлайн, она опирается на наш опыт работы в автономном режиме.

Все чаще аппаратные предприятия будут использовать больше API. Программное обеспечение все еще работает на оборудовании, но создание оборудования с доступом через API будет означать, что ваши продукты будут иметь больший потенциал и более длительный срок службы.

обоснование

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

Положительных

Превращение конкурентов в партнеров

Если вы первый на своем рынке с доступом к API, у вас есть возможность привлечь своих конкурентов, используя ваши данные и ресурсы в их продуктах.

Неожиданные (положительные) результаты

Предоставление вашим пользователям возможности создавать некоторые свои собственные специальные инструменты может привести к неожиданным новым инструментам, которые у вас никогда не хватило бы вдохновения или времени для их создания.

Масштабный охват рынка

Оба вышеперечисленных пункта помогут расширить ваш потенциальный охват с минимальными затратами труда и инвестиций, возможно, только требуя улучшения инфраструктуры.

Расширение возможностей пользователей

Доверие к своим пользователям и предоставление им дополнительной ценности помимо основного продукта помогает поддерживать сильное чувство лояльности. Это повышение лояльности дает вашей компании небольшое преимущество перед конкурентами.

Отрицательных

Вам действительно нужен API?

API — это «облачный сервис» последних 18 месяцев; все слышали о них и хотят, не зная почему. Таким образом, возникает соблазн прыгнуть на борт, чтобы идти в ногу со временем. Вам действительно нужно? Есть ли смысл? Создание и поддержка API потребует дополнительных сотрудников и ресурсов, есть ли у вас их в наличии?

Безопасность

При правильной реализации API не должен открывать вам больше нарушений безопасности, чем ваше обычное присутствие в Интернете. Однако чем больше вы открываете свою организацию, тем больше вы открываете себя для людей (или автоматизированных систем), которые хотят найти способ использовать эти частично открытые двери.

Существует несколько решений этой проблемы, основанных на передовом опыте:

  • Безопасный доступ к API за уникальным методом идентификации пользователя, даже если вы предлагаете доступ бесплатно.
  • Рассмотрите возможность размещения службы API на отдельном сервере с данными, к которым она обращается.
  • Если вы предлагаете уровень доступа к API, который позволяет пользователям также добавлять или обновлять вашу информацию, этот процесс должен быть хорошо защищен от вредоносных атак (так называемых «инъекций»).
  • Защитите себя от атак типа «отказ в обслуживании» (DOS), вызванных намеренным намерением перегрузить ваши системы.

Открывая себя для критики

С определенными наборами данных (особенно гражданскими) у вас есть потенциал для анализа данных и их критики. Это не всегда негатив, обратная связь может быть конструктивной и полезной. Однако открытие шлюзов может быть пугающим и истощающим.

Другая потенциальная точка критики — то, что другие выбирают делать с вашими услугами или данными. Эта проблема недавно достигла нескольких важных целей, например недавнее нарушение данных Snapchat произошло из-за того, что третья сторона получила доступ к сервису способом, который нарушал Условия предоставления услуг. Я уверен, что мы все знаем, что только потому, что мы говорим людям, что они не могут что-то сделать, это не значит, что они не будут пытаться.

Реализация API

Как и в случае любого другого технического (или нетехнического) проекта, прежде чем начинать какую-либо реализацию, спланируйте, спланируйте и запланируйте еще немного. Изложите свою стратегию, чего вы хотите достичь и почему. Укажите, к чему вы дадите людям доступ и почему они могут захотеть получить к ним доступ. Документируйте то, что вы намереваетесь выполнить, это поможет позже объяснить вещи другим и заложить основу для документации для реализации.

Это не техническая статья, поэтому я не буду вдаваться в подробности фактической реализации, однако есть одно практическое правило, которое стоит придерживаться:

Не изобретай велосипед.

Существуют стандарты для разработки и управления API, независимо от того, решите ли вы создать свой собственный или использовать сервис, который создаст его для вас. Эти стандарты проверены, понятны тем, кто будет их использовать, и помогут предотвратить некоторые негативные явления, упомянутые выше.

Вывод

Эта статья коснулась поверхности разработки и реализации API, мои главные напутствия мудрости не новы. Убедитесь, что вы беретесь за любой проект по правильным причинам.

Вот некоторые ресурсы, которые я рекомендую для дальнейшего изучения: