Announcement: The Alexa Skills Community Is Moving To Stack Overflow

For improved usability and experience, Alexa skills related forum support will be transitioned to Stack Overflow. Effective January 10, 2024, the Amazon Developer Forums will no longer be available. For continued Alexa skills support you can reach out to us on Stack Overflow or via Contact Us.

question

rizwan-khan avatar image
rizwan-khan asked

Re-submission failed

Amazon Alexa's certification team has sent me these points to address before re-submission.

1. Future versions of the Alexa Skills Kit may add new properties to the JSON request and response formats, while maintaining backward compatibility for the existing properties. When we invoke the skill with additional parameters, the skill is rejecting it when we expect this to be accepted. Your code must be resilient to these types of changes. For example, your code for de-serializing a JSON request must not break when it encounters a new, unknown property.

Please see the following documentation for more information: https://developer.amazon.com/appsandservices/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interface-reference

2. The skill returns an error when it is launched without an intent. Please see the following documentation for how to return responses to request sent by Alexa:

https://developer.amazon.com/appsandservices/solutions/alexa/alexa-skills-kit/docs/handling-requests-sent-by-alexa

Not enough information is given, neither links are help full. In the point one they are saying that it should accept extra parameters but there's no detail given, atleast they should give an example json on which we can test. how can we test this? We are giving extra parameters, and our app is accepting it, so according to me it's working perfectly even with extra parameters.

In point 2, again not enough information is given. How can we check that? And what exactly they meant by if no intent is given. Again there should be example json or Phrase to test with. So we can exactly know, what they really want us do.

If signature verification fails what should we return? This's not mentioned any where in documentation neither they give us details. For now I am returning 401 http status.

I have also sent message regarding my concerns but they are not responding. Very poor experience.

alexa skills kitsubmission testing certification
1 comment
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sindy@Amazon avatar image Sindy@Amazon commented ·

Hi rizwan-khan. If you are still experiencing issues, please log into your developer portal and send us a "Contact Us" so we can get detailed information about your account and skills.

https://developer.amazon.com/public/support/contact/contact-us

This will help us research and provide a reply for Point 1.

For point 2, when we say "when the skill is launched without an intent", we mean that the skill is launched with a phrase like "Alexa, open <invocation name>." The opposite of this example would be if we said something like "Alexa, ask <invocation name> to <do something>."

0 Likes 0 ·
Lauren M. avatar image
Lauren M. answered
I'm really not sure what's with that first issue, but the second is fairly straightforward and mentioned in the documentation. An invocation without an intent is just a Launch request. If you scroll about midway down the page, you'll find more detailed information, but really, invoking a skill without an intent is saying something like "Alexa, open Verbivore" instead of "Alexa, ask Verbivore for the word of the day."
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Galactoise avatar image
Galactoise answered
1. What JSON handling library are you using? My team got bit by this with our live skills when they added a new field a couple weeks ago. Many JSON libraries, like Jackson, default to throwing an exception if they see a field they don't recognize. Here's a sample JSON request (note the new "locale" field): [code] { "version": "1.0", "session": { "new": true, "sessionId": "redacted", "application": { "applicationId": "redacted" }, "user": { "userId": "redacted" } }, "request": { "type": "IntentRequest", "requestId": "amzn1.echo-api.request.0e7818b0-5992-4a74-ada3-bf82ff09a39a", "timestamp": "2016-03-18T05:12:02Z", "locale": "en-US", "intent": { "name": "GETRESPONSE" } } } [/code] Try that against your service and see what happens. 2. This one is easy. Just try saying "launch yourAppNameHere" and see what happens. You can test this by going into the service simulator and typing in that utterance - that'll also give you a sample JSON body that you can use to hit your service directly.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.