Слово API скрывает слишком много
Без списка ресурсов и ошибок невозможно оценить безопасность, объём работ и ответственность сторон.
API имеет смысл только после определения одной полезной операции: например, передать подборку или вернуть статус конкретной линии заказа.
Мы комплектуем библиотеки только русскими и украинскими книгами.
Опишите задачу библиотекиРоль системы и передача данных проектируются для учреждения; стандартная интеграция не заявляется.
01
Без списка ресурсов и ошибок невозможно оценить безопасность, объём работ и ответственность сторон.
Нужно определить минимальный набор полей, который решает задачу без лишнего доступа.
02
Публичный универсальный API не заявляется: для каждого сценария отдельно фиксируются ресурсы, авторизация, поля, ошибки, версии и владелец интеграции.
03 / Пример согласованного профиля
Получаем привычные библиотеке данные закупки, проверяем издание и наличие, затем возвращаем согласованные поля в её рабочий процесс.
ISBN, список изданий, номер заказа и необходимые библиотеке закупочные реквизиты.
Сопоставляем поля, проверяем обязательные значения и готовим ограниченный тест для приёмки.
Проверенные библиографические данные, цену и статус в согласованном формате и по выбранному каналу.
Пример иллюстративный. Поля, кодировка, валидация и транспорт согласуются до пилота.
{
"bookId": 131711,
"isbn": "978-5-17-160839-2",
"title": "Как начать писать: от заметки в блоге до большого романа",
"status": "stock",
"displayedPrice": "43.00"
}
endpoint · authorization · errors → <agreed contract>04
Не начинаем с общего обещания интеграции, а описываем конкретный поток данных.
Фиксируем доступ, валидацию, коды ошибок и владельцев поддержки.
Проверяем сценарий на тестовых данных перед решением о рабочем доступе.
05
Контракт может возвращать идентификатор строки, состояние проверки и дату обновления без доступа к несвязанным данным.
06
Сначала реализуется проверяемый сценарий, а не большой неопределённый интерфейс.
Авторизация и журналирование входят в контракт, а не добавляются после запуска.
07 / Exlibrus