В данном кейсе мы покажем как сделать в Телеграм боте продавца товаров или услуг прямо с вашего сайта на WordPress и собирать заказы в удобную базу в Notion

Шаг №1: Подготовка WordPress

Подготовим ваш сайт на WordPress для того чтобы наш бот смог получать товары в нужных категориях. Для этого добавьте следующий код в файл `functions.php` в настройках вашей темы:

add_action('rest_api_init', function () {
    register_rest_route('myshop/v1', '/products', array(
        'methods' => 'GET',
        'callback' => 'get_products_info',
        'permission_callback' => '__return_true'
    ));
});
function get_products_info($request) {
    $category = $request->get_param('category');
    $args = array(
        'status' => 'publish',
        'limit' => -1
    );
    if ($category) {
        $args['category'] = array($category);
    }
    $products = wc_get_products($args);
    $data = array();
    foreach ($products as $product) {
        $data[] = array(
            'id' => $product->get_id(),
            'name' => $product->get_name(),
            'price' => $product->get_price(),
            'regular_price' => $product->get_regular_price(),
            'sale_price' => $product->get_sale_price(),
            'stock_status' => $product->get_stock_status(),
            'stock_quantity' => $product->get_stock_quantity(),
            'categories' => wp_list_pluck($product->get_category_ids(), 'name'),
            'permalink' => get_permalink($product->get_id()),
            'image_url' => wp_get_attachment_url($product->get_image_id()),
        );
    }
    return new WP_REST_Response($data, 200);
}
Пример установки скрипта для сторонних обращений к каталогу товаров
Пример установки скрипта для сторонних обращений к каталогу товаров

Если вы хотите чтобы никто кроме бота не смог обратиться к сайту вы можете добавить проверку пароля, вот так:

add_action('rest_api_init', function () {
    register_rest_route('myshop/v1', '/products', array(
        'methods' => 'GET',
        'callback' => 'get_products_info',
        'permission_callback' => 'check_api_password'
    ));
});

function check_api_password($request) {
    $api_password = 'your_secure_password_here'; // Замените на ваш пароль
    $provided_password = $request->get_param('api_password');

    if ($provided_password && $provided_password === $api_password) {
        return true;
    } else {
        return new WP_Error('rest_forbidden', 'Неверный пароль API', array('status' => 401));
    }
}

function get_products_info($request) {
    $category = $request->get_param('category');
    $args = array(
        'status' => 'publish',
        'limit' => -1
    );
    if ($category) {
        $args['category'] = array($category);
    }
    $products = wc_get_products($args);
    $data = array();
    foreach ($products as $product) {
        $data[] = array(
            'id' => $product->get_id(),
            'name' => $product->get_name(),
            'price' => $product->get_price(),
            'regular_price' => $product->get_regular_price(),
            'sale_price' => $product->get_sale_price(),
            'stock_status' => $product->get_stock_status(),
            'stock_quantity' => $product->get_stock_quantity(),
            'categories' => wp_list_pluck($product->get_category_ids(), 'name'),
            'permalink' => get_permalink($product->get_id()),
            'image_url' => wp_get_attachment_url($product->get_image_id()),
        );
    }
    return new WP_REST_Response($data, 200);
}

Шаг №2: Подготовка Notion

По работе в Notion очень много видео на YouTube и даже на русском языке, так что я вам дам ссылку на полученный шаблон для нашего бота в Notion.

Рабочее пространство для ИИ бота по продаже с сайта WordPress
Рабочее пространство для ИИ бота по продаже с сайта WordPress

Шаг №3: Создание Телеграм бота на платформе ProTalk

Тут приведу ссылку на гайд по созданию Телеграм бота на платформе ProTalk:

И итоговую роль бота:

Ты - опытная и дружелюбная менеджер по продаже светильников. Твоя цель - обеспечить клиентов качественными консультациями и помочь им сделать правильный выбор.

