question

Tony Georgiev avatar image
Tony Georgiev asked

Was the intent slots interface changed recently? value vs resolutions.resolutionsPerAuthority[0].values

I am seeing some inconsistencies in the invocations of my skill. For a long time I have been receiving intents like:

"slots": {
    "wordA": {
        "name": "wordA",
        "value": "Hello",
        "resolutions": {
            "resolutionsPerAuthority": [
                {
                    "authority": "...",
                    "status": {
                        "code": "ER_SUCCESS_MATCH"
                    },
                    "values": [
                        {
                            "value": {
                                "name": "Hello",
                                "id": "3cf49b0960fb2ef0ea03d0b991819630"
                            }
                        }
                    ]
                }
            ]
        },
        "confirmationStatus": "NONE",
        "source": "USER",
        "slotValue": {
            "type": "Simple",
            "value": "Hello",
            "resolutions": {
                "resolutionsPerAuthority": [
                    {
                        "authority": "",
                        "status": {
                            "code": "ER_SUCCESS_MATCH"
                        },
                        "values": [
                            {
                                "value": {
                                    "name": "Hello",
                                    "id": "3cf49b0960fb2ef0ea03d0b991819630"
                                }
                            }
                        ]
                    }
                ]
            }
        }
    }
}


So I was accessing the slot value like slots.wordA.value. But recently some of the invocations do not have slots.wordA.value, nor slots.wordA.slotValue, only way to pick up the value is through slots.wordA.resolutions.resolutionsPerAuthority.values... And it is not even all requests, some requests still have the old schema.

Was this changed by the Amazon team, was it intentional?

intentsslots
10 |3000 characters needed characters left characters exceeded

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

1 Answer

Anand@Amazon avatar image
Anand@Amazon answered

Hi @Tony Georgiev

Thanks for reaching out to us.

We have released "Multiple Slot" value due to which you will see multiple resolutionPerAuthority but there is only addition to older format but nothing removed.

Which means whenever user spoke slot value to Alexa device it will always be assigned to slots.slotName.value in your case it should be at slots.wordA.value.

The "slots.wordA.resolutions.resolutionsPerAuthority.values" always contains possible matched value provided in slot type.

Check this link to know more about resolutionsPerAuthority and here for multiple slot value.

Note: If you don't want to have multiple slot value Authority then you can disable in developer console under Intent slots. Link

10 |3000 characters needed characters left characters exceeded

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