Partage via


Migrer les données pour le canal vocal

Note

Les informations sur la disponibilité des fonctionnalités sont les suivantes.

Centre de contact Dynamics 365 – embedded Centre de contact Dynamics 365 – autonome Dynamics 365 Customer Service
Oui Oui Oui

Utilisez l’outil de migration de configuration pour migrer les configurations de l’organisation source vers l’organisation cible pour le canal vocal. Pour plus d’informations sur l’utilisation de l’outil de migration de configuration, consultez les articles suivants :

Conditions préalables

Les conditions préalables suivantes doivent être respectées :

  • Dans l’organisation source, si un ensemble de règles d’acheminement unifié fait référence aux éléments suivants, assurez-vous qu’ils existent dans l’organisation cible avant de poursuivre la migration :
    • Entités personnalisées
    • Attributs
    • Relations
    • Groupes d’options
    • Valeurs de la recherche
  • Assurez-vous que l’utilisateur qui effectue la migration dispose des privilèges requis sur les entités d’acheminement unifié suivantes dans les organisations source et cible :
    • Flux de travail (msdyn_liveworkstream)
    • Configuration de canal (msdyn_omnichannelconfiguration)
    • Modèle de notification (msdyn_notificationtemplate)
    • Modèle de session (msdyn_sessiontemplate)
    • Heures d’ouverture (msdyn_operatinghour)
    • Caractéristique (characteristic)
    • Modèle d’évaluation (rating model)
    • Valeur d’évaluation (ratingvalue)
    • Profil de capacité (msdyn_capacityprofile)
    • File d’attente (queue)
    • Contrat de décision (msdyn_decisioncontract)
    • Ensemble de règles de décision (msdyn_decisionruleset)
    • Configuration de l’affectation (msdyn_assignmentconfiguration)
    • Étape de configuration de l’affectation (msdyn_assignmentconfigurationstep)
    • Configuration de l’acheminement (msdyn_routingconfiguration)
    • Étape de configuration de l’acheminement (msdyn_routingconfigurationstep)
    • Profil de capacité du flux de travail (msdyn_liveworkstreamcapacityprofile)
    • Variable de contexte (msdyn_ocliveworkstreamcontextvariable)

Important

La migration du compte, du canal, de l’acquisition du numéro de téléphone Azure Communication Services, de la configuration du numéro de téléphone, de la configuration du bot et des paramètres de l’IA et de l’analyse n’est pas couverte.

Migrer les données de configuration des canaux vocaux

Vous devez effectuer les étapes dans l’ordre dans lequel elles sont répertoriées pour réussir la migration de vos données. Utilisez les informations des tableaux et reportez-vous aux exemples de schémas correspondants pour chaque configuration.

  1. Migrer la configuration à l’aide d’une solution
  2. Exporter et importer une configuration pour l’acheminement basé sur les compétences
  3. Exporter et importer une configuration pour les profils de capacité
  4. Exporter et importer une configuration pour les files d’attente des canaux vocaux
  5. Exporter et importer une configuration pour les flux de travail de canaux vocaux
  6. Migrer les données de configuration pour les canaux vocaux
  7. Vérifier votre migration
  8. Résolution des problèmes de l’exportation et de l’importation de données

Migrer la configuration à l’aide d’une solution

Si vous utilisez des modèles de session et des notifications personnalisés dans votre configuration de routage vocal, effectuez les étapes décrites dans la section Migrer la configuration à l’aide d’une solution

Migrer la configuration basée sur les compétences

Si des ensembles de règles d’acheminement basé sur les compétences sont utilisés dans votre configuration d’acheminement unifié, effectuez les étapes décrites dans la section Migrer des données pour l’acheminement basé sur les compétences. Assurez-vous d’ajuster correctement tout filtrage xml de récupération pour la voix.

Migrer les profils de capacité de configuration

Si vous avez configuré des profils de capacité dans votre configuration d’acheminement vocal, effectuez les étapes décrites dans la section Exporter et importer des données pour les profils de capacité.

Migrer les données de configuration pour les files d’attente des canaux vocaux

Pour exporter et importer des files d’attente pour le canal vocal, suivez les étapes décrites dans Migrer des données pour les files d’attente d’enregistrements basées sur l’acheminement unifié.