Твоя задача - помочь клиентам выбрать подходящие светильники на сайте [https://svetaluks.ru](https://svetaluks.ru/) и успешно завершить продажу.

Когда клиент определится с выбором ты должна спросить его имя и номер телефона, после чего отправить эти данные в таблицу Notion: [https://www.notion.so/0b27ddc833864c558376d2537ea11ddf?v=b7c69c8af2294ae8857c04bc86f6b86d&pvs=4](https://www.notion.so/0b27ddc833864c558376d2537ea11ddf?pvs=21)

Поля для записи заявки:

```markdown
“Клиент” - это заголовок, сюда запиши имя клиента
“Телефон” - текстовое поле, сюда запиши телефон клиента
“Заказ” - тектовое поле, сюда запиши заказ клиента
"Сумма" - числовое поле, сюда запиши сумму заказа
```

Используй эти категории для поиска светильников:
"childrens-table-lamps" - детские настольные светильники.

Токен для записи в Notion : “secret_EPGE2uRL85XXXXXXXXXXXXXXXXXXXXXXXXX”

Не выходи из своей роли.

Кстати саму роль мы тоже вынесли в Notion, вот так:

Используем страницу Notion как внешнюю роль для бота на платформе ProTalk
Используем страницу Notion как внешнюю роль для бота на платформе ProTalk

В итоге получаем такого бота:

Бот на платформе ProTalk
Бот на платформе ProTalk

К боту мы подключили две функции:

Подключенные функции к боту на ProTalk
Подключенные функции к боту на ProTalk
Функция для связи с сайтом WordPress
Функция для связи с сайтом WordPress
Функция для записи в таблицу Notion
Функция для записи в таблицу Notion

Шаг№ 4: Тестируем бота

Бот использует подключение к сайту WordPress и предлагает нам товары
Бот использует подключение к сайту WordPress и предлагает нам товары
Бот отправляет заказ в базу Notion
Бот отправляет заказ в базу Notion

Заказ создан правильно и все разнесено по нужным колонкам
Заказ создан правильно и все разнесено по нужным колонкам

Дополнительно мы можем включить боту такие настройки:

Диалоговые настройки в ботах ProTalk
Диалоговые настройки в ботах ProTalk
Функция, которая позволит боту возобновить текущий диалог через несколько дней, в удобное для клиента время
Функция, которая позволит боту возобновить текущий диалог через несколько дней, в удобное для клиента время

И тогда станет возможно такое поведение бота:

ИИ бот ProTalk может возобновлять диалог в удобное для клиента время
ИИ бот ProTalk может возобновлять диалог в удобное для клиента время

Итоги

На базе приведенного кейса возникает идея "упаковки" готовых для тиражирования ИИ компаний в виде шаблона Notion в котором будут находится:

  1. Роли всех ИИ сотрудников

  2. Базы знаний в виде таблиц Notion

  3. Базы заявок (лидов) от ботов

Если у вас возникли идея как еще можно использовать связку ИИ ботов с Notion, пишите про них в комментариях или мне в Telegram.

P.S. Видео по созданию бота из данной статьи

Комментарии (11)


  1. MadMarakuya
    28.07.2024 06:12
    +5

    В примере человеку показали два рандомных светильника и один из них сразу понравился. А в реальной жизни люди выбирают по параметрам и сравнивают...

    Расскажите, как в боте устроен поиск? Светлана хорошо понимает русской язык, синонимы и опечатки?


    1. TAU15 Автор
      28.07.2024 06:12
      +1

      В данном примере Светлана, которая работает на базе ChatGPT 4 очень хорошо умеет определять параметры поиска из контекста диалога с клиентом. Вы можете для вашего сайта и ваших товаров настроить в роли Светланы как нужно фильтровать товары и она это будет делать как будто она сама использует фильтр на вашем сайте.

      С пониманием русского языка и опечаток она просто великолепно отрабатывает.

      А синонимы это вообще мега фишка использования ChatGPT для фильтрации по базе данных!


  1. Ilya_JOATMON
    28.07.2024 06:12
    +4

    Надуманный бизнес кейс по мне.

    Покупатель или знает конкретную модель и ищет ее где подешевле. Или не знает что хочет, и просматривает кучи товара, определяется со стилем и уже подбирает в нем, но не факт что то что ему понравится есть в магазине. Но может отметить несколько моделей которые ближе подходят.

    Ни в одном из случаев чат бот не проще и быстрее. Обычный поиск и фильтры товаров сработают.

    И да, чтобы бот предлагал что-то отвечающее запросу, надо на товары прописывать теги описаний. но эти же теги можно и для фильтров использовать, и зачем тогда бот?


    1. TAU15 Автор
      28.07.2024 06:12
      +1

      Бот нужен когда у вас подбор товара это начало только общения. Если товары например промышленные то после выбора товара бот начинает консультировать клиента по базе знаний. И это уже вариант снижения нагрузки на живых консультантов.


      1. Ilya_JOATMON
        28.07.2024 06:12
        +1

        А что - поля характеристики у товара нет? Они скрыты и их надо через бота выуживать?

        Человек стремится получить результат с МИНИМУМОМ затрат энергии, общение с ботами гораздо энергозатратнее, чем десяток кликов мышью или тапов.


        1. TAU15 Автор
          28.07.2024 06:12

          в некоторых промышленных тематиках характеристики товара бывают такие. по которым как бот и может консультировать клиентов