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.
Note
Cependant, nous vous recommandons de migrer les configurations à l’aide du framework de solutions. Plus d’informations : Migrer les configurations des canaux à l’aide de solutions
Pour plus d’informations sur l’utilisation de l’outil de migration de configuration, consultez les articles suivants :
- Télécharger l’outil de migration de configuration
- Fonctionnement de l’outil de migration de configuration
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
)
- Flux de travail (
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.
- Migrer la configuration à l’aide d’une solution
- Exporter et importer une configuration pour l’acheminement basé sur les compétences
- Exporter et importer une configuration pour les profils de capacité
- Exporter et importer une configuration pour les files d’attente des canaux vocaux
- Exporter et importer une configuration pour les flux de travail de canaux vocaux
- Migrer les données de configuration pour les canaux vocaux
- Vérifier votre migration
- 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
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.
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 vocaux2. 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 vocaux3. 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 vocaux4. 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 vocaux5. 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 vocaux6. É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 vocaux7. 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 vocauxGénérez le schéma et enregistrez-le.
Exportez les données et générez le fichier compressé (zip).
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 :
- Importez les données pour toutes les entités, y compris l’entité decision ruleset (msdyn_decisionrulesets).
- 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
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)
Générez le schéma et enregistrez-le.
Exportez les données et générez le fichier compressé (zip).
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 :
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.
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.
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
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é