Migrer les données de configuration pour les flux de travail des canaux vocaux

  1. Utilisez l’outil de migration de configuration pour créer le schéma et exporter les données de l’organisation source pour les flux de travail vocaux.

    • Nom d’affichage de l’entité : lorsque vous créez le schéma, sélectionnez les entités de la même séquence mentionnée dans le tableau.
    • Nom d’affichage de l’attribut : nous vous recommandons de sélectionner les attributs définis dans le tableau suivant. Vous n’avez pas besoin de sélectionner les attributs prédéfinis définis par le système, tels que Créé par, Créé le, Modifié par, Modifié le et Propriétaire. Vous pouvez sélectionner des attributs personnalisés, si nécessaire.
    • Utiliser FetchXML pour filtrer les enregistrements : pour chaque entité, utilisez la requête FetchXML appropriée mentionnée dans le tableau suivant pour obtenir un, plusieurs ou tous les enregistrements en fonction de vos besoins. Pour les enregistrements uniques ou multiples, vous devez utiliser l’organisation source pour obtenir le nom correct dans uiname et le GUID dans la valeur. Si nécessaire, vous pouvez utiliser l’élément de menu RECHERCHE AVANCÉE pour créer la requête d’extraction FetchXML appropriée.
    • Configurer les paramètres d’importation : Pour l’entité Contrat de décision, assurez-vous de cocher la case Ne pas mettre à jour les enregistrements existants.
  2. Assurez-vous que les flux de travail référencés dans la configuration des canaux vocaux sont inclus dans la migration.

    N° S Nom d’affichage de l’entité (nom logique) Nom d’affichage de l’attribut (nom logique) Utiliser FetchXML pour filtrer les enregistrements
    1. Flux de travail (msdyn_liveworkstream)
    • Clé API (msdyn_apikey)
    • Numéro de version de la clé API (msdyn_apikeyversionnumber)
    • Autoriser les messages automatisés (msdyn_enableautomatedmessages)
    • Présences autorisées (msdyn_allowedpresences)
    • Attribuer l’élément de travail après un refus ou une expiration (msdyn_assignworkitemafterdecline)
    • Fermeture automatique après une inactivité (msdyn_autocloseafterinactivity)
    • Bloquer la capacité pour l’état de conclusion (msdyn_blockcapacityforwrapup)
    • File d’attente de bot (msdyn_bot_queue)
    • Règle de bot (msdyn_bot_rule)
    • Utilisateur de bot (msdyn_bot_user)
    • CallbackPreviewDialing (msdyn_notificationtemplate_callback_previewdialing)
    • Connecteurs (msdyn_connectorsurl)
    • Consulter (msdyn_notificationtemplate_consult)
    • Mode de conversation des canaux de chat (msdyn_conversationmode)
    • ID client (msdyn_customerid)
    • Durée de maintien de la déconnexion du client pour une conversation ouverte (msdyn_customerdisconnectholddurationforopenconversation)
    • Capacité (msdyn_capacityrequired)
    • Format de capacité (msdyn_capacityformat)
    • Canal (msdyn_streamsource)
    • Identifiant du contrat (msdyn_routingcontractid)
    • Par défaut (msdyn_sessiontemplate_default)
    • File d’attente par défaut (msdyn_defaultqueue)
    • Direction (msdyn_direction)
    • Activer la sélection à partir des flux de travail basés sur le push (msdyn_enableselectingfrompushbasedworkstreams)
    • Entité (msdyn_masterentityroutingconfigurationid)
    • Langue de base (msdyn_fallbacklanguage)
    • Suivi après attente (msdyn_followupafterwaiting)
    • Seuil de temps de traitement (msdyn_handlingtimethreshold)
    • Authentifié entrant (msdyn_notificationtemplate_incoming_auth)
    • Non authentifié entrant (msdyn_notificationtemplate_incoming_unauth)
    • Est par défaut (msdyn_isdefault)
    • Conserver le même agent pour toute la conversation (msdyn_enableagentaffinity)
    • Dernière validation le (msdyn_lastvalidationon)
    • Statut de dernière validation (msdyn_lastvalidationstatus)
    • Logique de correspondance (msdyn_matchinglogic)
    • Concurrence maximale (msdyn_maxconcurrentconnection)
    • Mode (msdyn_mode)
    • Nom (msdyn_name)
    • Notification (msdyn_notification)
    • Espace réservé de scénario de notification (msdyn_notificationscenarioplaceholder)
    • File d’attente sortante (msdyn_outboundqueueid)
    • Règle d’identification d’enregistrement (msdyn_recordidentificationrule)
    • Règle de validation d’identification d’enregistrement (msdyn_recordidentificationvalidationrule)
    • Restreindre le téléchargement de l’enregistrement (msdyn_restrictdownloadrecording)
    • Restreindre le téléchargement de la transcription (msdyn_restrictdownloadtranscript)
    • Délai d’expiration de l’affichage de l’écran (msdyn_screenpoptimeout)
    • Délai d’expiration de l’affichage de l’écran (msdyn_screenpoptimeout_optionSet)
    • Clé API sécurisée (msdyn_secureapikey)
    • Nombre de règles d’attachement de compétence (msdyn_skillattachmentrulescount)
    • Nombre de règles d’attachement de compétence (Date de dernière mise à jour) (msdyn_skillattachmentrulescount_date)
    • Nombre de règles d’attachement de compétence (État) (msdyn_skillattachmentrulescount_state)
    • Espace réservé de scénario de session (msdyn_sessionscenarioplaceholder)
    • SupervisorAssign (msdyn_notificationtemplate_supervisorassign)
    • Transfert (msdyn_notificationtemplate_transfer)
    • Seuil de temps d’attente (msdyn_waitingtimethreshold)
    • Mode de répartition du travail (msdyn_workdistributionmode)
    • Flux de travail (msdyn_liveworkstreamid)
    Exemple 1 : Tous les flux de travail vocaux

    Exemple 2 : flux de travail vocal unique

    Exemple 3 : plusieurs flux de travail vocaux
    2. Variable de contexte (msdyn_ocliveworkstreamcontextvariable)
    • Nom (msdyn_name)
    • Nom de la relation (msdyn_relationshipname)
    • Type (msdyn_datatype)
    • Flux de travail (msdyn_liveworkstreamid)
    • IsList (msdyn_islist)
    • Modifiable (msdyn_ismodifiable)
    • Nom complet (msdyn_displayname)
    • Affichable (msdyn_isdisplayable)
    • Nom logique de l’entité (msdyn_entitylogicalname)
    • Variable de contexte (msdyn_ocliveworkstreamcontextvariableid)
    • Statut (statecode)
    • Raison du statut (statuscode)
    • Défini par le système (msdyn_issystemdefined)
    Exemple 1 : variables de contexte pour tous les flux de travail vocaux

    Exemple 2 : variables de contexte pour tous les flux de travail vocaux uniques

    Exemple 3 : variables de contexte pour tous les flux de travail vocaux
    3. Contrat de décision (msdyn_decisioncontract)
    • Définition du contrat (msdyn_contractdefinition)
    • Contrat de décision (msdyn_decisioncontractid)
    • Nom (msdyn_name)
    • Nom unique (msdyn_uniquename)
    Exemple 1 : contrat de décision pour tous les flux de travail vocaux

    Exemple 2 : contrat de décision pour un flux de travail vocal unique

    Exemple 3 : contrat de décision pour tous les flux de travail vocaux
    4. Ensemble de règles de décision (msdyn_decisionruleset)
    • Modèle AI Builder (msdyn_aibmodelid)
    • Mode de création (msdyn_authoringmode)
    • Ensemble de règles de décision (msdyn_decisionrulesetid)
    • Description (msdyn_description)
    • Contrat d’entrée (msdyn_inputcontractid)
    • Est la collection d’entrée (msdyn_isinputcollection)
    • Type de modèle ML (msdyn_mlmodeltype)
    • Nom (msdyn_name)
    • Contrat de sortie (msdyn_inputcontractid)
    • Définition de l’ensemble de règles (msdyn_rulesetdefinition)
    • Type d’ensemble de règles (msdyn_rulesettype)
    • Nom unique (msdyn_uniquename)
    Exemple 1 : ensemble de règles de décision pour tous les flux de travail vocaux

    Exemple 2 : ensemble de règles de décision pour un flux de travail vocal unique

    Exemple 3 : ensemble de règles de décision pour tous les flux de travail vocaux
    5. Configuration d’acheminement (msdyn_routingconfiguration)
    • Est une configuration active (msdyn_isactiveconfiguration)
    • Nom (msdyn_name)
    • Configuration d’acheminement (msdyn_routingconfigurationid)
    • Nom unique (msdyn_uniquename)
    • Flux de travail (msdyn_liveworkstreamid)
    Exemple 1 : configuration de routage pour tous les flux de travail vocaux

    Exemple 2 : configuration de routage pour un seul flux de travail vocaux

    Exemple 3 : configuration de routage pour tous les flux de travail vocaux
    6. Étape de configuration d’acheminement (msdyn_routingconfigurationstep)
    • Nom (msdyn_name)
    • Configuration d’acheminement (msdyn_routingconfigurationid)
    • Étape de configuration d’acheminement (msdyn_routingconfigurationstepid)
    • Ensemble de règles (msdyn_rulesetid)
    • Ordre des étapes (msdyn_steporder)
    • Type d’étape (msdyn_type)
    • Nom unique (msdyn_uniquename)
    Exemple 1 : étape de configuration de routage pour tous les flux de travail vocaux

    Exemple 2 : étape de configuration de routage pour un seul flux de travail vocaux

    Exemple 3 : étape de configuration de routage pour tous les flux de travail vocaux
    7. Profil de capacité du flux de travail (msdyn_liveworkstreamcapacityprofile)
    • Profil de capacité (msdyn_capacityprofile_id)
    • Nom (msdyn_name)
    • Flux de travail (msdyn_workstream_id)
    • Profil de capacité du flux de travail (msdyn_liveworkstreamcapacityprofileid)
    Exemple 1 : profil de capacité de flux de travail pour tous les flux de travail vocaux

    Exemple 2 : profil de capacité de flux de travail pour un seul flux de travail vocal

    Exemple 3 : profil de capacité de flux de travail pour plusieurs flux de travail vocaux
  3. Générez le schéma et enregistrez-le.

  4. Exportez les données et générez le fichier compressé (zip).

  5. Utilisez l’outil de migration de configuration, sélectionnez l’option d’importation de données, puis sélectionnez le fichier compressé.

