Неофициальный API

Неофициальный API — это интерфейс, который продукт использует внутри себя, но не публикует и не поддерживает: как правило, эндпоинты, которые вызывает его собственный веб- или мобильный клиент, найденные наблюдением за сетевым трафиком этого клиента. К нему обращаются, когда у поставщика нет публичного API вовсе или есть, но в нём отсутствует ровно тот объект, который нужен, — и это реальная, ничем не примечательная часть того, как интеграции строятся на практике. Это же и самая недолговечная из доступных зависимостей, по структурной причине: контракта нет, а значит, нечего и версионировать. Форма ответа может измениться в любом релизе, без предупреждения, без журнала изменений и без окна на миграцию, потому что со стороны поставщика ничего не сломалось. Аутентификация обычно опирается на сессию клиента, а не на доступ, предназначенный для машин, поэтому интеграция находится в одном изменении формы входа или в одном улучшении защиты от ботов от остановки. А трафик могут придушить, заблокировать или отнести к злоупотреблению, иногда вместе с аккаунтом. Нетехнический риск заслуживает быть взвешенным первым, потому что нести его будете не вы. Условия использования, как правило, регулируют автоматический доступ, и построение клиентской функции на маршруте, который поставщик не санкционировал, ставит под угрозу блокировки аккаунты ваших клиентов, а не только ваш. Это решение того, кто отвечает за отношения с клиентом и за договор, а не то, что тихо закрывается внутри реализации. Если ответ всё-таки «да», ограничьте это. Спрячьте за единственным интерфейсом, чтобы замена позже трогала один файл, а не продукт. Следите не только за доступностью, но и за формой, чтобы изменение доходило до вас упавшей проверкой, а не обращением в поддержку. Никогда не представляйте это клиентам как поддерживаемую интеграцию: слово подразумевает обязательство, которого вы дать не можете. И продолжайте просить у поставщика настоящий вариант — устойчивое решение здесь это API, который публикует он, а видимый ему спрос и есть аргумент за то, чтобы его сделать.

Похожие термины

Ещё термины: Интеграции