Отправка данных веб-форм Webform с использованием REST API

Главные вкладки

Аватар пользователя artvit artvit 31 октября 2017 в 19:52

Добрый день.

Существует отдельные веб-формы, созданные на базе модуля Webform, отправка по умолчанию идет на необходимый e-mail. Все в рамках модуля.

Дополнительно появилась необходимость отправки данных заявки в различные CRM (кастомные) на основе REST API (предоставляют authcode, id формы и другие поля).

Как правильно реализовать данный функционал, возможно существуют готовые решения?

Комментарии

Аватар пользователя fairrandir fairrandir 31 октября 2017 в 20:47

За готовые модули не скажу, но свой написать достаточно просто. Веб-формы - те же формы, и им через hook_form_alter можно просто подцепить ещё одну submit-функцию, из которой уже слать что-угодно куда угодно.

Аватар пользователя fairrandir fairrandir 2 ноября 2017 в 13:33

Кхэм. Ну вам как бы лучше знать, что конкретно надо делать. Но задача-то предельно простая - добавляем с помощью hook_form_alter ещё один обработчик на submit, примерно так:

<?php
function MYMODULE_form_webform_client_form_alter(&$form, &$form_state$form_id) {
  switch (
$form_id) {
    case 
YOYR_FORM_ID:
      
$form['submit']['#submit'][] = 'YOUR_SUBMIT_FUNCTION';
      break;
  }
}
?>

YOUR_SUBMIT_FUNCTION примет в качестве аргументов $form и $form_state, в $form_state будут лежать все данные, отправленные клиентом. Вы их обрабатываете как вам угодно, и шлёте POST-запрос на нужный вам сервис.