Important

Lorsque vous récupérez des jeux de règles de décision (msdyn_decisionrulesets) contenant des variables de contexte, certains jeux de règles de décision sont créés sans les mappages de dépendance. Pour contourner ce problème, effectuez les étapes suivantes :

  1. Importez les données pour toutes les entités, y compris l’entité decision ruleset (msdyn_decisionrulesets).
  2. Importez à nouveau les données pour l’entité de jeu de règles de décision. Cette étape garantit que tous les mappages de dépendances pour les jeux de règles de décision sont importés.

Pour que l’exemple de schéma obtienne l’intégralité des enregistrements requis, voir Exemple de schéma pour le flux de travail vocal.

FetchXML pour l’entité du flux de travail

Exemple 1 : Tous les flux de travail vocaux

<fetch distinct="true"> 
  <entity name="msdyn_liveworkstream"> 
    <filter type="and"> 
      <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
      <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
    </filter> 
  </entity> 
</fetch>

Exemple 2 : flux de travail vocal unique

<fetch>
  <entity name="msdyn_liveworkstream"> 
    <filter type="and"> 
      <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
    </filter> 
  </entity> 
</fetch> 

Exemple 3 : plusieurs flux de travail vocaux

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"> 
  <entity name="msdyn_liveworkstream"> 
    <filter type="and"> 
      <condition attribute="msdyn_liveworkstreamid" operator="in"> 
        <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}</value> 
        <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44098}</value> 
      </condition> 
    </filter> 
  </entity> 
