Delete All User Data

The following SCXML strategy shows how to delete all user data from an interaction.

<scxml version="1.0" xmlns="http://www.w3.org/2005/07/scxml" 
        xmlns:queue="www.genesyslab.com/modules/queue" 
        xmlns:dialog="www.genesyslab.com/modules/dialog" 
        initial="initial">

  <state id="initial">
    <transition event="interaction.added" target="setudata"/>
  </state>

  <state id="setudata">
    <onentry>
      <script>
        _genesys.ixn.setuData({ category : 1 });
        var data = { details : { name : "Smith, John", age : 45 } };
        _genesys.ixn.setuData(data);
      </script>
    </onentry>

    <transition event="interaction.udata.changed" 
        cond="_genesys.ixn.interactions[0].udata.category==1 && 
            _genesys.ixn.interactions[0].udata.details.name=='Smith, John' 
            && 
            _genesys.ixn.interactions[0].udata.details.age==45" 
        target="check"/>
  </state>
  
  <state id="check">
    <onentry>
      <script>
        _genesys.ixn.deleteuData("$ALL");
      </script>
    </onentry>

    <transition event="interaction.udata.changed" 
        cond="_genesys.ixn.interactions[0].udata.category==undefined 
            && 
            _genesys.ixn.interactions[0].udata.details==undefined" 
        target="routing"/>
  </state>

  <state id="routing">
    <onentry>
      <queue:submit priority="5" timeout="20">
        <queue:targets type="dn">
          <queue:target name="'7102'"/> 
        </queue:targets>
      </queue:submit>
    </onentry>
    
    <transition event="queue.submit.done" target="exit">
      <log expr="'DONE'"/>
      <log expr="_event.data.targetselected"/>
    </transition>
    <transition event="error.queue.submit" target="error"/>
  </state>
  
  <final id="exit"/>
  <final id="error"/>

</scxml>