searchAndOpenRecords (Référence API JavaScript) pour l’environnement d’intégration du canal de Dynamics 365 1.0
La méthode recherche l’enregistrement du widget de communication pendant la communication entrante et ouvre l’enregistrement.
Syntaxe
Microsoft.CIFramework.searchAndOpenRecords(entityLogicalName, queryParameters, searchOnly, searchType).then(successCallback, errorCallback);
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
entityLogicalName | String | Oui | Nom de l’entité à rechercher et à ouvrir. |
queryParameters | String | Oui | Options de requête système OData, $select et $expand, pour récupérer vos données. - Utilisez l’option de requête système $select pour limiter les propriétés renvoyées en incluant une liste de noms de propriété séparés par des virgules. C’est une pratique recommandée importante. Si des propriétés ne sont pas spécifiées à l’aide de $select, toutes les propriétés sont renvoyées. - Utilisez l’option de requête système $expand pour contrôler les données renvoyées par les entités associées. Si vous incluez uniquement le nom de la propriété de navigation, vous recevrez toutes les propriétés des enregistrements associés. Vous pouvez limiter les propriétés retournées pour les enregistrements associés à l’aide de l’option de requête système $select entre parenthèses après le nom de propriété de navigation. Utilisez cette procédure pour les propriétés de navigation à valeur unique et valeur de collection. Vous pouvez spécifier les options de requête en commençant par ? . Vous pouvez également spécifier plusieurs options de requête système en utilisant & pour séparer les options de requête.Par exemple : ?$select=name&$expand=primarycontactid($select=contactid,fullname) |
searchOnly | Valeur booléenne | Oui | Définissez le searchOnly sur false lorsque vous souhaitez que la recherche affiche un seul enregistrement en fonction du contexte de recherche. Si la recherche comporte plusieurs enregistrements et que vous avez utilisé queryParameters pour indiquer l’option de recherche, alors définir searchOnly sur false ouvre et renseigne la page de recherche avec l’option de recherche. Remarque : si le résultat de la recherche contient plusieurs enregistrements, alors les enregistrements pour Compte, alors seules les entités Contact et Activité sont ouvertes. Définir la valeur sur true pour obtenir uniquement les résultats de la recherche comme objet de promesse au lieu de la page d’enregistrement ou de la page de recherche. |
searchType | Chiffre | No | Type de page de recherche à ouvrir, 0 pour la recherche par pertinence et 1 pour la recherche par catégorie. Si aucun paramètre n’est fourni, les enregistrements sont recherchés par catégorie. |
successCallback | Function | No | Fonction à appeler lorsque la demande aboutit. |
errorCallback | Function | No | Fonction à appeler lorsque la requête échoue. |
Valeur renvoyée
Renvoie un objet Promise de type Chaîne. En cas de succès, la méthode renvoie les résultats de la recherche selon la requête de recherche.
Note
- Vous pouvez récupérer un maximum de 5 000 enregistrements à la fois (s’il existe plus de 5 000 enregistrements). Vous pouvez affiner les résultats en utilisant des options de requête telles que $filter, $select et $top dans les paramètres de méthode comme indiqué dans la section Exemples. Pour plus d’informations : Vue d’ensemble des options de requête
- Pour effectuer une recherche basée sur la pertinence, vous devez configurer la recherche par pertinence. Si recherche par pertinence n’est pas activé, alors la recherche sera effectuée en fonction de la catégorie.
Examples
Rechercher et ouvrir l’enregistrement du contact
Cet exemple de code recherche le nom et le numéro de téléphone d’un enregistrement de contact. Il ouvre une page de résultats de recherche vide.
// retrieve contact record
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1", false).
then(
function success(result) {
res=JSON.parse(result);
console.log(`Record values: Full Name: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);
// perform operations on record retrieval and opening
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
Rechercher et afficher sur la liste des enregistrements de contact
Cet exemple de code recherche et affiche le nom et le numéro de téléphone des enregistrements d’entité Contact dont le prénom est Contoso. L’utilisation de $search
vous assure que la page de résultats de recherche est remplie avec le critère de recherche Contoso.
Note
Si vous utilisez $search
dans la requête et que le paramètre searchOnly
est défini sur false
, il ouvrira toujours la page des résultats de la recherche et non l’enregistrement récupéré. Si vous souhaitez ouvrir l’enregistrement récupéré, n’utilisez pas $search
dans la requête.
// Retrieve Contact entity record
// Change searchOnly parameter to true, if you do not want to open the search results page
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1&$filter=firstname eq 'Contoso'&$search=Contoso", false).
then(
function success(result) {
res=JSON.parse(result);
console.log(`The caller name is: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);
// perform operations on record retrieval and opening
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
Rechercher et afficher les 10 premiers enregistrements de contact actifs
Cet exemple de code recherche et affiche les 10 premiers enregistrements de contacts actifs.
Microsoft.CIFramework.searchAndOpenRecords("contact", "$filter=statecode eq 0&$select=description&$top=10", false).
then(
function success(result) {
res=JSON.parse(result);
// perform operations on record retrieval and opening
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
Rechercher et afficher le nom et le numéro de téléphone en spécifiant le type de recherche par pertinence
Cet exemple de code recherche et affiche le nom et le numéro de téléphone des enregistrements de l’entité Contact en spécifiant le type recherche par pertinence.
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1", false, "b44d31ac-5fd1-e811-8158-000d3af97055", 0).
then(
function success(result) {
res=JSON.parse(result);
console.log(`Record values: Full Name: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);
// perform operations on record retrieval and opening
},
function (error) {
console.log(error.message);
// handle error conditions
}
);