</fetch>  

FetchXML pour l’entité des variables contextuelles

Exemple 1 : variables de contexte pour tous les flux de travail vocaux

<fetch>
    <entity name="msdyn_ocliveworkstreamcontextvariable" >
        <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="aa" >
            <filter type="and" >
                <condition attribute="msdyn_streamsource" operator="eq" value="192440000" />
                <condition attribute="msdyn_mode" operator="eq" value="717210001" />
            </filter>
        </link-entity> 
    </entity>
</fetch> 

Exemple 2 : variables de contexte pour un seul flux de travail vocal

<fetch>
    <entity name="msdyn_ocliveworkstreamcontextvariable" >
        <filter type="and" >
            <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{D3A1F09D-51A0-A6B7-266D-58E1BDB97B53}" />
        </filter>
    </entity>
</fetch>

Exemple 3 : variables de contexte pour tous les flux de travail vocaux

<fetch>
    <entity name="msdyn_ocliveworkstreamcontextvariable" ><a name="BKMK3vwcv"></a>
        <filter type="or" >
            <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{D3A1F09D-51A0-A6B7-266D-58E1BDB97B53}" />
            <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" /> 
        </filter>
    </entity>
</fetch>

FetchXML pour l’entité de contrat de décision

Exemple 1 : contrat de décision pour tous les flux de travail vocaux

