Уведомления от Wildberries о новых заказах на почту и в telegram

Сообщения
104
Реакции
9
Я продаю:
  1. Wildberries
  2. Яндекс Маркет
  3. Ozon
Опыт продаж:
2 года
Всем привет. Как мы все знаем WB не оповещает селлеров на почту о новых заказах, хотя это очень странно на самом деле, так как WB по сути сам заинтересован в том что бы продавец как можно раньше взял заказ в работу. Ну да ладно, сегодня я покажу пример того, как можно получать уведомления о новых заказах на WB по почте и в telegram. Для этого нам понадобиться любой хостинг. Достаточно будет самого дешевого тарифа, на Timeweb самый дешевый тариф стоит 196 рублей в месяц, при условии что Вы оплачиваете тариф на год, при ежемесячной оплате стоимость будет 250 рублей в месяц. Так же нам понадобится зарегистрировать бота в telegram. Итак по порядку.

Регистрация бота в telegram

Открываем приложение telegram и в поиске пишем @BotFather заходим в бота и пишем первую команду /newbot после этого BotFather попросит придумать имя нашему боту, придумываем имя и пишем его в чат. Далее BotFather попросит придумать username для нашего бота. Обязательное условие: заканчиваться username должен обязательно на: _bot . После этого наш бот будет создан и нам понадобится его токен для взаимодействия по API, токен выделен на скриншоте ниже, его нужно скопировать и сохранить. Так же необходимо в поиске найти созданного Вами бота и начать с ним переписку (что бы чат был создан и мы могли отправлять себе сообщения от имени нашего бота).
Без имени-1.jpg
Так же нам необходимо получить свой ID, для этого ищем в поиске бота Get My ID вводим команду /start и бот в ответ напишет нам наш ID. ID нам понадобится что бы бот знал кому именно необходимо отправлять сообщения, его нужно скопировать и сохранить.
sdf.jpg

Все, на этом работа с telegram закончена.

Регистрация хостинга, создание сайта на служебном поддомене и настройка скрипта для отправки

Если у Вас еще нет хостинга, идем и регистрируем себе аккаунт по ссылке

У Вас будет 10 дней тестового периода, так что оплачивать тариф сразу не обязательно, можно сначала все настроить и протестировать, а дальше уже определиться, нужно Вам это или нет.
Итак нам необходимо создать сайт, идем в панели управления в раздел Сайты -> Мои сайты и жмем ссылку Создать новый сайт. Указываем название директории и жмем Создать.
sdfw.jpg

Далее нам необходимо привязать домен к созданному сайту. Timeweb предоставляет нам служебный домен третьего уровня которым мы можем пользоваться бесплатно, поэтому регистрировать отдельный домен нет необходимости. Итак жмем Привязать домен и выбираем предложенный нам домен.
чсм.jpg

Все, сайт у нас создан, теперь мы можем перейти к настройке скрипта для отправки уведомлений о новых заказах на почту и в telegram. Переходим в раздел Файловый менеджер и выбираем папку с созданным нами сайтом, переходим в папку public_html. Тут нам необходимо нажать кнопку Загрузить и загрузить на сервер 2 файла, wb.php и time.txt . Скачать эти файлы можно под спойлером ниже.
23423.jpg

Разбор файла WB.PHP

Ниже приведен код из файла wb.php, каждая строка прокомментирована и указано где и что нужно заменить.

PHP:
$token = 'ВАШ ТОКЕН ДЛЯ РАБОТЫ С API Wildberries';
 
$data = array(
    'sort' => array(
        'cursor' => array(
            'limit' => 1000
        ),
        'filter' => array(
            'next' => 0
        )  
    )
);

$ch = curl_init('https://suppliers-api.wildberries.ru/api/v3/orders/new');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization:' . $token,
    'Content-Type:application/json'
));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);

