Портирование навыков Алисы


Так как формат сообщений SmartApp API отличается от протокола работы навыков Алисы, использовать один веб-сервис без ряда доработок не получится.

Если вы хотите указать тот же Webhook URL, который вы используете для навыка Алисы, убедитесь, что ваш веб-сервис поддерживает формат сообщений SmartApp API и может переключать протоколы, в зависимости от источника запроса.

Вам также потребуется использовать отдельную сеть CDN для предоставления медиафайлов ассистенту.

В отличие от Алисы, персонаж, которого пользователь выбрал в качестве своего ассистента, может быть не только женского, но и мужского пола. Учитывайте это при портировании реплик. Информация о поле ассистента содержится в payload.character.gender запросов.

Ассистент не поддерживает автоматический маппинг сообщений протоколов Алисы и SmartApp API. Ниже вы найдете сопоставление полей обоих протоколов.

Сопоставление полей запросов

Протокол ассистента Протокол Алисы
uuid.userChannel meta.clientId
payload.message.original_text request.command
payload.message.original_text request.originalUtterance
uuid.userId session.application.application_id
uuid.sub session.user.user_id
messageId session.message_id
payload.skillId session.skill_id
payload.new_session session.new
payload.device.capabilities.screen.available meta.interfaces.screen
payload.server_action.parameters request.payload
payload.message.tokenized_elements_list request.nlu.tokens
payload.message.entities.X request.nlu.entities.type
payload.message.entities.X.value request.nlu.entities.value
payload.intent payload.intent_meta request.nlu.intents.X

Сопоставление полей ответов

Протокол Алисы Протокол ассистента
response.text payload.pronounceText
payload.items.bubble.text
response.end_session payload.finished
response.tts payload.pronounceText
response.card.type payload.items[].card.type
response.card.image_id payload.items[].card.cells[].content.url
response.card.title payload.items[].card.cells[].left.texts.title.text
response.card.description payload.items[].card.cells[].left.texts.subtitle.text
response.card.button.text payload.items[].card.cells[].content.actions[].text
response.card.button.url payload.items[].card.cells[].content.actions[].deep_link
response.card.button.payload payload.items[].card.cells[].content.actions[].server_action.parameters
response.card.header.text payload.items[].card.cells[].left.texts.title.text
response.card.items[].image_id payload.items[].card.cells[].left.icon.address.url
response.card.items[].title payload.items[].card.cells[].left.texts.title.text
response.card.items[].description payload.items[].card.cells[].left.texts.subtitle.text
response.card.items[].button.text payload.items[].card.cells[].actions[].text
response.card.items[].button.url payload.items[].card.cells[].actions[].deep_link
response.card.items[].button.payload payload.items[].card.cells[].actions[].server_action.parameters
card.footer.text payload.items[].card.cells[].content.text
card.footer.button.text payload.items[].card.cells[].actions[].text
card.footer.button.url payload.items[].card.cells[].actions[].deep_link
card.footer.button.payload payload.items[].card.cells[].actions[].server_action.parameters
buttons.title payload.suggestions.buttons[].title
buttons.url payload.suggestions.buttons[].action.deep_link
buttons.payload payload.suggestions.buttons[].action.server_action.parameters

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней