API и Woove Connect: заявки с форм в CRM и мессенджеры
API: как отправлять заявки в GetCourse, YCLIENTS, RetailCRM, WhatsApp и другие сервисы через Woove
API Woove Connect — это приём заявок POST-запросом с JSON из вашего кода: сервер, мобильное приложение, чат-бот. Заявка проходит тот же путь, что и с формы: разбор полей, защита от повторов, передача в сервис и журнал.
Как это работает
У каждой интеграции в кабинете свой адрес вебхука. Платформа отправляет на него данные формы, Woove разбирает поля и передаёт заявку в сервис. Ответ сервиса виден в заявке.
Адрес выглядит так: https://woove.ru/hook/<платформа>/<ваш ключ>. Ключ в нём секретный.
Настройка в API
- В кабинете Woove откройте интеграцию → «Источник заявок» → выберите «API» и скопируйте адрес.
- Отправляйте POST на адрес вебхука из кабинета с JSON-телом: {"Name": "…", "Phone": "…", "Email": "…", "Comment": "…"} и любыми своими полями.
- В ответ придёт {"ok": true}. Повторы с одинаковым tranid отбрасываются.
- Ошибки настройки видны в списке заявок с причиной.
Пример запроса
curl -X POST https://woove.ru/hook/<платформа>/<ваш ключ> \
-H 'Content-Type: application/json' \
-d '{"Name":"Иван Петров","Phone":"+7 999 123-45-67","Email":"ivan@example.com","Comment":"Перезвоните после 18","tranid":"order-1001"}'Коды ответа и разбор JSON
Тело читается как JSON, если в заголовке Content-Type указан application/json. Иначе Woove разбирает его как форму.
Вложенный JSON разворачивается в плоские поля. Массив пар с подписью и значением превращается в поля с этими подписями.
Запрос можно отправлять из браузера: заголовки CORS разрешают POST с любого домена.
Поля _redirect, _thanks, _source и _gotcha служебные, в заявку они не попадают. Запрос с одним полем test записывается как проверочный и в сервис не уходит.
- 200 {"ok":true} — заявка принята
- 404 unknown hook — ключа из адреса нет ни у одной интеграции
- 413 too large — тело запроса больше 256 КБ
- GET на адрес вебхука — отвечает ok, заявку не создаёт
Поля заявки
Имя, телефон, почту и комментарий мы находим по именам name, phone, email, comment и их русским подписям. Поле с другим именем впишите в «Поля формы» в настройках интеграции. Остальные поля приходят как есть.
Как проверить
Отправьте заявку с формы и откройте список заявок в кабинете. До оплаты заявки идут в черновом режиме: видны в кабинете, наружу не уходят. После оплаты переключите тумблер.
Если не работает
Нужен ли программист
Нет. Нужно вставить строку скрипта и добавить атрибут формы, сервер и обработчики не нужны.
Заявка пришла, но без телефона
Поле формы названо не так, как мы ожидаем. Откройте заявку в кабинете, посмотрите имя поля и впишите его в «Поля формы».
Можно ли отправлять в несколько сервисов
Да. У каждой интеграции свой адрес вебхука. Если платформа принимает только один адрес, отправляйте заявку скриптом Woove или через API.
В ответ приходит 404
Ключ в адресе не совпадает с ключом интеграции. Скопируйте адрес из кабинета заново.