$res = json_decode($res, true);
foreach( $res['orders'] as $order ){
    $time = $order['createdAt'];
    $price = $order['convertedPrice'] / 100;
}
$filename = __DIR__ . '/time.txt';
$text = file_get_contents($filename);

if( $time ){
    if( $text !== $time ){
        $to      = 'ВАШ ПОЧТОВЫЙ ЯЩИК НА КОТОРЫЙ ДОЛЖНЫ ПРИХОДИТЬ УВЕДОМЛЕНИЯ, МОЖНО УКАЗАТЬ НЕСКОЛЬКО ШТУК ЧЕРЕЗ ЗАПЯТУЮ';
        $subject = 'Новый заказ на WB для ВАШ МАГАЗИН';
        $message = 'На WB есть новый заказ для ВАШ МАГАЗИН. Сумма - '.$price ;
        $headers = 'From: ВАША ПОЧТА С КОТОРОЙ БУДУТ ОТПРАВЛЯТЬСЯ ПИСЬМА' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
      
        mail($to, $subject, $message, $headers);
        send_telegram_bot( $message );
        file_put_contents($filename, $time);
    }
}

function send_telegram_bot( $message ){
    $tg_user = 'ВАШ ID ПОЛЬЗОВАТЕЛЯ КОТОРЫЙ МЫ ПОЛУЧАЛИ В TELEGRAM'; // id пользователя, которому отправиться сообщения
    $bot_token = 'ТОКЕН ВАШЕГО БОТА КОТОРЫЙ МЫ ПОЛУЧАЛИ В ТЕЛЕГРАМ'; // токен бота
 
    $text = $message;
  
    // параметры, которые отправятся в api телеграмм
    $params = array(
        'chat_id' => $tg_user, // id получателя сообщения
        'text' => $text, // текст сообщения
        'parse_mode' => 'HTML', // режим отображения сообщения, не обязательный параметр
    );
 
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'https://api.telegram.org/bot' . $bot_token . '/sendMessage'); // адрес api телеграмм
    curl_setopt($curl, CURLOPT_POST, true); // отправка данных методом POST
    curl_setopt($curl, CURLOPT_TIMEOUT, 10); // максимальное время выполнения запроса
    curl_setopt($curl, CURLOPT_POSTFIELDS, $params); // параметры запроса
    $result = curl_exec($curl); // запрос к api
    curl_close($curl);
 
    return json_decode($result);
}

Далее нам необходимо настроить на хостинге CRON для того что бы наш скрипт выполнялся каждые несколько минут, таким образом скрипт будет отправлять запрос на WB и просить прислать ему последние заказы, если новые заказы есть, будут оправляться уведомления. Для настройки CRON идем в раздел Инструменты -> Crontab и жмем кнопку Добавить новую задачу При создании указываем имя задачи, выбираем путь до файла wb.php и указываем периодичность каждую минуту и жмем кнопку Добавить задачу. Теперь каждую минуту хостинг будет запускать наш скрипт и при условии что на WB появился новый заказ, мы будем получать уведомление на почту и в telegram.
сисми.jpg



ПРИМЕЧАНИЕ! там где необходимо указать Вашу почту с которой будут приходить письма, крайне желательно указать формата info@вашдомен.рф что бы доменная зона была той же с которой уходят письма.
Получить токен WB можно в личном кабинете селлера
вапва.jpg


Постарался расписать как мог подробно, в любом случае если будут вопросы, пишите помогу чем смогу.;):)

Скачать файлы time.txt и wb.php:
 

Вложения

  • Files.zip
    1.6 KB · Просмотры: 8

Gulnar

Seller
Сообщения
289
Реакции
10
Я продаю:
  1. Wildberries
  2. Яндекс Маркет
  3. Ozon
  4. СберМегаМаркет
Опыт продаж:
5 лет
Начал оформление, посмотрим что у меня в итоге получится. Так как я профан, думаю быстро не смогу сделать.
 

Kim

