I'm implementing an Alexa Dialog Model with an PHP Endpoint. I used the Alexa doc (https://developer.amazon.com/fr/docs/custom-skills/dialog-interface-reference.html)
Here is my example: My skill:
RequestIntent
Utterance : add an {obj} in the bedroom
Slots : {obj} / Slot Filling
Phrase:
Me : Alexa, Add an object in the bedroom
Alexa : What object do you want to add in bedroom ?
Me : I would like to add a cars in the bedroom
Alexa : You want to add a car in the bedroom ?
Me : Yes
STEP1:
DialogState is STARTED
I use ElicitSlot to set the {obj} slot
STEP2:
dialogState is IN_PROGRESS.
I use ConfirmIntent to ask user to confirm it
STEP3:
User say yes/no
ConfirmIntent is now set to CONFIRMED/DENIED
BUT still in IN_PROGRESS
dialogState should be COMPLETED because i set all of my slot and intent value right ? So why should not be working in here ?
Thanks by advance
For me, I must enable the Auto Delegation option in Interfaces from Alexa Developer Console.
Once all the steps are complete, the skill receives the final
IntentRequest
withdialogState
set toCOMPLETED
.The reason your
dialogState
is notCOMPLETE
because you are usingDialog.ElicitSlot
directive. TheCOMPLETED
status is only possible when you useDialog.Delegate
directive.More information on controlling the dialog with
Dialog.Delegate
directive hereDialogState has only the following status: "STARTED" , "IN_PROGRESS" , "COMPLETED.
The reason why is not completed could be because not all the steps are complete or the IntentRequest has not all the required slot values.