<fetch distinct="true" >
    <entity name="msdyn_decisioncontract" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="an" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="an" operator="eq" value="192440000" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="bd" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="bd" operator="eq" value="192440000" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="bk" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="bk" operator="eq" value="192440000" />
            </filter>
        </filter>
        <link-entity name="msdyn_liveworkstream" from="msdyn_routingcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="an" />
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="ba" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bb" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bc" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bd" />
                </link-entity>
            </link-entity>
        </link-entity>
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="bh" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bi" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bj" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bk" />
                </link-entity>
            </link-entity>
        </link-entity>
    </entity>
</fetch>

Exemple 2 : contrat de décision pour un flux de travail vocal unique

<fetch distinct="true" >
    <entity name="msdyn_decisioncontract" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="an" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="bd" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="bk" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
        </filter>
        <link-entity name="msdyn_liveworkstream" from="msdyn_routingcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="an" />
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="ba" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bb" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bc" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bd" />
                </link-entity>
            </link-entity>
        </link-entity>
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="bh" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bi" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bj" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bk" />
                </link-entity>
            </link-entity>
        </link-entity>
    </entity>
</fetch>

Exemple 3 : contrat de décision pour tous les flux de travail vocaux

<fetch distinct="true" >
    <entity name="msdyn_decisioncontract" >
        <filter type="or" >
            <filter type="and" >
                <filter type="or" >
             	       <condition attribute="msdyn_liveworkstreamid" entityname="an" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
       	       <condition attribute="msdyn_liveworkstreamid" entityname="an" operator="eq" uiname="Voice Workstream 2" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
         </filter>
            </filter>
            <filter type="and" >
                <filter type="or" >
             	       <condition attribute="msdyn_liveworkstreamid" entityname="bd" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
       	       <condition attribute="msdyn_liveworkstreamid" entityname="bd" operator="eq" uiname="Voice Workstream 2" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
         </filter>
            </filter>
            <filter type="and" >
                <filter type="or" >
             	       <condition attribute="msdyn_liveworkstreamid" entityname="bk" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
       	       <condition attribute="msdyn_liveworkstreamid" entityname="bk" operator="eq" uiname="Voice Workstream 2" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
         </filter>
            </filter>
        </filter>
        <link-entity name="msdyn_liveworkstream" from="msdyn_routingcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="an" />
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="ba" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bb" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bc" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bd" />
                </link-entity>
            </link-entity>
        </link-entity>
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="bh" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bi" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bj" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bk" />
                </link-entity>
            </link-entity>
        </link-entity>
    </entity>
</fetch>

FetchXML pour l’entité d’ensemble de règles de décision

Exemple 1 : ensemble de règles de décision pour tous les flux de travail vocaux

<fetch distinct="true" >
    <entity name="msdyn_decisionruleset" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="af" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="af" operator="eq" value="192440000" />
            </filter>
        </filter>
        <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="ad" >
            <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="ae" >
                <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="af" />
            </link-entity>
        </link-entity>
    </entity>
</fetch>

Exemple 2 : ensemble de règles de décision pour un flux de travail vocal unique

<fetch distinct="true" >
    <entity name="msdyn_decisionruleset" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="af" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
        </filter>
        <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="ad" >
            <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="ae" >
                <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="af" />
            </link-entity>
        </link-entity>
    </entity>
</fetch>

Exemple 3 : ensemble de règles de décision pour tous les flux de travail vocaux

<fetch distinct="true" >
    <entity name="msdyn_decisionruleset" >
        <filter type="or" >
            <filter type="or" >
                <condition attribute="msdyn_liveworkstreamid" entityname="af" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
                <condition attribute="msdyn_liveworkstreamid" entityname="af" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
            </filter>
        </filter>
        <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="ad" >
            <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="ae" >
                <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="af" />
            </link-entity>
        </link-entity>
    </entity>
</fetch>

FetchXML pour l’entité de configuration d’acheminement

Exemple 1 : configuration de routage pour tous les flux de travail vocaux

<fetch>
  <entity name="msdyn_routingconfiguration"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
        <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