Seller
Сообщения
223
Реакции
13
Я продаю:
  1. Wildberries
  2. Ozon
Опыт продаж:
4 года
Пока сам не начал делать вопросов нет) В целом вроде все понятно, если не получится настроить, то напишу. Спасибо.
 
Сообщения
2
Реакции
0
Опыт продаж:
7 лет
Всем привет. Как мы все знаем WB не оповещает селлеров на почту о новых заказах, хотя это очень странно на самом деле, так как WB по сути сам заинтересован в том что бы продавец как можно раньше взял заказ в работу. Ну да ладно, сегодня я покажу пример того, как можно получать уведомления о новых заказах на WB по почте и в telegram. Для этого нам понадобиться любой хостинг. Достаточно будет самого дешевого тарифа, на Timeweb самый дешевый тариф стоит 196 рублей в месяц, при условии что Вы оплачиваете тариф на год, при ежемесячной оплате стоимость будет 250 рублей в месяц. Так же нам понадобится зарегистрировать бота в telegram. Итак по порядку.

Регистрация бота в telegram

Открываем приложение telegram и в поиске пишем @BotFather заходим в бота и пишем первую команду /newbot после этого BotFather попросит придумать имя нашему боту, придумываем имя и пишем его в чат. Далее BotFather попросит придумать username для нашего бота. Обязательное условие: заканчиваться username должен обязательно на: _bot . После этого наш бот будет создан и нам понадобится его токен для взаимодействия по API, токен выделен на скриншоте ниже, его нужно скопировать и сохранить. Так же необходимо в поиске найти созданного Вами бота и начать с ним переписку (что бы чат был создан и мы могли отправлять себе сообщения от имени нашего бота).
Посмотреть вложение 60
Так же нам необходимо получить свой ID, для этого ищем в поиске бота Get My ID вводим команду /start и бот в ответ напишет нам наш ID. ID нам понадобится что бы бот знал кому именно необходимо отправлять сообщения, его нужно скопировать и сохранить.
Посмотреть вложение 61

Все, на этом работа с telegram закончена.

Регистрация хостинга, создание сайта на служебном поддомене и настройка скрипта для отправки

Если у Вас еще нет хостинга, идем и регистрируем себе аккаунт по ссылке

У Вас будет 10 дней тестового периода, так что оплачивать тариф сразу не обязательно, можно сначала все настроить и протестировать, а дальше уже определиться, нужно Вам это или нет.
Итак нам необходимо создать сайт, идем в панели управления в раздел Сайты -> Мои сайты и жмем ссылку Создать новый сайт. Указываем название директории и жмем Создать.
Посмотреть вложение 62

Далее нам необходимо привязать домен к созданному сайту. Timeweb предоставляет нам служебный домен третьего уровня которым мы можем пользоваться бесплатно, поэтому регистрировать отдельный домен нет необходимости. Итак жмем Привязать домен и выбираем предложенный нам домен.
Посмотреть вложение 63

Все, сайт у нас создан, теперь мы можем перейти к настройке скрипта для отправки уведомлений о новых заказах на почту и в telegram. Переходим в раздел Файловый менеджер и выбираем папку с созданным нами сайтом, переходим в папку public_html. Тут нам необходимо нажать кнопку Загрузить и загрузить на сервер 2 файла, wb.php и time.txt . Скачать эти файлы можно под спойлером ниже.
Посмотреть вложение 65

Разбор файла WB.PHP

Ниже приведен код из файла wb.php, каждая строка прокомментирована и указано где и что нужно заменить.

PHP:
$token = 'ВАШ ТОКЕН ДЛЯ РАБОТЫ С API Wildberries';
 
$data = array(
    'sort' => array(
        'cursor' => array(
            'limit' => 1000
        ),
        'filter' => array(
            'next' => 0
        ) 
    )
);

$ch = curl_init('https://suppliers-api.wildberries.ru/api/v3/orders/new');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization:' . $token,
    'Content-Type:application/json'
));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);

