🔌 Custom API Usage

← Terug naar Plugin & Custom API Development

Het configureren, registreren en gebruiken van Custom API's binnen Dataverse.

Onderwerpen


Doel

Custom API's maken het mogelijk om server-side functionaliteit beschikbaar te stellen als een expliciet aanroepbaar endpoint binnen Dataverse.

Ze worden gebruikt voor:

Voor richtlijnen over architectuur, services en ontwikkeling:

👉 Zie Plugin & Custom API Development.


Wanneer gebruik je een Custom API?

Gebruik een Custom API wanneer functionaliteit expliciet moet kunnen worden aangeroepen door:

Een Custom API is geschikt voor herbruikbare functionaliteit die onafhankelijk van events moet kunnen worden uitgevoerd.


Configuratie

Custom API's worden als component toegevoegd aan een Solution.

Basisconfiguratie

Belangrijke instellingen zijn:

Richtlijn

Gebruik consistente naamgeving volgens de geldende Naming Conventions.

Voorbeelden:

unica_validateAddress
unica_calculateContractValue
unica_generateProjectNumber

Bound versus Unbound

Custom API's kunnen op twee manieren worden ingericht.

Bound

Een Bound API is gekoppeld aan een specifieke tabel.

Voorbeelden:

De API wordt uitgevoerd in de context van een record.


Unbound

Een Unbound API staat los van een specifieke tabel.

Voorbeelden:

De API kan vanuit iedere context worden aangeroepen.


Richtlijn

Gebruik:


Request Parameters

Request Parameters bepalen welke informatie aan de Custom API wordt meegegeven.

Veelgebruikte types zijn:

Richtlijnen

Voorbeelden:

ContractId
CustomerNumber
CountryCode

Response Properties

Response Properties bepalen welke gegevens worden teruggegeven aan de aanroeper.

Voorbeelden:

Richtlijnen


Implementatie

Een Custom API wordt technisch gekoppeld aan een Plugin.

De Plugin:

Richtlijn

Plaats business logica altijd in services.

Een Custom API moet uitsluitend verantwoordelijk zijn voor:


Aanroepen vanuit JavaScript

Custom API's kunnen worden aangeroepen via de Dataverse Web API.

Veelgebruikte scenario's:

Richtlijnen

Voorbeeld

const request = {
    customerNumber: "10001",

    getMetadata: function () {
        return {
            boundParameter: null,
            operationType: 0,
            operationName: "unica_validateCustomer",
            parameterTypes: {
                customerNumber: {
                    typeName: "Edm.String",
                    structuralProperty: 1
                }
            }
        };
    }
};

const response = await Xrm.WebApi.execute(request);

if (response.ok) {
    const result = await response.json();
}

Aanroepen vanuit Cloud Flows

Custom API's kunnen worden uitgevoerd vanuit Power Automate.

Werkwijze

  1. Voeg de actie Perform an unbound action toe
  2. Selecteer de gewenste Custom API
  3. Vul de Request Parameters in
  4. Gebruik de Response Properties in vervolgstappen

Veelgebruikte scenario's:

Richtlijnen


Security

Custom API's maken onderdeel uit van de Dataverse beveiliging.

Richtlijnen

Alle bedrijfskritische validaties moeten binnen de server-side implementatie worden gecontroleerd.


Veelgebruikte Scenario's

Validatieservice

Voorbeelden:


Business Service

Voorbeelden:


Integratieservice

Voorbeelden:


Best Practices

Houd API's klein

Ontwikkel API's met ÊÊn duidelijke verantwoordelijkheid.


Gebruik Services

Plaats business logica nooit rechtstreeks in de Custom API implementatie.


Gebruik consistente naamgeving

Pas dezelfde naamgevingsstandaarden toe als voor Plugins, Flows en JavaScript.


Houd interfaces stabiel

Voorkom onnodige wijzigingen aan bestaande Request Parameters of Response Properties.


Documenteer Contracten

Leg vast:


Veelgemaakte fouten

✘ Te veel parameters

✘ Business logica in de API implementatie

✘ Onvoldoende foutafhandeling

✘ Onduidelijke naamgeving

✘ Geen documentatie van input en output

✘ Onnodig complexe API's


Positionering binnen de oplossing

Custom API's maken onderdeel uit van de Business Logic laag.

Ze worden gebruikt als:

Custom API's vormen de brug tussen:


Relatie met andere onderwerpen

Onderwerp Relatie
Plugin & Custom API Development Ontwikkelrichtlijnen voor server-side logica
Plugin Usage Event-driven alternatief
JavaScript Veelgebruikte consument van Custom API's
Cloud Flows Kunnen Custom API's aanroepen
Logic Implementation Guidelines Ondersteunt de keuze van de juiste techniek
Integration Patterns Custom API's worden vaak gebruikt binnen integraties

Samenvatting

Custom API's bieden een gestandaardiseerde manier om server-side functionaliteit beschikbaar te maken binnen Dataverse.

Ze zijn geschikt voor:

Door gebruik te maken van duidelijke Request Parameters, consistente Response Properties en een service-based architectuur ontstaan oplossingen die:

zijn binnen het Power Platform.