Немного предыстории по другим статьям.
//infostart.ru/1c/tools/1807166/ - тут представлена простая функция - запрос и один ответ с минимумом логики.
//infostart.ru/1c/tools/807585/ - 18 год, УЖАС! Алисе уже больше 6 лет ))) В данной статье описана сложность с https, для преодоления чего используется Scritp 1c. Очень сложно, как мне кажется - в настоящий момент https можно обойти, и нет проблем с ответом от Алисы.
Как подготовить новый навык
В настоящий момент это сделать очень просто. Сначала регистрируемся в яндекс облаке.
1. Создаем облачную функцию в яндекс облаке, зачем? Потому, что не хочется заморачиваться с https сертификатом.
2. В функцию надо поместить такой код
Урл указываем тот, где находится наша опубликованный http сервис от базы 1С.
<?php
function handler($event, $context)
{
$myCurl = curl_init();
curl_setopt_array($myCurl, array(
CURLOPT_URL => 'http://..........',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
CURLOPT_POSTFIELDS => json_encode($event)
));
$responsecrl = curl_exec($myCurl);
curl_close($myCurl);
$response = $responsecrl;
return $response;
}
Вопрос знатокам php: что делает этот код? Если не знаете, то посмотрите спойлер ниже!
Теперь мы принимаем информацию, которая передается от Алисы в облачной функции, обрабатываем эту информацию в 1С и возвращаем результат. Для этого создаем и публикуем базу по удобному нам ресурсу.
3. Далее в опубликованной базе мы принимаем данные и обрабатываем их. Можно сделать свой http сервер по аналогу в базе, а можно обработать со своими параметрами и условиями.
Для примера я прикладываю конфигурацию, где есть http сервис, его публикуем. И далее обрабатываем ответ.
В конфигурации есть дополнительно 2 объекта:
Лог - записываются все входящие запросы, для анализа и отладки.
Сценарии Алисы - заготовка под другие сценарии, которые собирают информацию с нужными параметрами, и далее выдают определенный алгоритм действий. (Предполагалось выполнение кода 1С через Выполнить("")).
Информацию о том, какая информация передается, можно увидеть тут
https://yandex.ru/dev/dialogs/alice/doc/response.html
4. Настраиваем навык Алисы
https://dialogs.yandex.ru/developer/skills/, регистрируемся, создаем навык и тестируем.
5. Проверяем работу Алисы.
Заходим в свое мобильное устройство и запускаем навык.
Оставляю здесь все как есть, так как применение и использование навыка так и не востребовалось. Будет удобно использовать для предоставления информации (помощь институтам для предоставления информации для студентов, библиотекам информация о задолженности, о наличии книг, бронирования и т.д.) - то есть все, что нужно для общественного блага.
P.S. Тестировали и разрабатывали на платформе 1С:Предприятие 8.3 (8.3.23.1912).