$res = json_decode($res, true);
foreach( $res['orders'] as $order ){
    $time = $order['createdAt'];
    $price = $order['convertedPrice'] / 100;
}
$filename = __DIR__ . '/time.txt';
$text = file_get_contents($filename);

if( $time ){
    if( $text !== $time ){
        $to      = 'ВАШ ПОЧТОВЫЙ ЯЩИК НА КОТОРЫЙ ДОЛЖНЫ ПРИХОДИТЬ УВЕДОМЛЕНИЯ, МОЖНО УКАЗАТЬ НЕСКОЛЬКО ШТУК ЧЕРЕЗ ЗАПЯТУЮ';
        $subject = 'Новый заказ на WB для ВАШ МАГАЗИН';
        $message = 'На WB есть новый заказ для ВАШ МАГАЗИН. Сумма - '.$price ;
        $headers = 'From: ВАША ПОЧТА С КОТОРОЙ БУДУТ ОТПРАВЛЯТЬСЯ ПИСЬМА' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
     
        mail($to, $subject, $message, $headers);
        send_telegram_bot( $message );
        file_put_contents($filename, $time);
    }
}

function send_telegram_bot( $message ){
    $tg_user = 'ВАШ ID ПОЛЬЗОВАТЕЛЯ КОТОРЫЙ МЫ ПОЛУЧАЛИ В TELEGRAM'; // id пользователя, которому отправиться сообщения
    $bot_token = 'ТОКЕН ВАШЕГО БОТА КОТОРЫЙ МЫ ПОЛУЧАЛИ В ТЕЛЕГРАМ'; // токен бота
 
    $text = $message;
 
    // параметры, которые отправятся в api телеграмм
    $params = array(
        'chat_id' => $tg_user, // id получателя сообщения
        'text' => $text, // текст сообщения
        'parse_mode' => 'HTML', // режим отображения сообщения, не обязательный параметр
    );
 
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'https://api.telegram.org/bot' . $bot_token . '/sendMessage'); // адрес api телеграмм
    curl_setopt($curl, CURLOPT_POST, true); // отправка данных методом POST
    curl_setopt($curl, CURLOPT_TIMEOUT, 10); // максимальное время выполнения запроса
    curl_setopt($curl, CURLOPT_POSTFIELDS, $params); // параметры запроса
    $result = curl_exec($curl); // запрос к api
    curl_close($curl);
 
    return json_decode($result);
}

Далее нам необходимо настроить на хостинге CRON для того что бы наш скрипт выполнялся каждые несколько минут, таким образом скрипт будет отправлять запрос на WB и просить прислать ему последние заказы, если новые заказы есть, будут оправляться уведомления. Для настройки CRON идем в раздел Инструменты -> Crontab и жмем кнопку Добавить новую задачу При создании указываем имя задачи, выбираем путь до файла wb.php и указываем периодичность каждую минуту и жмем кнопку Добавить задачу. Теперь каждую минуту хостинг будет запускать наш скрипт и при условии что на WB появился новый заказ, мы будем получать уведомление на почту и в telegram.
Посмотреть вложение 67



ПРИМЕЧАНИЕ! там где необходимо указать Вашу почту с которой будут приходить письма, крайне желательно указать формата info@вашдомен.рф что бы доменная зона была той же с которой уходят письма.
Получить токен WB можно в личном кабинете селлера
Посмотреть вложение 66


Постарался расписать как мог подробно, в любом случае если будут вопросы, пишите помогу чем смогу.;):)

Скачать файлы time.txt и wb.php:
Слушайте, круто! А подскажите как добавить наименование товара и его остаток, после заказа. Так было бы ещё круче!!!
 
Сообщения
2
Реакции
0
Опыт продаж:
7 лет
Здравствуйте, очень полезно!!! Но было бы здорово доработать наименование товара и остатком на складе.
 

Похожие темы

Сверху