Alexa Smart Home device or skill discovery - alexa

Does Amazon provide an API that will return a list of the Smart Home skills (or devices) that are currently linked to the user's account? You can get this list and actually control the devices from the Amazon Alexa mobile app, but I was wondering if this capability is exposed in a public API?
The device discovery interface looks similar to what I am looking for, but I believe this is provided only as an interface that needs to be supported when building a skill:
https://developer.amazon.com/docs/device-apis/alexa-discovery.html
I'd like to be able to discover the smart home devices currently attached to a user account and display them in a mobile app.

Related

Using Alexa Capabilities within an Alexa skills

Alexa is able to find service providers and also call them. Is it possible to use this capability from an Alexa skill. For example could an Alexa skill find and call a near-by doctor upon request?
The direct calling and search features of Alexa are not available currently within a custom skill, however you could achieve this your by using 3rd party APIs.
For example you can look up local businesses using the Yelp API and connect and connect a call using a Twilio API. You may want to register the user’s mobile number for this particular example.
It should also be noted that the features available in the Amazon SDK are always being updated. So it may be added in the future.

dialogflow.com - How to integrate with Google Home / Alexa

I am working on an e-commerce website and would like to integrate with Google Voice assistant or Amazon alexa. I have gone through the dialogflow on how to build a voice assistant. But how It'll be available in amazon alexa or google home that shipped to every household ?
Both Alexa and Google Assistant let you develop things that work very much like websites - Alexa calls them Skills, Google calls them Actions. These are programs that run on your (or a) web server, get HTTPS calls from Amazon or Google with JSON information about what the user has said, and are expected to return JSON information that replies to what has been said.
Amazon requires you to use the Alexa Skills Kit to do the development of these sites, but Dialogflow can export its model to Alexa. Google is a little more open, but since they own Dialogflow, integrating a Dialogflow agent with Actions on Google is very straightforward.
You will need to register your Skill/Action with the appropriate company, but once you have done so, it is available to the users. Alexa users need to "install" the Skill from the Skills directory, although that really just means that they can activate it. The Assistant doesn't require users to activate it this way, but it will be listed in the directory. In both cases, users can then trigger it by saying something like "open Skill Name" or "talk to Action Name".

Alexa appliance discovery in custom skill

I have been checking around on this topic, but have not seen a concrete solution on how to get it working. I am building a Custom Skill for Alexa, which currently supports speech. Now I would like to extend the skill with video streaming to a TV.
The only thing the Custom Skill seems to support for this is streaming to Echo Show with the VideoApp directives?
I have seen answers that say it is possible, just return a list of devices, but these devices and their appliance id's seem to be hardcoded, I would need to get an actual list of devices linked to the users account.
So the question is: is it actually possible to incorporate Video Skill functionality (and device discovery) in a custom skill, or would it need to be a separate skill?
Since the SmartTV is not an Alexa-enabled device, streaming to it will be a separate API from the Alexa APIs.
An Alexa skill is similar to a web API, where the front end, user interface, is Alexa.
Imagine if you were building a website that had a couple of buttons on it and a text box. Users would enter some info in the text box and press one of the buttons to start streaming on the TV. The code behind the website would have to communicate with the smart TV somehow to stream the content.
The same way, your skill code would have to figure out a way to communicate with the Smart TV.
This is not something that Alexa would support directly, so it become necessary to identify the API for your SmartTV and a way to communicate to it from the internet which won’t be trivial.

How to amazon alexa api for a web or mobile app?

I want to use amazon alexa api for my website/ mobile application. I would like to know if it is possible to use and how to integrate alexa, given that I develop my custom skill.
You can use the Alexa Voice Service. You will need to collect the user's audio and then submit it to Amazon. The voice snippet does not need to contain the hotword (e.g. Alexa). You should be able to use most features that don't involve the device and aren't asynchronous. For example, you can utilize the alarm or timer features nor the music streams.
It sounds like you are asking how to allow the user to talk to your website or mobile app.
An Alexa custom skill is something you create to extend Alexa's vocabulary, so to speak. It isn't an alternative to using a mouse or keyboard with an existing app.
A website and a mobile app are, or can be, two different ways for a user to access the functionality you provide. Think of an Alexa skill as a 3rd way to access that functionality. A user could ask the Alexa device (Echo, Dot, iPhone Lexi app, etc) to get or perform the same things that your website does.
So for example, if your website explains how your widgets work, then you could create a widget Alexa skill that would allow Alexa user's to ask about your widgets.
The Alexa Voice Service is something entirely different. It is an API to enable adding Alexa voice to a different piece of hardware. For example, my friend Thaddeus created an Alexa Voice Service app called Lexi that runs on an iPhone. This allows a user to talk to Alexa using their iPhone. However, it doesn't add any new capability to Alexa. It only allows me to do things on my iPhone that I can already do on my Echo.

Is it possible to deliver digital content to a user's google drive account?

Without using Google Checkout, I would like to provide a link that allows a user to download digital content directly to their Google Drive account. Does anyone have advice on how this might achieved?
We have our own shopping cart system and host my own content.
We simply wish to provide a link to our content that transfers the digital content to the location of the consumer's choosing.
--Charles
We currently don't provide such widgets for web developers. You can however use the REST API to accomplish such a thing.
Please refer to the Drive API Documentation for how to do it server-side. For a client-side application (full JavaScript), you can refer to the StackOverflow answer.
The Drive SDK currently requires applications to be installed in a user's account through the Chrome Web Store; we are actively working on making the story better for users and developers so stay tuned!

Resources