Каталог решений - Простая интеграция Яндекс.Алисы и 1С в 2022 — еще проще!

Простая интеграция Яндекс.Алисы и 1С в 2022 — еще проще!

Простая интеграция Яндекс.Алисы и 1С в 2022 — еще проще!

В наличии

Если когда-то у вас или вашего босса было желание получить данные из базы голосом, прямо в Яндекс.Алисе, эта статья для вас!
Работает в приложении Яндекса на смартфоне и на Яндекс.Станции.

Категория:

Описание

Введение. 4 года назад я уже писал похожую статью

Насколько все проще стало сейчас в 2022! Достаточно сказать, что дольше всего в прошлый раз я потратил времени на oScript обертку которая принимала запросы от Яндекс.Диалогов и разворачивание сервера под нее. Теперь я всё сделал за 1 день!

Яндекс.Диалоги

Для того, чтобы команду можно было активировать голосом, нужно для нее создать навык на платформе Яндекс.Диалоги.

Ну начнем с того, что сделаем диалог. Дадим ему имя и установим переключатель Backend в раздел "функция в яндекс.облаке". Саму функцию напишем чуть позже.

 

 

Далее обязательно заполнить какой фразой будет запускаться ваш диалог. Если использовать его будете только вы, можно сделать его Приватным. Опубликовать и использовать у себя на смартфоне в приложении Яндекса, если вы там авторизованы.

 

 

Заполним небольшое описание, если вы все-таки будете создавать публичный навык.

И конечно выберем симпатичную иконку Доброго Робота.

 

И конечно выберем симпатичную иконку Доброго Робота.

Яндекс.Облако

Теперь сделаем облачную функцию-прослойку на C#. Она будет принимать команды от Яндекса и делать запросы к 1С базе.

Для этого идём в Яндекс.Облако, регистрируемся и заводим Биллинг. Без рабочего биллинга у вас ничего не получится, но волноваться не надо — функции для Яндекс.Диалогов бесплатны

 

 

Итак изучаем меню Яндекс.Облака. М, сколько всего вкусного! Но нам пока нужна только одна вещь — "Cloud Functions", выбираем её.

 

 

Ой, сюрприз! Никакого oScript и тем более языка 1С тут нет. Говорила мне мама кушать много каши и учить Питон, но я не слушал!

Будем писать на .net core! Вполне мощный инструмент для наших задач.

 

 

Теперь скачиваем приложенный к статье файл, заходим в редактор и копируем его туда!

 

 

Самая сложная часть — в том месте кода, где есть комментарий "//web request to 1C base" написать свой запрос к HTTP интерфейсу вашей базы 1С. Рекомендую тут для отладки запросов использовать Postman и изучить статьи раз и два

То что написал я приведено ниже:

Код обработки запроса:

string originalU = request.Request.OriginalUtterance;
            
            if (originalU == "команда001")
            {
                reqC = reqC + " можно обработать команду как-то ";
            }
            else if (originalU.ToLower().Contains("продажи базы"))
            {
                //web request to 1C base
                var client = new HttpClient();

                var requestH = new HttpRequestMessage();
                requestH.Method = HttpMethod.Post;
                requestH.RequestUri = new Uri(@"https://your1Cip.ru/httpmethod");
                //requestH.Headers.Accept
                var responseH = client.Send(requestH);
                string resStr = responseH.Content.ReadAsStringAsync().Result;
                AliceResponse al = new AliceResponse();
                al.Response.Text = resStr;
                
            }

Проверяем. IT WORKS! IT WORKS!

 

 

Как сделать торчащий публично наружу из 1С HTTP сервис, который будет принимать HTTP запросы от Яндекс.Диалогов и возвращать продажи?

Эту задачу я оставлю вам на самостоятельное изучение. Порекомендую почитать статьи раз и два и три

Послесловие

если до прочтения этой статьи вы еще не слышали про Postman, Яндекс Облако, или даже про REST HTTP сервисы, у меня для вас плохие новости…пора учиться как 1С интегрируется и общается с другими системами!

has been added to your cart:
Оформление заказа