SHIFT >_CODE

API: договорённости, на которых держатся интеграции

Как системы обмениваются данными и действиями - и что делает такие связи безопасными и удобными в поддержке.

API: договорённости, на которых держатся интеграцииТехнологии

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

Исходите из реальных действий

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

Безопасность - часть договора

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

Учитывайте ненадёжную сеть

Запрос может завершиться по тайм-ауту уже после того, как другой сервис выполнил действие. Важные операции записи должны быть идемпотентными: повтор не должен создавать второй заказ или платёж. Задайте тайм-ауты и понятные правила повторения. Для событийных интеграций сохраняйте попытки доставки и предусмотрите повтор неудачных событий.

Планируйте изменения

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

SHIFT >_CODEВсе статьи →

SHIFT >_CODE

Есть задача, о которой стоит написать?

Расскажите, что нужно сделать, - предложим решение и оценим сроки.

Читайте также

Все статьи →