Как создать навык для голосового помощника Алиса от Яндекс на PHP

С чего начать

Навыки создаются на платформе Янндекс Диалоги, далее "Вход для разработчиков".
Документация по созданию навыков здесь, внимательно читаем и приступаем к написанию навыка.
Пропускаем создание навыка, там вроде сложностей нет и переходим к написанию скрипта обработки запросов от бота(Алисы)

Приступаем к написанию обработчика

Сначала установим необходимые компоненты, я буду использовать свою библиотеку JsonMaker

Установка
composer init
composer require alexsuperstar/jsonmaker
composer install
Создание скрипта обрабатывающего запросы от Алисы

Создаем файл index.php

header('Content-type:application/json;charset=utf-8');
include 'vendor/autoload.php';
$in = new \alexstar\JsonMaker(file_get_contents('php://input'));
if(isset($in->version)){
    # если есть параметр version то будем считать что  входные данные в порядке
    # формируем ответ
    $out = new \alexstar\JsonMaker();
    #  необходимые параметры ответа
    $out->version = '1.0';
    $out->response->end_session = false;
    $out->session->session_id = $in->session->session_id;
    $out->session->message_id = $in->session->message_id;
    $out->session->user_id = $in->session->user_id;
    # Ответ Алисы
    $out->response->text='Привет';
    # Например ссылка под текстом
    $out->response->buttons[0]->title = 'Открыть сайт разработчика';
    $out->response->buttons[0]->url = 'https://alexstar.ru/';
    echo $out;
}

Далее файл размещаем на своем сервере и в настройке навыка указывает URL для его вызова, адрес должен быть вида https://... Вообщем то и все далее придумываете всё что хотите.
Исходный код можно взять отсюда https://github.com/AlexSuperStar/Yandex-Alisa-PHP-Example

назад в раздел php

Ср 27 Июн 2018.