Webhooks

Вебхуки позволяют обрабатывать заявки на отдельном хостинге. Например, можно на PHP написать интеграцию с CRM системой, которой у нас нет.

Содержание

Создание вебхука

  1. В личном кабинете выберите раздел «Интеграции и уведомления» и нажмите на «Подключить новую интеграцию».
  1. В списке доступных сервисов выберите Webhook и введите следующие данные.
  • Название для интеграции (Имя) - его вы придумываете сами;
  • Url - адрес куда будут отправлены запросы
  • Тип запроса - выберите тип запроса который вам нужен (POST, GET)
  • Тип отправляемых данных (Content-Type) - доступна только для POST запроса, возможные значения x-www-form-urlencoded и raw
  • Заголовки - можете написать HTTP заголовки которые вам нужны. Есть возможность написать несколько заголовков, для этого необходимо добавить новые поля ввода с помощью кнопки "Добавить поле".
💡
ЗАМЕТКА Каждое поле должно содержать только один заголовок
  1. Дальше с помощью Конструктора тела запроса вы можете создать структуру тела вашего запроса

В левой колонке необходимо ввести ключ, которому будет соответствовать значение поля из правой колонки (данные из формы/заявки)

Также можно создавать вложенные данные (массивы). Для этого нужно нажать стрелку указывающую вправо

В данном примере получилась следующая структура:

{
   "name": [
      {
         "email":"Email"
      }
   ],
   "phone": "Телефон"
}

4. Сохраняем интеграцию

Пример на PHP

Пример кода на PHP для приема и обработки данных с вебхука

<?php
if ($_SERVER["REQUEST_METHOD"] !== "POST") {
    return;
}

try {
    if (empty($_POST['email'])) {
        throw new Exception('Не указан получатель');
    }

    if( empty($_POST['message'])) {
        throw new Exception('Нет тела письма');
    }

    if(empty($_POST['subject'])){
        throw new Exception('Нет темы письма');
    }

    $to_email = $_POST['email'];
    $subject = $_POST['subject'];
    $message = $_POST['message'];

    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html;'. "\r\n";
    $headers .= 'From: example@company.com';

    if (mail($to_email, $subject, $message, $headers)) {
        echo "Письмо отправлено";
    } else {
        throw new Exception('Ошибка при отправке письма');
    }
} catch (Exception $exception) {
    echo $exception->getMessage();
}

ТЕХНИЧЕСКАЯ ПОДДЕРЖКА

Не можете найти то, что ищите?

Напишите нам. на связи 24/7. Среднее время ожидания ответа: 10-15 минут. Также вы можете вступить в наш Телеграм-чат, где собралось много специалистов и пользователей.

Поддержка Creatium

Агенты ответят через 10 минут

Агенты ответят

Блог, курсы и полезные материалы 

Платформа сайтов любой сложности