Exemple 2 : configuration de routage pour un seul flux de travail vocaux

<fetch>
  <entity name="msdyn_routingconfiguration"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

Exemple 3 : configuration de routage pour tous les flux de travail vocaux

<fetch>
  <entity name="msdyn_routingconfiguration"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="in"> 
          <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}</value> 
          <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44098}</value> 
        </condition> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

FetchXML pour l’entité d’étape de configuration d’acheminement

Exemple 1 : étape de configuration de routage pour tous les flux de travail vocaux

<fetch>
  <entity name="msdyn_routingconfigurationstep"> 
    <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="inner" alias="ak"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="al"> 
        <filter type="and"> 
          <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
          <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
        </filter> 
      </link-entity> 
    </link-entity> 
  </entity> 
</fetch>

Exemple 2 : étape de configuration de routage pour un seul flux de travail vocaux

<fetch>
  <entity name="msdyn_routingconfigurationstep"> 
    <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="inner" alias="ak"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="al"> 
        <filter type="and"> 
          <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312EFC}" /> 
        </filter> 
      </link-entity> 
    </link-entity> 
  </entity> 
</fetch>

Exemple 3 : étape de configuration de routage pour tous les flux de travail vocaux

<fetch> 
  <entity name="msdyn_routingconfigurationstep"> 
    <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="inner" alias="ak"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="al"> 
        <filter type="and"> 
          <condition attribute="msdyn_liveworkstreamid" operator="in"> 
            <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}</value> 
            <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44098}</value> 
          </condition> 
        </filter> 
      </link-entity> 
    </link-entity>
  </entity>
</fetch>

FetchXML pour l’entité de profil de capacité de flux de travail

Exemple 1 : profil de capacité de flux de travail pour tous les flux de travail vocaux

<fetch>
  <entity name="msdyn_liveworkstreamcapacityprofile"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_workstream_id" link-type="inner" alias="am"> 
      <filter type="and"> 
        <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
        <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

Exemple 2 : profil de capacité de flux de travail pour un seul flux de travail vocal

<fetch>
  <entity name="msdyn_liveworkstreamcapacityprofile"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_workstream_id" link-type="inner" alias="am"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312EFC}" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

Exemple 3 : profil de capacité de flux de travail pour plusieurs flux de travail vocaux

<fetch>
  <entity name="msdyn_liveworkstreamcapacityprofile"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_workstream_id" link-type="inner" alias="am"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="in"> 
          <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312EFC}</value> 
          <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44215}</value> 
        </condition> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

Migrer les données de configuration pour les paramètres des canaux vocaux

Supposons que le flux de travail doit déjà exister ; il est créé manuellement ou précédemment migré dans l’organisation de destination.

