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