Разработка безопасного API-слоя — 7 endpoints + 4 webhook

Бюджет: 7 000
83.14 $ – 72.41 €
Заказчик выбрал исполнителя:
Алексей Сладков  
Стоимость сделки: 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

Выберите способ верификации:

Обновите страницу после прохождения верификации.