Files
aiform_prod/docs/N8N_PROFILE_CONTACT_WEBHOOK_RESPONSE.md

2.1 KiB
Raw Permalink Blame History

Профиль: ответ N8N_CONTACT_WEBHOOK из SQL

Цепочка в n8n

  1. Webhook (POST) — получает от бэкенда unified_id, entry_channel, chat_id, session_token, contact_id, phone.
  2. SQL — по unified_id/contact_id выбирает контакт из БД. Возвращает массив строк в формате:
    • contactid, firstname, lastname, email, mobile, phone, birthday, mailingstreet, middle_name, birthplace, inn, verification, bank
  3. Code — преобразует строки в JSON для ответа вебхука (см. N8N_CODE_PROFILE_CONTACT_RESPONSE.js).
  4. Respond to Webhook — отдаёт ответ клиенту (тело = вывод Code).

Формат ответа

  • Ничего не нашли: вернуть HTTP 200 и тело { "items": [] }.
  • Нашли контакт(ы): HTTP 200 и тело { "items": [ { ...поля в snake_case... } ] }.

Поля контакта (уже в формате мини-апа после Code):

  • last_name, first_name, middle_name
  • birth_date, birth_place
  • inn, email, phone
  • registration_address (в SQL: mailingstreet — адрес регистрации)
  • mailing_address, bank_for_compensation

Подстановка Code-ноды

  • Скопировать код из aiform_prod/docs/N8N_CODE_PROFILE_CONTACT_RESPONSE.js в ноду Code.
  • Вход Code — вывод SQL (один item с массивом в json или несколько items по одному контакту).
  • Выход Code — один item с { "items": [ ... ] }.
  • В Respond to Webhook указать: ответить телом из предыдущей ноды (всё из Code), чтобы в ответ ушёл именно { "items": [...] }.

Если SQL не нашёл строк — перед Code добавьте условие (IF): при пустом результате отдавать в Respond to Webhook тело { "items": [] } и статус 200.