Yes, the Skill Messaging API works as you describe and if everything is working correctly then you should receive a Messaging.MessageReceived event in your skill code. I would add some debug to log every request received in your skill code and check that you're not receiving the event.
If you're not receiving the event then double check the client id/secret and userId you're using. Also check that the amazon endpoint you're using corresponds to the region where the user's account is registered. There are different endpoints you need to call depending on the user's geography https://developer.amazon.com/en-US/docs/alexa/smapi/skill-messaging-api-reference.html#north-american-na-and-european-eu-post-commands
Hello Andy, thanks for the reply. Client id, secret, user id and endpoint are all good. Event is being received but not recognised.
"Error converting the Lambda event JSON payload to type Alexa.NET.Request.SkillRequest: Unknown request type: Messaging.MessageReceived. (Parameter 'Type'): JsonSerializerException "
13 People are following this question.