Alexa умение Rest API

Можем ли мы использовать Rest API вместо Lambda. Причина, по которой я спрашиваю, состоит в том, что мы получили запрос, мы знаем, что Алекса принимает в качестве ответа, и мы знаем, что это POST. Так что подключите все это в REST API. Причина, по которой я спрашиваю, состоит в том, что весь проект основан на Jax-RS, поэтому мы хотим, чтобы все было в одном месте, без использования lamda или чего-либо еще. Не то, чтобы лямда была не так уж хороша.

Итак, запрос, который Алекса передает в Lambda:

{
  "session": {
    "sessionId": "SessionId.a82f0b92-3650-4d45-8f12-e030ffc10894",
    "application": {
      "applicationId": "amzn1.echo-sdk-ams.app.8f35038e-13ac-4327-8e4f-e5df52dc1432"
    },
    "attributes": {},
    "user": {
      "userId": "amzn1.ask.account.AFP3ZWPOS2BGJR7OWJZ3DHPKMOMNWY4AY66FUR7ILBWANIHQN73QGGUEQZ7YXOLC7NYVD3JPUAHAGUS4ZFXJ6ZMS4EHO2CJFPWFLWLYZLDP7S227ADI54A2ZMLZLDO5CXSIB47ELNY54S2M7FDNJFHTSU67B7HB3UZUN6OUUR5BYS3UBRSIPBG4IWRLHUN36NXDYBWUM3NMQZRA"
    },
    "new": true
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId.bfdb3c27-028b-4224-977a-558129808e9a",
    "timestamp": "2016-07-11T17:52:55Z",
    "intent": {
      "name": "HelloWorldIntent",
      "slots": {}
    },
    "locale": "en-US"
  },
  "version": "1.0"
}

Отклик:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "Hello World!"
    },
    "card": {
      "content": "Hello World!",
      "title": "Greeter",
      "type": "Simple"
    },
    "shouldEndSession": true
  },
  "sessionAttributes": {}
}

3 ответа

Решение

Что вы можете. Фактически, когда вы создаете свой навык на портале Alexa Developer, у вас есть такая возможность. Предостережение заключается в том, что вам нужно будет управлять собственным сертификатом TLS и убедиться, что задержка / скорость отклика являются приемлемыми в зависимости от местоположения ваших пользователей.

Если вы хотите изучить это подробнее, вы можете использовать примеры кода Java на Amazon. Их можно найти по адресу: https://github.com/amzn/alexa-skills-kit-java.

Вы можете определенно настроить API сервиса RESTful для использования с Alexa.

А если вы настроите его в Azure, вам даже не нужно создавать собственный сертификат.

Вы можете использовать остальные API в качестве конечной точки для навыков Алекса. API будет вызываться следующим образом

[Configured_URL]>/**alexa/[intent]**

Где [Configured_URL] - конечная точка URL, настроенная на сайте Amazon для вызова

[intent] - это название намерения

Вы должны разместить свой сервис соответственно

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/developing-an-alexa-skill-as-a-web-service

https://iwritecrappycode.wordpress.com/2016/04/01/create-an-alexa-skill-in-node-js-and-hosting-it-on-heroku/

Другие вопросы по тегам