Стоимость сделки: 7 000 ₽
Цель работы
Разработать и протестировать безопасный API-слой для дальнейшего подключения CRM и AI-продавца.
CRM/AI-продавец не должен иметь прямого доступа к базе данных. Все взаимодействие должно выполняться только через подготовленный и защищённый API-слой.
Объём работ
1. API 7 endpoints
Реализовать и протестировать согласованные 7 API endpoints.
До начала разработки необходимо согласовать со мной по каждому endpoint:
- назначение;
- HTTP-метод;
- параметры запроса;
- формат ответа;
- передаваемые данные;
- права доступа.
CRM должна получать только необходимые ей данные.
2. Webhooks 4 шт.
Реализовать 4 webhook для передачи событий из сайта CRM.
Для каждого webhook согласовать:
- событие-триггер;
- структуру данных;
- формат запроса;
- формат ответа;
- обработку ошибок;
- защиту от повторной обработки одинаковых запросов.
3. Безопасность и авторизация
Реализовать:
- API Token;
- защиту внешних endpoints;
- запрет неавторизованных запросов;
- возможность отзыва/замены доступа;
- безопасное хранение токенов;
- защиту webhook;
- HMAC-подпись, если предусмотрена схемой;
- Rate Limiting;
- Scopes и разграничение прав доступа.
Прямой доступ CRM/AI-продавца к БД сайта не допускается.
4. Логирование и ошибки
Реализовать:
- логирование API-запросов;
- логирование ошибок;
- корректные HTTP-коды;
- понятные сообщения об ошибках;
- защиту от повторной обработки webhook при необходимости.
5. Staging и тестирование
Вся разработка сначала выполняется на staging.
Production до завершения тестирования и моего подтверждения не изменяется.
На staging проверить:
- авторизованные запросы;
- неавторизованные запросы;
- все 7 endpoints;
- все 4 webhook;
- API responses;
- ошибки и HTTP-коды;
- ограничения доступа;
- Rate Limiting;
- защиту webhook;
- корректность передачи данных.
После успешного тестирования подготовить результат к переносу на production.
6. Swagger / OpenAPI
Предоставить актуальную Swagger/OpenAPI документацию:
- endpoints;
- HTTP-методы;
- параметры;
- ответы;
- авторизация;
- webhook;
- возможные ошибки;
- примеры запросов и ответов.
7. Передача результата заказчику
После полного завершения работы исполнитель обязан передать заказчику:
1. Полный актуальный исходный код всех реализованных в рамках сделки функций.
2. Все необходимые конфигурационные данные для дальнейшей эксплуатации.
3. Swagger/OpenAPI документацию.
4. Описание API endpoints и webhook.
5. Данные, необходимые для дальнейшего подключения CRM и AI-продавца.
6. Инструкцию по запуску и развёртыванию.
7. Информацию о необходимых environment variables и настройках.
8. Все созданные в рамках работы API-токены/ключи либо безопасный способ их дальнейшего создания и управления.
9. Необходимые доступы к staging, репозиторию и связанным сервисам, созданным или настроенным в рамках данной работы.
Все логины, пароли, токены и доступы, которые принадлежат или были созданы специально для проекта в рамках данной работы, после завершения должны быть полностью переданы заказчику либо переданы через безопасный способ смены владельца/пароля.
После передачи заказчик должен иметь полный контроль над результатом работы и возможность самостоятельно продолжить эксплуатацию и дальнейшую разработку без обязательной зависимости от исполнителя.
8. Приёмка
Работа считается выполненной только после:
- демонстрации работающего результата на staging;
- проверки 7 API endpoints;
- проверки 4 webhook;
- проверки авторизации и защиты;
- проверки основных сценариев тестирования;
- передачи актуальной документации;
- передачи исходного кода;
- передачи необходимых доступов и данных для дальнейшей эксплуатации;
- подтверждения результата заказчиком.
Если обнаружены ошибки или несоответствия согласованному ТЗ, относящиеся к заявленному объёму работ, исполнитель исправляет их в рамках данной сделки.
9. Ограничения
В данную сделку не входит разработка самой CRM и AI-продавца.
Дополнительные endpoints, webhook или другой функционал, не входящий в согласованный объём, оформляются отдельной сделкой.
Исполнитель не должен самостоятельно добавлять, удалять или изменять функционал без согласования с заказчиком.
Все изменения сначала выполняются на staging. Production изменяется только после успешного тестирования и подтверждения заказчиком.
Опубликован 21.09.2026 в 12:18 Последнее изменение: 21.09.2026 в 12:17