Delen via


searchAndOpenRecords (JavaScript API-referentie) voor Dynamics 365 Channel Integration Framework 1.0

De methode zoekt naar het record vanuit de communicatiewidget tijdens de inkomende communicatie en opent het record.

Syntaxis

Microsoft.CIFramework.searchAndOpenRecords(entityLogicalName, queryParameters, searchOnly, correlationId, searchType).then(successCallback, errorCallback);

Parameterwaarden

Naam Typologie Verplicht Description
entityLogicalName String Yes Naam van de entiteit die moet worden gezocht en geopend.
queryParameters String Yes OData-systeemqueryopties, $select en $expand, om uw gegevens op te halen.

- Gebruik de optie $select systeemquery om de geretourneerde eigenschappen te beperken door een door komma's gescheiden lijst met eigenschapsnamen op te nemen. Dit is een belangrijke best practice op het gebied van prestaties. Als eigenschappen niet zijn opgegeven met behulp van $select, worden alle eigenschappen geretourneerd.

- Gebruik de optie $expand systeemquery om de gegevens te beheren die door gerelateerde entiteiten worden geretourneerd. Als u alleen de naam van de navigatie-eigenschap opneemt, ontvangt u alle eigenschappen voor gerelateerde records. U kunt de eigenschappen beperken die worden geretourneerd voor gerelateerde records met behulp van de optie $select systeemquery tussen haakjes na de naam van de navigatie-eigenschap. Gebruik dit voor navigatie-eigenschappen met één of met een verzamelingswaarde.

U kunt de queryopties opgeven die beginnen met ?. U kunt ook meerdere queryopties opgeven door de queryopties te scheiden & .
Bijvoorbeeld: ?$select=name&$expand=primarycontactid($select=contactid,fullname)
alleen zoeken Booleaan Yes Stel de searchOnly in op false als u wilt dat de zoekopdracht één record weergeeft op basis van de zoekcontext. Als het zoekresultaat meerdere records bevat en als u de zoekoptie heeft aangegeven queryParameterssearchOnly de zoekpagina geopend en wordt de zoekpagina gevuld met de zoekoptie.
Notitie: Als het zoekresultaat meerdere records bevat, worden alleen records voor de entiteiten Account, Contactpersoon en Activiteit geopend.

Stel deze in op true om de resultaten van de zoekopdracht op te halen als een Promise-object in plaats van de record of zoekpagina.
zoekType Number Nee. Type zoekpagina dat moet worden geopend: 0 voor zoeken op relevantie en 1 voor gecategoriseerd zoeken. Als er geen parameter is opgegeven, worden de records doorzocht op categorie.
correlatie-id GUID (Globaal Unieke Identificatiecode) Nee. Wordt gebruikt om de gerelateerde API-aanroepen te groeperen voor diagnostische telemetrie.
succesTerugbellen Functie Nee. Een functie om te bellen wanneer de aanvraag is gelukt.
foutCallback Functie Nee. Een functie om aan te roepen wanneer het verzoek mislukt.

Retourwaarde

Retourneert een Promise-object van het type String. Als dit lukt, retourneert de methode de zoekresultaten volgens de zoekopdracht.

Opmerking

  • U kunt maximaal 5000 records tegelijk ophalen (als er meer dan 5000 records zijn). U kunt de resultaten verfijnen met behulp van queryopties zoals $filter, $select en $top in de methodeparameters zoals weergegeven in de sectie Voorbeelden . Meer informatie: Overzicht van query-opties
  • Als u wilt zoeken op basis van relevantie, moet u zoeken op relevantie configureren. Als zoeken op relevantie niet is ingeschakeld, wordt de zoekopdracht uitgevoerd op basis van categorie.

Voorbeelden

Zoek en open het contactrecord

Met deze voorbeeldcode wordt gezocht naar de naam en het telefoonnummer van een contactpersoonrecord. Er wordt een lege pagina met zoekresultaten geopend.


// 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
    }
);

Zoeken en weergeven in de lijst met contactrecords

In deze voorbeeldcode worden de naam en het telefoonnummer van de records van de contactpersoonentiteit gezocht en weergegeven waarbij de voornaam Contoso is. Met behulp van $searchkunt u ervoor zorgen dat de pagina met zoekresultaten wordt gevuld met de zoekterm Contoso.

Opmerking

Als u in de query gebruikt $search en de searchOnly parameter is ingesteld op false, wordt altijd de pagina met zoekresultaten geopend en niet de opgehaalde record. Als u de opgehaalde record wilt openen, gebruikt $search u de parameter niet in de query.


// 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
    }
);

Zoek en toon de top 10 actieve contactrecords

Met deze voorbeeldcode worden de top 10 van actieve contactrecords doorzocht en weergegeven.

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
    }
);

Zoek en toon naam en telefoonnummer door het zoektype voor relevantie op te geven

In deze voorbeeldcode worden de naam en het telefoonnummer van de records van de contactpersoonentiteit doorzocht en weergegeven door het zoektype voor relevantie op te geven.

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     
    } 
);