Pour migrer les données pour le canal vocal

  1. Utilisez l’outil de migration de configuration pour créer le schéma et exporter les données de l’organisation source pour le canal vocal et les entités associées.

    • Nom d’affichage de l’entité : lorsque vous créez le schéma, sélectionnez les entités dans la séquence mentionnée dans le tableau.
    • Nom d’affichage de l’attribut : nous vous recommandons de sélectionner les attributs définis dans le tableau suivant. Vous n’avez pas besoin de sélectionner les attributs définis par le système, tels que Créé par, Créé le, Modifié par, Modifié le et Propriétaire. Vous pouvez sélectionner des attributs personnalisés si nécessaire.
    N° S Nom d’affichage de l’entité (nom logique) Nom d’affichage de l’attribut (nom logique)
    1. Paramètre de canal vocal (msdyn_ocvoicechannelsetting) FetchXML pour filtrer les enregistrements pour les paramètres de canal vocal
    Remarque :
    - Remplacez la valeur de msdyn_liveworkstream dans la section Condition.
    - N’incluez pas la colonne Numéro de téléphone (msdyn_phonenumberid), car les enregistrements de la table Numéro de téléphone sont spécifiques à l’environnement et ne peuvent pas être migrés. Vous devez attribuer manuellement le numéro de téléphone dans l’environnement de destination. Si vous n’êtes pas autorisé à effectuer cette action pour une raison quelconque, vous pouvez inclure la colonne Numéro de téléphone. Mais, avant de procéder à l’importation, vous devez modifier manuellement le fichier data.xml dans le fichier zip exporté et remplacer sa valeur par le GUID du numéro de téléphone correct dans l’environnement de destination.
    - Assurez-vous dans le cadre de la déclaration d’entité dans le schéma que le plug-in est activé. (disableplugins="false")
    • Annoncer le temps d’attente moyen (msdyn_announceaveragewaittime)
    • Annoncer la position dans la file d’attente (msdyn_announcepositioninqueue)
    • Activer le contrôle par agent de l’enregistrement (msdyn_agentrecordingcontrolsenabled)
    • Activer le contrôle par agent de la transcription (msdyn_agenttranscriptioncontrolsenabled)
    • Activer le contrôle d’agent pour ajouter un participant externe (msdyn_agentexternalparticipantcontrolenabled)
    • Activer le contrôle d’agent pour ajouter un participant externe (msdyn_agentexternalparticipantcontrolenabled)
    • Activer le contrôle d’agent pour ajouter un participant externe à Teams (msdyn_agentexternalteamsparticipantcontrolenabled)
    • Nom (msdyn_name)
    • Heures de fonctionnement (msdyn_operatinghoursid)
    • Enregistrement activé (msdyn_recordingenabled)
    • Mode d’enregistrement (msdyn_recordingmode)
    • Statut (statecode)
    • Raison du statut (statuscode)
    • Transcription activée (msdyn_transcriptionenabled)
    • Mode de transcription (msdyn_transcriptionmode)
    • Paramètre de canal vocal (msdyn_voicechannelsettingid)
    • Flux de travail (msdyn_liveworkstreamid)
    2. Localisation (msdyn_oclocalizationdata) FetchXML pour filtrer les enregistrements pour les localisations de canal vocal
    • Message automatisé (msdyn_systemmessageid)
    • Texte localisé par défaut (msdyn_defaultlocalizedtext)
    • Nom de colonne d’entité (msdyn_entitycolumnname)
    • Nom de l’entité (msdyn_entityname)
    • ID d’enregistrement d’entité (msdyn_entityrecordid)
    • Est par défaut (msdyn_isdefault)
    • Code langue (msdyn_customerlanguageid)
    • Code langue (msdyn_languagecode)
    • Localisation (msdyn_oclocalizationdataid)
    • Texte localisé (msdyn_localizedtext)
    • ID d’organisation (organizationid)
    • Statut (statecode)
    • Raison du statut (statuscode)
    3. Message (msdyn_ocsystemmessage)
    • Canal (msdyn_streamsource)
    • Langue par défaut (msdyn_defaultlanguage)
    • ID d’instance (msdyn_instanceid)
    • Message (msdyn_ocsystemmessageid)
    • Description du message (msdyn_messagedescription)
    • Destinataire du message (msdyn_messagereceiver)
    • Déclencheur de modèle de message (msdyn_messagetemplatetrigger)
    • Texte du message (msdyn_messagetext)
    • Déclencheur de message (msdyn_systemmessageeventtype)
    • Type de message (msdyn_messagetype)
    • Nom (msdyn_name)
    • ID d’organisation (organizationid)
    • Statut (statecode)
    • Raison du statut (statuscode)
    4. Vocal (msdyn_ocvoice)
    • Langue (msdyn_languageid)
    • Nom (msdyn_name)
    • tonalité (msdyn_pitch)
    • vitesse de parole (msdyn_speakingspeed)
    • Statut (statecode)
    • Raison du statut (statuscode)
    • vocal (msdyn_ocvoiceid)
    • nom de la voix (msdyn_voicename)
    • style de voix (msdyn_voicestyle)
    5. Paramètre de langue du canal vocal (msdyn_ocvoicechannellanguagesetting) Remarque :
    - Avant de migrer cette table, assurez-vous que l’utilisateur système du bot d’enquête (msdyn_surveybotsystemuserid) existe dans la table User (systemuser) et que tous les fichiers musicaux référencés par les colonnes Musique en attente (msdyn_holdmusicid) et Musique d’attente (msdyn_waitmusicid) dans chaque enregistrement existent déjà dans la table Musique de téléphone ( msdyn_ocphonemusic) de l’environnement de destination. Malheureusement, la table Musique de téléphone comporte des colonnes de fichiers et ne peut pas être migrée.
    • Musique en attente (msdyn_holdmusicid)
    • Est primaire (msdyn_isprimary)
    • Langue (msdyn_languageid)
    • Nom (msdyn_name)
    • Statut (statecode)
    • Raison du statut (statuscode)
    • Utilisateur du système du bot d’enquête (msdyn_surveybotsystemuserid)
    • Vocal (msdyn_ocvoiceid)
    • Paramètre de langue du canal vocal (msdyn_ocvoicechannellanguagesettingid)
    • Paramètre de canal vocal (msdyn_ocvoicechannelsettingid)
    • Musique d’attente (msdyn_waitmusicid)
    6. État d’approvisionnement (msdyn_ocprovisioningstate) FetchXML pour filtrer les enregistrements pour les états d’approvisionnement de canal vocal
    • paramètre de canal vocal (msdyn_ocvoicechannelsettingsid)
    • Nom (msdyn_name)
  2. Générez le schéma et enregistrez-le.

  3. Exportez les données et générez le fichier compressé (zip).

  4. Utilisez l’outil de migration de configuration, sélectionnez l’option d’importation de données, puis sélectionnez le fichier compressé.

