Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een manier om aangepaste connectors te maken voor Microsoft Copilot Studio, Azure Logic Apps, Microsoft Power Automate of Microsoft Power Apps is door een OpenAPI-definitiebestand op te geven. Een OpenAPI-definitiebestand is een taalneutraal, machineleesbaar document dat de bewerkingen en parameters van uw API beschrijft. Naast de out-of-the-box-functionaliteit van OpenAPI kunt u ook de volgende OpenAPI-extensies opnemen wanneer u aangepaste connectors voor Logic Apps en Power Automate maakt:
summaryx-ms-summarydescriptionx-ms-visibilityx-ms-api-annotationx-ms-operation-contextx-ms-capabilitiesx-ms-triggerx-ms-trigger-hintx-ms-notification-contentx-ms-notification-urlx-ms-url-encodingx-ms-dynamic-values and x-ms-dynamic-listx-ms-dynamic-schema and x-ms-dynamic-properties
In de volgende secties worden deze uitbreidingen beschreven.
samenvatting
Hiermee geeft u de titel op voor de actie (bewerking).
Van toepassing op: Bewerkingen
Aanbevolen: Gebruik zinshoofdlettergebruik voor summary.
Voorbeeld: "Wanneer een gebeurtenis aan de agenda wordt toegevoegd" of "Een e-mail verzenden"
"actions" {
"Send_an_email": {
/// Other action properties here...
"summary": "Send an email",
/// Other action properties here...
}
},
x-ms-summary
Hiermee geeft u de titel op voor een entiteit.
Van toepassing op: Parameters, responsschema
Aanbevolen: Gebruik hoofdlettergebruik voor x-ms-summary.
Voorbeeld: Agenda-id, Onderwerp, Beschrijving van gebeurtenis
"actions" {
"Send_an_email": {
/// Other action properties here...
"parameters": [{
/// Other parameters here...
"x-ms-summary": "Subject",
/// Other parameters here...
}]
}
},
beschrijving
Biedt een gedetailleerde uitleg over de functionaliteit van de bewerking of de indeling en functie van een entiteit.
Van toepassing op: bewerkingen, parameters, responsschema
Aanbevolen: gebruik zinshoofdlettergebruik voor description.
Voorbeeld: 'Deze bewerking wordt geactiveerd wanneer een nieuwe gebeurtenis wordt toegevoegd aan de agenda', 'Geef het onderwerp van de e-mail op'.
"actions" {
"Send_an_email": {
"description": "Specify the subject of the mail",
/// Other action properties here...
}
},
x-ms-visibility
Hiermee wordt de zichtbaarheid van de entiteit voor een gebruiker opgegeven.
Mogelijke waarden: important, advanced en internal
Van toepassing op: bewerkingen, parameters, schema's
- De gebruiker ziet altijd eerst bewerkingen
importanten parameters. - De gebruiker ziet alleen bewerkingen
advanceden parameters wanneer ze een extra menu gebruiken. - De gebruiker ziet geen
internalbewerkingen en parameters.
Notitie
Voor parameters die internal en required zijn, moet u standaardwaarden opgeven.
Voorbeeld: De menu's Meer weergeven en Geavanceerde opties weergeven verbergen advanced bewerkingen en parameters.
"actions" {
"Send_an_email": {
/// Other action properties here...
"parameters": [{
"name": "Subject",
"type": "string",
"description": "Specify the subject of the mail",
"x-ms-summary": "Subject",
"x-ms-visibility": "important",
/// Other parameter properties here...
}]
/// Other action properties here...
}
},
x-ms-api-annotation
Gebruiken voor versiebeheer en levenscyclusbeheer van een bewerking.
Van toepassing op: bewerkingen
-
family—Een tekenreeks die de familiemap van de bewerking aangeeft. -
revision—Een geheel getal dat het revisienummer aangeeft. -
replacement—Een object dat de vervangende API-informatie en -bewerkingen bevat.
"x-ms-api-annotation": {
"family": "ListFolder",
"revision": 1,
"replacement": {
"api": "SftpWithSsh",
"operationId": "ListFolder"
}
}
x-ms-operation-context
Gebruik deze eigenschap om het activeren van een trigger te simuleren, zodat u een triggerafhankelijke stroom kunt testen.
Van toepassing op: bewerkingen
"x-ms-operation-context": {
"simulate": {
"operationId": "GetItems_V2",
"parameters": {
"$top": 1
}
}
x-ms-capabilities
Wanneer u deze eigenschap op connectorniveau gebruikt, biedt deze een overzicht van de mogelijkheden die de connector biedt, inclusief specifieke bewerkingen.
Van toepassing op: connectoren
"x-ms-capabilities": {
"testConnection": {
"operationId": "GetCurrentUser"
},
}
Wanneer u deze eigenschap op bewerkingsniveau gebruikt, wordt aangegeven dat de bewerking ondersteuning biedt voor segmenten uploaden en statische segmentgrootte, die de gebruiker kan bieden.
Van toepassing op: bewerkingen
-
chunkTransfer— Een Booleaanse waarde die aangeeft of segmentoverdracht wordt ondersteund.
"x-ms-capabilities": {
"chunkTransfer": true
}
x-ms-trigger
Geeft aan of de huidige bewerking een trigger is die één gebeurtenis produceert. Als dit veld afwezig is, is de bewerking een action.
Van toepassing op: bewerkingen
-
single—Objectrespons -
batch—Array-respons
"x-ms-trigger": "batch"
x-ms-trigger-hint
Beschrijft hoe u een gebeurtenis kunt starten voor een triggerbewerking.
Van toepassing op: bewerkingen
"x-ms-trigger-hint": "To see it work, add a task in Outlook."
x-ms-notification-content
Bevat een schemadefinitie van een meldingsaanvraag voor een webhook. Dit schema definieert de belading van de webhook die externe services naar de meldings-URL sturen.
Geldt voor: bronnen
"x-ms-notification-content": {
"schema": {
"$ref": "#/definitions/WebhookPayload"
}
},
x-ms-notification-url
Gebruik een Booleaanse waarde om op te geven of een webhookmeldings-URL moet worden opgenomen in deze parameter of veld voor een webhookregistratiebewerking.
Van toepassing op: Parameters en invoervelden
"x-ms-notification-url": true
x-ms-url-encoding
Geef op of de huidige padparameter dubbele URL-codering (double) of enkele URL-codering () moet gebruiken.single Als dit veld ontbreekt, wordt het standaard single gecodeerd.
Van toepassing op: padparameters
"x-ms-url-encoding": "double"
x-ms-dynamic-values
Dynamische waarden zijn een lijst met opties waarmee de gebruiker invoerparameters voor een bewerking kan selecteren.
Van toepassing op: Parameters
Procedure voor het gebruiken van dynamische waarden
Notitie
Een padstring is een JSON-aanwijzer die geen voorafgaande slash bevat. Dit is dus een JSON-aanwijzer: /property/childProperty, en dit is een padreeks: property/childProperty.
U kunt dynamische waarden op twee manieren definiëren:
Gebruik
x-ms-dynamic-valuesNaam Vereist Beschrijving operationIdJa De bewerking die de waarden retourneert. parametersJa Een object dat de invoerparameters levert die zijn vereist voor het aanroepen van een bewerking met dynamic-values. value-collectionNee Een padtekenreeks waarmee een matrix van objecten in de nettolading van de respons wordt geëvalueerd. Als value-collection niet is opgegeven, wordt de respons geëvalueerd als een matrix. value-titleNee Een padtekenreeks in het object binnen value-collection die verwijst naar de beschrijving van de waarde. value-pathNee Een padtekenreeks in het object binnen value-collection die verwijst naar de parameterwaarde. "x-ms-dynamic-values": { "operationId": "PopulateDropdown", "value-path": "name", "value-title": "properties/displayName", "value-collection": "value", "parameters": { "staticParameter": "<value>", "dynamicParameter": { "parameter": "<name of the parameter to be referenced>" } } }
Notitie
Het gebruik van dynamische waarden kan leiden tot dubbelzinnige parameterverwijzingen. In de volgende definitie van een bewerking verwijzen de dynamische waarden bijvoorbeeld naar de veld-id. De definitie maakt niet duidelijk of de verwijzing naar de parameter-id of de eigenschap requestBody/idis.
{
"summary": "Tests dynamic values with ambiguous references",
"description": "Tests dynamic values with ambiguous references.",
"operationId": "TestDynamicValuesWithAmbiguousReferences",
"parameters": [{
"name": "id",
"in": "path",
"description": "The request id.",
"required": true
}, {
"name": "requestBody",
"in": "body",
"description": "query text.",
"required": true,
"schema": {
"description": "Input body to execute the request",
"type": "object",
"properties": {
"id": {
"description": "The request Id",
"type": "string"
},
"model": {
"description": "The model",
"type": "string",
"x-ms-dynamic-values": {
"operationId": "GetSupportedModels",
"value-path": "name",
"value-title": "properties/displayName",
"value-collection": "value",
"parameters": {
"requestId": {
"parameter": "id"
}
}
}
}
}
}
}],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object"
}
},
"default": {
"description": "Operation Failed."
}
}
}
Gebruik
x-ms-dynamic-listU kunt niet eenduidig verwijzen naar parameters. Deze functie komt mogelijk in de toekomst beschikbaar. Als u wilt dat uw bewerking profiteert van nieuwe updates, voegt u de nieuwe extensie
x-ms-dynamic-listtoe samen metx-ms-dynamic-values. Als uw dynamische extensie verwijst naar eigenschappen binnen parameters, moet u ook de nieuwe extensiex-ms-dynamic-listtoevoegen.x-ms-dynamic-valuesDe parameterverwijzingen die naar eigenschappen verwijzen, moeten worden uitgedrukt als padtekenreeksen.parameters— Deze eigenschap is een object waarin u elke invoereigenschap van de dynamische bewerking definieert die wordt aangeroepen met een statisch waardeveld of een dynamische verwijzing naar de eigenschap van de bronbewerking. Beide opties worden gedefinieerd in de volgende sectie.value— Dit is de letterlijke waarde die moet worden gebruikt voor de invoerparameter. In het volgende voorbeeld wordt de invoerparameter van de bewerking GetDynamicList bewerking genaamd versie gedefinieerd met behulp van de statische waarde 2.0.{ "operationId": "GetDynamicList", "parameters": { "version": { "value": "2.0" } } }parameterReference— Dit is het volledige pad naar de parameter, te beginnen met de parameternaam gevolgd door de padtekenreeks van de eigenschap waarnaar moet worden verwezen. De invoereigenschap van de bewerking GetDynamicList met de naam property1, die zich onder de parameter destinationInputParam1 bevindt, wordt bijvoorbeeld gedefinieerd als een dynamische verwijzing naar een eigenschap met de naam property1 onder de parameter sourceInputParam1 van de bronbewerking.{ "operationId": "GetDynamicList", "parameters": { "destinationInputParam1/property1": { "parameterReference": "sourceInputParam1/property1" } } }
Notitie
Als u wilt verwijzen naar een eigenschap die als intern is gemarkeerd met een standaardwaarde, gebruikt u de standaardwaarde als een statische waarde in de definitie hier, in plaats van parameterReference. De standaardwaarde uit de lijst wordt niet gebruikt als deze is gedefinieerd door using parameterReference.
| Naam | Vereist | Beschrijving |
|---|---|---|
operationId |
Ja | De bewerking die de lijst retourneert. |
parameters |
Ja | Een object dat de invoerparameters levert die zijn vereist voor het aanroepen van een bewerking met een dynamische lijst. |
itemsPath |
Nee | Een padtekenreeks waarmee een matrix van objecten in de nettolading van de respons wordt geëvalueerd. Als itemsPath niet is opgegeven, wordt het antwoord geëvalueerd als een array. |
itemTitlePath |
Nee | Een padtekenreeks in het object binnen itemsPath die verwijst naar de beschrijving van de waarde. |
itemValuePath |
Nee | Een padtekenreeks in het object binnen itemsPath die verwijst naar de waarde van het item. |
Gebruik bij x-ms-dynamic-list parameterverwijzingen met de padtekenreeks van de eigenschap waarnaar u verwijst. Gebruik deze parameterverwijzingen voor zowel de sleutel als de waarde van de parameterverwijzing voor de dynamische bewerking.
{
"summary": "Tests dynamic values with ambiguous references",
"description": "Tests dynamic values with ambiguous references.",
"operationId": "TestDynamicListWithAmbiguousReferences",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The request id.",
"required": true
},
{
"name": "requestBody",
"in": "body",
"description": "query text.",
"required": true,
"schema": {
"description": "Input body to execute the request",
"type": "object",
"properties": {
"id": {
"description": "The request id",
"type": "string"
},
"model": {
"description": "The model",
"type": "string",
"x-ms-dynamic-values": {
"operationId": "GetSupportedModels",
"value-path": "name",
"value-title": "properties/displayName",
"value-collection": "cardTypes",
"parameters": {
"requestId": {
"parameter": "id"
}
}
},
"x-ms-dynamic-list": {
"operationId": "GetSupportedModels",
"itemsPath": "cardTypes",
"itemValuePath": "name",
"itemTitlePath": "properties/displayName",
"parameters": {
"requestId": {
"parameterReference": "requestBody/id"
}
}
}
}
}
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object"
}
},
"default": {
"description": "Operation Failed."
}
}
}
x-ms-dynamic-schema
Het dynamische schema geeft aan dat het schema voor de huidige parameter of respons dynamisch is. Met dit object wordt een bewerking aangeroepen die wordt gedefinieerd door de waarde in dit veld, op dynamische wijze het schema gedetecteerd en wordt de juiste gebruikersinterface voor het verzamelen van gebruikersinvoer of de beschikbare velden weergegeven.
Van toepassing op: parameters, antwoorden
In de volgende afbeelding ziet u hoe het invoerformulier wordt gewijzigd op basis van het item dat de gebruiker selecteert in de lijst:
In de volgende afbeelding ziet u hoe de uitvoer verandert, op basis van het item dat de gebruiker selecteert in de vervolgkeuzelijst. In deze versie selecteert de gebruiker Auto's:
In deze versie selecteert de gebruiker Eten:
Procedure voor het gebruiken van het dynamisch schema
Notitie
Een padstring is een JSON-aanwijzer die geen voorafgaande slash bevat. Dit is dus een JSON-aanwijzer: /property/childProperty, en dit is een padreeks: property/childProperty.
U kunt dynamisch schema op twee manieren definiëren:
x-ms-dynamic-schema:Naam Vereist Beschrijving operationIdJa De bewerking die het schema retourneert. parametersJa Een object dat de invoerparameters levert die zijn vereist voor het aanroepen van een bewerking met dynamic-schema. value-pathNee Een padtekenreeks die verwijst naar de eigenschap met het schema. Als u deze eigenschap niet opgeeft, wordt ervan uitgegaan dat het antwoord het schema bevat in de eigenschappen van het hoofdobject. Indien gespecificeerd, moet de succesvolle respons de eigenschap bevatten. Voor een leeg of ongedefinieerd schema moet deze waarde null zijn. { "name": "dynamicListSchema", "in": "body", "description": "Dynamic schema for items in the selected list", "schema": { "type": "object", "x-ms-dynamic-schema": { "operationId": "GetListSchema", "parameters": { "listID": { "parameter": "listID-dynamic" } }, "value-path": "items" } } }
Notitie
De parameters kunnen ambigu verwijzingen bevatten. In de volgende definitie van een bewerking verwijst het dynamische schema bijvoorbeeld naar een veld met de naam query, wat niet deterministisch uit de definitie kan worden afgeleid, of er nu wordt verwezen naar het parameterobject query of naar de tekenreekseigenschap query/query.
{
"summary": "Tests dynamic schema with ambiguous references",
"description": "Tests dynamic schema with ambiguous references.",
"operationId": "TestDynamicSchemaWithAmbiguousReferences",
"parameters": [{
"name": "query",
"in": "body",
"description": "query text.",
"required": true,
"schema": {
"description": "Input body to execute the request",
"type": "object",
"properties": {
"query": {
"description": "Query Text",
"type": "string"
}
}
},
"x-ms-summary": "query text"
}],
"responses": {
"200": {
"description": "OK",
"schema": {
"x-ms-dynamic-schema": {
"operationId": "GetDynamicSchema",
"parameters": {
"query": {
"parameter": "query"
}
},
"value-path": "schema/valuePath"
}
}
},
"default": {
"description": "Operation Failed."
}
}
}
Voorbeelden van open source connectors
| Verbindingsstuk | Scenario | Koppeling |
|---|---|---|
| Ticketsysteem | Schema ophalen voor details van een geselecteerde gebeurtenis | Kaartverkoop |
x-ms-dynamic-properties:Er is geen manier om ondubbelzinnig naar parameters te verwijzen. Deze functie komt mogelijk in de toekomst beschikbaar. Als u wilt dat uw bewerking profiteert van nieuwe updates, voegt u de nieuwe extensie
x-ms-dynamic-propertiestoe samen metx-ms-dynamic-schema. Als uw dynamische extensie verwijst naar eigenschappen binnen parameters, moet u ook de nieuwe extensiex-ms-dynamic-propertiestoevoegen.x-ms-dynamic-schemaDe parameterverwijzingen die naar eigenschappen verwijzen, moeten worden uitgedrukt als padtekenreeksen.parameters— Deze eigenschap is een object waarin u elke invoereigenschap van de dynamische bewerking definieert die wordt aangeroepen met een statisch waardeveld of een dynamische verwijzing naar de eigenschap van de bronbewerking. Beide opties worden gedefinieerd in de volgende sectie.value— Dit is de letterlijke waarde die moet worden gebruikt voor de invoerparameter. In het volgende voorbeeld is de invoerparameter van de bewerking GetDynamicSchema met de naam version gedefinieerd met de statische waarde 2.0.{ "operationId": "GetDynamicSchema", "parameters": { "version": { "value": "2.0" } } }parameterReference—Dit is het volledige parameterreferentiepad, beginnend met de parameternaam gevolgd door de padtekenreeks van de eigenschap waarnaar moet worden verwezen. De invoereigenschap van de bewerking GetDynamicSchema genaamd property1 , die zich onder de parameter destinationInputParam1 bevindt, wordt bijvoorbeeld gedefinieerd als een dynamische verwijzing naar een eigenschap met de naam property1 onder parameter sourceInputParam1 van de bronbewerking.{ "operationId": "GetDynamicSchema", "parameters": { "destinationInputParam1/property1": { "parameterReference": "sourceInputParam1/property1" } } }
Notitie
Als u wilt verwijzen naar een eigenschap die als intern is gemarkeerd met een standaardwaarde, gebruikt u de standaardwaarde als een statische waarde in de definitie hier, in plaats van
parameterReference. De standaardwaarde uit het schema wordt niet gebruikt als deze is gedefinieerd metparameterReference.Naam Vereist Beschrijving operationIdJa De bewerking die het schema retourneert. parametersJa Een object dat de invoerparameters levert die zijn vereist voor het aanroepen van een bewerking met dynamic-schema. itemValuePathNee Een padtekenreeks die verwijst naar de eigenschap met het schema. Als dit niet is opgegeven, wordt ervan uitgegaan dat het antwoord het schema in het hoofdobject bevat. Indien gespecificeerd, moet de succesvolle respons de eigenschap bevatten. Voor een leeg of ongedefinieerd schema moet deze waarde null zijn. Met behulp van
x-ms-dynamic-propertieskunt u parameterverwijzingen gebruiken met de padstring van de eigenschap waarnaar wordt verwezen, zowel voor de sleutel als de waarde van de referentie van de dynamische operatieparameter.{ "summary": "Tests dynamic schema with ambiguous references", "description": "Tests dynamic schema with ambiguous references.", "operationId": "TestDynamicSchemaWithAmbiguousReferences", "parameters": [{ "name": "query", "in": "body", "description": "query text.", "required": true, "schema": { "description": "Input body to execute the request", "type": "object", "properties": { "query": { "description": "Query Text", "type": "string" } } }, "x-ms-summary": "query text" }], "responses": { "200": { "description": "OK", "schema": { "x-ms-dynamic-schema": { "operationId": "GetDynamicSchema", "parameters": { "version": "2.0", "query": { "parameter": "query" } }, "value-path": "schema/valuePath" }, "x-ms-dynamic-properties": { "operationId": "GetDynamicSchema", "parameters": { "version": { "value": "2.0" }, "query/query": { "parameterReference": "query/query" } }, "itemValuePath": "schema/valuePath" } } }, "default": { "description": "Operation Failed." } } }
Volgende stap
Een aangepaste connector maken op basis van een definitie OpenAPI
Gerelateerde informatie
Overzicht van aangepaste connectoren
Feedback geven
We stellen feedback over problemen met ons connectorplatform of ideeën voor nieuwe functies zeer op prijs. Om feedback te geven, gaat u naar Problemen melden of hulp krijgen met connectoren en selecteer uw feedbacktype.