Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Copilot Studio, Azure Logic Apps, Microsoft Power Automate veya Microsoft Power Apps için özel bağlayıcılar oluşturmanın bir yolu bir OpenAPI tanım dosyası sağlamaktır. OpenAPI tanım dosyası, API'nizin işlemlerini ve parametrelerini açıklayan dilden bağımsız, makine tarafından okunabilir bir belgedir. OpenAPI'nin kullanıma hazır işlevselliğinin yanı sıra, Copilot Studio, Logic Apps ve Power Automate için özel bağlayıcılar oluştururken aşağıdaki OpenAPI uzantılarını da ekleyebilirsiniz:
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
Aşağıdaki bölümler bu uzantıları açıklar.
Özet
Eylem (işlem) için başlığı belirtir.
Uygulanabilirlik: İşlemler
Önerilen: summary için cümle düzenini kullanın.
Örnek: "Takvime bir olay eklendiğinde" veya "E-posta gönder"
"actions" {
"Send_an_email": {
/// Other action properties here...
"summary": "Send an email",
/// Other action properties here...
}
},
x-ms-summary
Bir varlığın başlığını belirtir.
Şunlar için geçerlidir: Parametreler, yanıt şeması
Önerilen: x-ms-summary için başlık büyük/küçük harf kullanımı.
Örnek: Takvim Kimliği, Konu, Olay Açıklaması
"actions" {
"Send_an_email": {
/// Other action properties here...
"parameters": [{
/// Other parameters here...
"x-ms-summary": "Subject",
/// Other parameters here...
}]
}
},
açıklama
İşlemin işlevselliği veya bir varlığın biçimi ve işlevi hakkında ayrıntılı bir açıklama sağlar.
Şunlara uygulanır: İşlemler, parametreler, yanıt şeması
Önerilen: description için cümle yapısını kullanın.
Örnek: "Takvime yeni bir olay eklendiğinde bu işlem tetikleniyor", "Postanın konusunu belirtin."
"actions" {
"Send_an_email": {
"description": "Specify the subject of the mail",
/// Other action properties here...
}
},
x-ms-visibility
Varlığın kullanıcıya sunulacak görünürlüğünü belirtir.
Olası değerler: important, advanced ve internal
Şunlara uygulanır: İşlemler, parametreler, şemalar
- Kullanıcı her zaman önce işlemleri ve parametreleri görür
important. - Kullanıcı yalnızca ek menü kullandığında işlemleri ve parametreleri görür
advanced. - Kullanıcı işlemleri ve parametreleri görmez
internal.
Not
internal ve required olan parametreler için, varsayılan değerini sağlamanız gerekir.
Örnek: Daha fazlasını göster ve Gelişmiş seçenekleri göster menüleri işlemleri ve parametreleri gizler advanced .
"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
Bir işlemin sürüm oluşturma ve yaşam döngüsü yönetimi için kullanın.
Uygulandığı öğe: İşlemler
-
family—İşlem ailesi klasörünü belirten bir dize. -
revision—Düzeltme numarasını belirten bir tamsayı. -
replacement—Değiştirme API’si bilgilerini ve işlemlerini içeren bir nesne.
"x-ms-api-annotation": {
"family": "ListFolder",
"revision": 1,
"replacement": {
"api": "SftpWithSsh",
"operationId": "ListFolder"
}
}
x-ms-operation-context
Tetikleyiciye bağımlı bir akışı test edebilmeniz için tetikleyici tetikleme simülasyonu yapmak için bu özelliği kullanın.
Uygulandığı öğe: İşlemler
"x-ms-operation-context": {
"simulate": {
"operationId": "GetItems_V2",
"parameters": {
"$top": 1
}
}
x-ms-capabilities
Bu özelliği bağlayıcı düzeyinde kullandığınızda, belirli işlemler de dahil olmak üzere bağlayıcının sunduğu özelliklere genel bir bakış sağlar.
Şuna uygulanır: Bağlayıcılar
"x-ms-capabilities": {
"testConnection": {
"operationId": "GetCurrentUser"
},
}
İşlem düzeyinde bu özelliği kullandığınızda, işlemin öbek yükleme ve statik öbek boyutunu desteklediğini ve kullanıcının sağlayabileceğiniz statik öbek boyutunu desteklediğini tanımlar.
Uygulandığı öğe: İşlemler
-
chunkTransfer—Öbek aktarımının desteklenip desteklenmediğini gösteren Boole değeri.
"x-ms-capabilities": {
"chunkTransfer": true
}
x-ms-trigger
Geçerli işlemin tek bir olay üreten bir tetikleyici olup olmadığını gösterir. Bu alan yoksa, işlem bir actionolur.
Uygulandığı öğe: İşlemler
-
single—Nesne yanıtı -
batch—Dizi yanıtı
"x-ms-trigger": "batch"
x-ms-trigger-hint
Bir tetikleme işlemi için bir olayın nasıl tetikleneceğini açıklar.
Uygulandığı öğe: İşlemler
"x-ms-trigger-hint": "To see it work, add a task in Outlook."
x-ms-notification-content
Web kancası bildirim isteğinin şema tanımını içerir. Bu şema, dış hizmetlerin bildirim URL'sine gönderebilecekleri web kancası yükünü tanımlar.
Şunlar için geçerlidir: Kaynaklar
"x-ms-notification-content": {
"schema": {
"$ref": "#/definitions/WebhookPayload"
}
},
x-ms-notification-url
Web kancası kayıt işlemi için bu parametreye veya alana web kancası bildirim URL'si eklenip eklenmeyeceğini belirtmek için Boole değeri kullanın.
Şunlar için geçerlidir: Parametreler ve giriş alanları
"x-ms-notification-url": true
x-ms-url-encoding
Geçerli yol parametresinin çift URL kodlaması mı () yoksa tek URL kodlaması mıdouble (single) kullanması gerektiğini belirtin. Bu alan eksikse, varsayılan olarak single kodlaması kullanılır.
Uygulandığı öğe: Yol parametreleri
"x-ms-url-encoding": "double"
x-ms-dynamic-values
Dinamik değerler, kullanıcıya bir operasyonun giriş parametrelerini seçme seçeneklerinin bir listesidir.
Uygulandığı alan: Parametreler
Dinamik değerleri kullanma
Not
Yol dizesi, baştaki eğik çizgiyi içermeyen bir JSON işaretçisidir. Bu nedenle, bu bir JSON işaretçisi: /property/childPropertyve bu bir yol dizesidir: Property/childproperty.
Dinamik değerleri iki şekilde tanımlayabilirsiniz:
x-ms-dynamic-valueskomutunu kullanmaAd Gerekli Açıklama operationIdEvet Değerleri döndüren işlem. parametersEvet Bir dynamic-values işlemini çağırmak için gereken giriş parametrelerini belirten nesne. value-collectionHayır Yanıt yükünde nesne dizisini değerlendiren yol dizesi. Value-collection belirtilmediyse, yanıt bir dizi olarak değerlendirilir. value-titleHayır Değer koleksiyonu içindeki nesnede, değerin açıklamasına atıfta bulunan bir yol dizesi. value-pathHayır Value-collection içinde parametre değerine başvuran nesnenin yol dizesi. "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>" } } }
Not
Dinamik değerlerin kullanılması belirsiz parametre başvurularına yol açabilir. Örneğin, bir işlemin aşağıdaki tanımında dinamik değerler ID alanına başvurur. Tanım, başvurunun parametre kimliğine mi yoksa requestBody/id özelliğine mi olduğunu açıkça belirtmez.
{
"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."
}
}
}
x-ms-dynamic-listkomutunu kullanmaParametrelere açıkça başvuramazsınız. Bu özellik gelecekte sağlanıyor olabilir. İşleminizin yeni güncelleştirmelerden faydalanmasını istiyorsanız
x-ms-dynamic-listile birlikte yenix-ms-dynamic-valuesuzantısını ekleyin. Ayrıca, dinamik uzantınız parametreler içindeki özelliklere başvuruyorsa, yeni uzantıyıx-ms-dynamic-listilex-ms-dynamic-valuesbirlikte eklemeniz gerekir. Özelliklere işaret eden parametre başvuruları yol dizeleri olarak ifade edilmesi gerekir.parameters—Bu özellik, çağrılan dinamik işlemin her giriş özelliğini statik değer alanıyla veya kaynak işlemin özelliğine yönelik dinamik başvuruyla tanımladığınız bir nesnedir. Bu seçeneklerin her ikisi de aşağıdaki bölümde tanımlanmıştır.value—Bu, giriş parametresi için kullanılacak değişmez değerdir. Aşağıdaki örnekte, version adındaki GetDynamicList işleminin giriş parametresi, 2.0 statik değeriyle tanımlanmıştır.{ "operationId": "GetDynamicList", "parameters": { "version": { "value": "2.0" } } }parameterReference—Bu, parametre adı ve ardından başvurulacak özelliğin yol dizesiyle başlayan tam parametre başvuru yoludur. Örneğin, destinationInputParam1 parametresinin altındaki Property1 adlı getdynamiclist öğesinin giriş özelliği, kaynak işlemin sourceInputParam1 altında Property1 adlı bir özelliğe dinamik başvuru olarak tanımlanır.{ "operationId": "GetDynamicList", "parameters": { "destinationInputParam1/property1": { "parameterReference": "sourceInputParam1/property1" } } }
Not
Varsayılan değerle dahili olarak işaretlenmiş herhangi bir özelliğe başvurmak için, varsayılan değeri buradaki parameterReferencetanımda yerine statik değer olarak kullanın.
parameterReference kullanılarak tanımlanırsa listedeki varsayılan değer kullanılmaz.
| Ad | Gerekli | Açıklama |
|---|---|---|
operationId |
Evet | Listeyi döndüren işlem. |
parameters |
Evet | Bir dinamik liste işlemini çağırmak için gereken giriş parametrelerini belirten nesne. |
itemsPath |
Hayır | Yanıt yükünde nesne dizisini değerlendiren yol dizesi.
itemsPath verilmezse yanıt bir dizi olarak değerlendirilir. |
itemTitlePath |
Hayır |
itemsPath içindeki nesnede, değerin açıklamasına başvuran bir yol dizesi. |
itemValuePath |
Hayır | Öğenin değerine başvuran itemsPath içindeki nesnede yer alan yol dizesi. |
x-ms-dynamic-list ile başvurduğunuz bir özelliğin yol dizesini kullanarak parametre referansları oluşturun. Bu parametre başvurularını hem anahtar hem de dinamik işlem parametresi başvurusunun değeri için kullanın.
{
"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
Geçerli parametre veya yanıt için şemanın dinamik olduğunu belirten dinamik şema. Bu nesne bu alanın değeri tarafından tanımlanan, şemayı dinamik olarak keşfeden ve kullanıcı girişlerini toplamak veya kullanılabilir alanları göstermek için uygun kullanıcı arabirimini gösteren bir işlemi çağırabilir.
Şunlara uygulanır: Parametreler, yanıtlar
Aşağıdaki görüntüde, kullanıcının listeden seçtiği öğeye göre giriş formunun nasıl değiştiği gösterilmektedir:
Aşağıdaki görüntüde, kullanıcının açılan listeden seçtiği öğeye göre çıkışların nasıl değiştiği gösterilmektedir. Bu sürümde, kullanıcı Otomobiller öğesini seçer:
Bu sürümde, kullanıcı Yemek öğesini seçer:
Dinamik şemayı kullanma
Not
Yol dizesi, baştaki eğik çizgiyi içermeyen bir JSON işaretçisidir. Bu nedenle, bu bir JSON işaretçisi: /property/childPropertyve bu bir yol dizesidir: Property/childproperty.
Dinamik şemayı iki şekilde tanımlayabilirsiniz:
x-ms-dynamic-schema:Ad Gerekli Açıklama operationIdEvet Şemayı döndüren işlem. parametersEvet Bir dinamik şema işlemini çağırmak için gereken giriş parametrelerini belirten nesne. value-pathHayır Şemayı içeren özelliğe başvuran yol dizesi. Bu özelliği belirtmezseniz, yanıtın kök nesnenin özelliklerinde şemayı içerdiği varsayılır. Belirtilmişse başarılı yanıt, özelliği içermelidir. Boş veya tanımlanmamış bir şema için değeri null olmalıdır. { "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" } } }
Not
Parametreler belirsiz başvurular içerebilir. Örneğin, aşağıdaki işlem tanımında dinamik şema query adında bir alana başvurur. Ancak, parametre nesnesi olan query öğesine mi yoksa query/query dize özelliğine mi başvurduğu tanıma bakarak belirleyici şekilde anlaşılamaz.
{
"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."
}
}
}
açık kaynak bağlayıcılarından örnekler
| Bağlayıcı | Senaryo | Bağlantı |
|---|---|---|
| Bilet yönetimi | Seçili etkinliğin ayrıntıları için şema Al | Biletleme |
x-ms-dynamic-properties:Parametrelere açık ve net bir şekilde başvurmanın bir yolu yoktur. Bu özellik gelecekte sağlanıyor olabilir. İşleminizin yeni güncelleştirmelerden faydalanmasını istiyorsanız
x-ms-dynamic-propertiesile birlikte yenix-ms-dynamic-schemauzantısını ekleyin. Ayrıca, dinamik uzantınız parametreler içindeki özelliklere başvuruyorsa, yeni uzantıyıx-ms-dynamic-propertiesilex-ms-dynamic-schemabirlikte eklemeniz gerekir. Özelliklere işaret eden parametre başvuruları yol dizeleri olarak ifade edilmesi gerekir.parameters—Bu özellik, çağrılan dinamik işlemin her giriş özelliğini statik değer alanıyla veya kaynak işlemin özelliğine yönelik dinamik başvuruyla tanımladığınız bir nesnedir. Bu seçeneklerin her ikisi de aşağıdaki bölümde tanımlanmıştır.value—Bu, giriş parametresi için kullanılacak değişmez değerdir. Aşağıdaki örnekte, version adındaki GetDynamicSchema işleminin giriş parametresi, 2.0 statik değeriyle tanımlanmıştır.{ "operationId": "GetDynamicSchema", "parameters": { "version": { "value": "2.0" } } }parameterReference—Bu, parametre adından başlayan, başvurulacak özelliğin yol dizesinin takip ettiği tam parametre başvuru adıdır. Örneğin, destinationInputParam1 parametresinin altındaki Property1 adlı GetDynamicSchema öğesinin giriş özelliği, kaynak işlemin sourceInputParam1 altında Property1 adlı bir özelliğe dinamik başvuru olarak tanımlanır.{ "operationId": "GetDynamicSchema", "parameters": { "destinationInputParam1/property1": { "parameterReference": "sourceInputParam1/property1" } } }
Not
Varsayılan değerle dahili olarak işaretlenmiş herhangi bir özelliğe başvurmak için, varsayılan değeri buradaki
parameterReferencetanımda yerine statik değer olarak kullanın.parameterReferencekullanılarak tanımlanırsa şemadaki varsayılan değer kullanılmaz.Ad Gerekli Açıklama operationIdEvet Şemayı döndüren işlem. parametersEvet Bir dinamik şema işlemini çağırmak için gereken giriş parametrelerini belirten nesne. itemValuePathHayır Şemayı içeren özelliğe başvuran yol dizesi. Belirtilmezse, yanıtın kök nesnesinin şemayı içerdiği varsayılır. Belirtilmişse başarılı yanıt, özelliği içermelidir. Boş veya tanımlanmamış bir şema için değeri null olmalıdır. x-ms-dynamic-propertieskullanarak parametre başvurularını dinamik işlem parametresi başvurusunun hem anahtar hem de değeri için başvurulacak özelliğin yol dizesi ile kullanabilirsiniz.{ "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." } } }
Sonraki adım
Bir OpenAPI tanımından özel bağlayıcı oluşturma
İlgili bilgiler
Özel bağlayıcılara genel bakış
Geri bildirimde bulunun
Bağlayıcı platformumuzla veya yeni özellik fikirlerimizle ilgili sorunlar hakkındaki geri bildirimleriniz bizim için çok önemlidir. Geri bildirimde bulunmak için Sorun gönderme veya bağlayıcılarla ilgili yardım alma bölümüne gidip geri bildirim türünü seçin.