Pour que l’exemple de schéma obtienne l’intégralité des enregistrements requis, voir Exemple de schéma pour le canal vocal.

FetchXML pour les paramètres de canal vocal

<fetch>
  <entity name="msdyn_ocvoicechannelsetting"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ab"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>  

FetchXML pour la localisation de canal vocal

<fetch>
  <entity name="msdyn_oclocalizationdata"> 
    <link-entity name="msdyn_ocsystemmessage" from="msdyn_ocsystemmessageid" to="msdyn_systemmessageid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_streamsource" operator="eq" uiname="192440000"/> 
      </filter>
    </link-entity> 
  </entity> 
</fetch>  

FetchXML pour l’état d’approvisionnement vocal

<fetch>
  <entity name="msdyn_ocprovisioningstate"> 
    <link-entity name="msdyn_ocvoicechannelsetting" from="msdyn_ocvoicechannelsettingid" to="msdyn_voicechannelsettingid" link-type="inner" alias="ac"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ad"> 
        <filter type="and"> 
          <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
        </filter> 
      </link-entity> 
    </link-entity> 
  </entity> 
</fetch>

Vérifier votre migration

Après avoir importé avec succès les données de configuration liées à l’acheminement unifié entre l’organisation source et l’organisation cible, effectuez les étapes suivantes dans l’organisation cible :

  1. Dans l’interface utilisateur, assurez-vous que la configuration du canal vocal et les ensembles de règles de l’acheminement unifié sont rendus correctement et n’affichent pas d’erreurs.

  2. Si des compétences et des valeurs d’évaluation sont utilisées dans les ensembles de règles d’acheminement unifié, vous devez lier, associer ou créer manuellement les utilisateurs, les ressources réservables et les enregistrements de caractéristiques des ressources réservables.

  3. Si des profils de capacité sont utilisées dans les ensembles de règles et les flux de travail d’acheminement unifié, vous devez lier, associer ou créer manuellement les utilisateurs, les ressources pouvant être réservées et les enregistrements de profil de capacité des ressources pouvant être réservées.

Éléments à prendre en compte pour l’exportation et l’importation des données

Pour résoudre les problèmes que vous pourriez rencontrer pendant la migration, vérifiez les fichiers journaux comme suit :

  • Lorsque vous importez des données dans l’organisation cible, si vous voyez des symboles d’avertissement jaunes, vérifiez les journaux suivants dans l’outil de migration de la configuration :

    • Login_ErrorLog.log : fournit des informations sur les problèmes que vous avez rencontrés lorsque vous vous êtes connecté à l’organisation à l’aide de l’outil de gestion de la configuration.
    • DataMigrationUtility.log : fournit des informations sur les tâches effectuées à l’aide de l’outil lors de la dernière migration.
    • ImportDataDetail.log : fournit des informations sur les données importées par l’outil lors de la dernière importation de données.

    Plus d’informations :Résoudre les problèmes de migration des données de configuration à l’aide des fichiers journaux

    Avertissements jaunes indiquant des erreurs lors de l’importation des données.

  • Si les journaux contiennent des erreurs de réseau, répétez le processus d’importation.

    Prenons un exemple :

    Time: 11:46:09 PM
    Error: There was no endpoint listening at `https://www.contoso.com/XRMServices/2011/Organization.svc/web?SDKClientVersion=9.2.46.5279` that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
    Stack Trace: Service stack trace:
    

Voir aussi

Migrer la configuration pour des enregistrements basés sur l’acheminement unifié