Reputation:
I am unable to integrate API.AI export code with Amazon Alexa. What I believe is, both the Intent Schema and Sample Utterances have been correctly filled in the right place, however, the HTTPS endpoints for the Lambda function is causing trouble. Since the skill was built for API.AI, I use Google Cloud Function for writing the NodeJs script, which URL looks something close to - https://.cloudfunctions.net/ (For Security reasons, I didn't write the exact URL). On API.AI, it works as expected, however on Alexa Lambda during testing it gives an error like - The remote endpoint could not be called, or the response it returned was invalid. (When SSL Certificate used was - My development endpoint has a certificate from a trusted certificate authority) On the counterpart, while using SSL certificate option as - My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority, It leads to handshake error. I haven't tried using - I will upload a self-signed certificate in X.509 format. Can I request you guys to help me fix this issue?
Upvotes: 2
Views: 2090
Reputation:
The flexible and efficient design practice would be to move ahead with an independent microservice to communicate with the API.AI from within the Alexa. Additional advantages would only further your cause.
Another workaround is using services based on API.AI and integrating the same in your Alexa app.
Upvotes: 0
Reputation: 4582
I had the same issue and I ended up creating an AWS Lambda based on Node.js to connect Alexa with Api.ai. It's also compatible with Api.ai features like contexts.
https://github.com/Gnzlt/AlexaApiAiBridge
Feel free to contribute!
Upvotes: 2
Reputation: 2310
This is a different approach I did to solve what is writting on this question title, not on your description. I hope you can find help on this. This completelly changed the way I was thinking in integrating Alexa and API.ai, and its working like a charm.
https://github.com/bfisher82/EugeBot
Take a look at the PDF file. It has a step-by-step procedure. I didnt use the Java code. I wrote a Python2 lambda myself, using the module api.ai from Pypi.
Upvotes: 0