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


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

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

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

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

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

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

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

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

Протокол Алисы Протокол ассистента
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, чтобы сообщить нам о ней