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, включая отсутствующие поля и отсутствующее согласие) проверены в режиме реального времени.

← Общедоступные формы