ym88659208ym87991671
Использование команды StartSmartSearch | Документация для разработчиков

Использование команды StartSmartSearch

Обновлено 15 января 2024

StartSmartSearch — это команда поиска от сценария. Команда содержит текстовое поле query, по которому выполняется поиск. После завершения поиска возвращается serverAction с результатами, которые выведет ассистент.

Пример подписки на команду StartSmartSearch:

import React, { FC } from 'react';
import { createAssistantClient, AppEvent, AssistantStartSmartSearch } from '@salutejs/client';
import { FloatingAssistantChatLottie } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';

import { doSomething } from '../utils';

const assistant = createAssistantClient(...);

assistant.on('app', (event: AppEvent) => {
if (event.command?.type === 'start_smart_search') {
doSomething((event.command as AssistantStartSmartSearch).start_smart_search.query);
}
});

export const FloatingChatWithAssistant: FC = () => {
return <FloatingAssistantChatLottie {...props} assistant={assistant} />;
};

Пример отправки ответа с результатами поиска:

import React, { FC } from 'react';
import { FloatingAssistantChatLottie } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';
import { createAssistantClient } from '@salutejs/client';

interface StartSmartSearchFeature {
title: string; // Название карточки
subtitle?: string; // Не поддерживается в текущей реализации
icon: string; // Идентификатор иконки из DS (например, 'ic_36_sber_alt1')
link: string; // Ссылка для перехода (например, '/cards/unlocking/{{cardId}}')
category: string; // Идентификатор категории продукта
}

interface StartSmartSearchProducts {
category: string; // Совпадает со значением `category` StartSmartSearchFeature
id: string; // Идентификатор продукта
description: string; // Описание продукта
lastDiget: string; // Последние 4 цифры карты
}

interface StartSmartSearchResults {
start_smart_search: {
feature: StartSmartSearchFeature[];
products: StartSmartSearchProducts[];
}
}

const assistant = createAssistantClient(...);

const sendSearchResults = (results: StartSmartSearchResults['start_smart_search']) => {
assistant.sendServerAction({
start_smart_search: results,
});
}

export const ChatWithAssistant: FC = () => {
return <FloatingAssistantChatLottie {...props} assistant={assistant} />;
};
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.