API, которым пользуются партнёры
Хороший внешний API — это не только CRUD. Нужны:
- предсказуемые коды ошибок и формат JSON;
- пагинация и фильтры с лимитами;
- rate limiting по ключам;
- changelog и версия в URL (
/v1/...).
В Laravel удобно комбинировать Form Requests, API Resources и Policies — так права и валидация остаются прозрачными.
Webhooks: идемпотентность — must have
Партнёры будут слать одно событие дважды. Храните event_id, проверяйте дубликаты, отвечайте быстро (202 + job в очередь). Тяжёлую логику не держите в HTTP-цикле.
Наблюдаемость
Логируйте correlation id сквозь запрос → очередь → ответ внешней системе. При сбое интеграции с МТС, CRM или платёжкой это экономит дни отладки — мы проходили это на кейсе логистики.
Документация
OpenAPI/Swagger или Scribe — не для красоты, а чтобы фронт и подрядчики не писали «а какой тут формат?» в чат каждую неделю.
Нужна интеграция под ключ? Обсудим задачу.