POST/api/public/contact
Общедоступная форма обратной связи сайта Zentor. Создает заявку во внутренней системе лидов.
`POST /api/public/contact` обрабатывает публичную контактную форму веб-сайта Zentor и регистрирует запрос во внутренней системе лидов. Эндпоинт не требует аутентификации через панель управления и не является идемпотентным. Каждая успешная отправка может создать новый лид. Поэтому интерфейс должен отключать кнопку «Отправить» после первого нажатия и не вызывать автоматические повторные запросы. К подтверждённым обязательным полям относятся `name`, `email` и `message`. Имя должно содержать от 2 до 120 символов, адрес электронной почты должен иметь корректный формат, а сообщение должно соответствовать правилам серверной валидации. Дополнительные поля можно отправлять только в том случае, если они предусмотрены в фактической схеме. Неизвестные значения не следует использовать для управления внутренними свойствами лида. Корректная форма проверяет обязательные поля уже в браузере, но не полагается исключительно на эту проверку. Решающим остаётся сервер. При ошибке валидации интерфейс должен выделить проблемное поле и сохранить введённые данные. Общее сообщение об успехе должно появляться только после получения положительного ответа от сервера. Контактная форма не является безопасным каналом для передачи паролей, API-ключей, токенов виджетов, платежных данных или полных наборов данных клиентов. Пользователи должны указывать сценарий использования, затронутый продукт и доступный для связи рабочий адрес электронной почты. При возникновении технической проблемы помогут имя тенанта, время события, затронутая функция и воспроизводимые шаги, без передачи лишних персональных данных. Реалистичный сценарий: посетитель заполняет имя, электронную почту и сообщение, при необходимости подтверждает условия конфиденциальности страницы и отправляет форму. Сервер валидирует данные, создаёт лид и возвращает ответ об успехе. При некорректной электронной почте или слишком коротком имени полный лид не создаётся. Эндпоинт не создаёт тенанта, не бронирует тариф и не заменяет структурированную конфигурацию продукта или процесс консультирования. Для защиты от спама и автоматизированных массовых запросов клиент должен уважать ошибки, возвращаемые сервером, и не запускать немедленные бесконечные циклы. Успешный ответ должен очищать поля ввода только после подтверждения принятия данных сервером. Если ответа нет, пользователь может сохранить содержимое и позже контролируемо отправить его повторно. Для внутренней маршрутизации сообщение должно содержать фактическую причину обращения, без маркетинговых клише или конфиденциальных вложений. Чёткая тема и точное описание проблемы сократят количество уточняющих вопросов. Однако сама API не гарантирует приоритет и не подтверждает фиксированные сроки обработки.
Аутентификация и защита
Аутентификация не требуется
Идемпотентный: Нет
Параметры
name(body, string, обязательно)— 2–120 символовemail(body, string, обязательно)— Валидный адрес электронной почтыmessage(body, string, обязательно)— 10–3000 символовcompany(body, string)phone(body, string)topic(body, string)consentGiven(body, boolean, обязательно)— Должно быть true (согласие на обработку данных)Пример запроса
{"name":"Max Mustermann","email":"max@example.com","message":"Ваше сообщение (не менее 10 символов).","consentGiven":true}Пример ответа
{"ok":true,"message":"Ваш запрос отправлен."}Коды ошибок
400 VALIDATION_ERROR — Отсутствует обязательное поле или оно недействительно, либо отсутствует согласие на обработку данных (массив деталей с отдельными сообщениями об ошибках).Подтверждение живого теста
Успех (200) и негативный сценарий (400, включая отсутствующие поля и отсутствующее согласие) проверены в режиме реального времени.