Préparer et soumettre votre connecteur Power Platform et fichiers plug-in pour certification
Ce processus est pour les éditeurs vérifiés et éditeurs indépendants.
Après avoir terminé le développement de votre connecteur et/ou plug-in personnalisé, suivez ces étapes pour le préparer à la certification et générer les fichiers de connecteur et/ou plug-in à envoyer à Microsoft.
Notes
Cet article offre des informations pour la certification des connecteurs personnalisés dans Azure Logic Apps, Power Automate et Power Apps et plug-in dans Copilot. Avant de suivre les étapes de cet article, lisez Faites certifier votre connecteur et/ou plug-in.
Étape 1 : Enregistrez votre connecteur et/ou plugin (applicable uniquement pour les éditeurs indépendants)
Cette section ne s’applique pas aux éditeurs vérifiés..
Vous n’avez pas besoin d’avoir terminé le développement de votre connecteur et/ou plug-in personnalisé pour demander la certification. Pour commencer le processus de certification, enregistrez votre connecteur et/ou plug-in pour la certification en remplissant notre formulaire d’inscription.
Attendez-vous à recevoir un e-mail dans les deux jours ouvrables d’un contact Microsoft, qui :
- Comprend votre connecteur personnalisé, votre connecteur et/ou votre plugin.
- En saura plus sur la progression de votre développement.
- Vous envoie un courrier électronique sur le processus de certification.
Étape 2 : Répondre aux contraintes de la soumission pour les connecteurs
Pour maintenir un niveau élevé de qualité et de cohérence entre nos connecteurs certifiés, Microsoft dispose d’un ensemble d’exigences et de directives que votre connecteur personnalisé doit respecter pour la certification.
Donner un titre à votre connecteur
Le titre doit respecter les obligations suivantes.
- Doit exister et être écrit en anglais.
- Doit être unique et se distinguer de tout titre de connecteur et/ou plug-in existant.
- Doit être le nom de votre produit ou organisation.
- Doit suivre les modèles de dénomination existants pour les connecteurs et/ou plug-in certifiés. Pour les éditeurs indépendants, le nom du connecteur doit suivre le modèle,
Connector and/or plugin Name (Independent Publisher)
. - Ne peut pas compter plus de 30 caractères.
- Ne peut pas contenir les mots API, Connecteur, ni aucun de nos noms de produits Power Platform (par exemple, Power Apps).
- Ne peut pas se terminer par un caractère non alphanumérique, y compris un retour chariot, une nouvelle ligne ou un espace vide.
Exemples
- Bons titres de connecteurs et/ou plugins :
Azure Sentinel*, *Office 365 Outlook
- Mauvais titres de connecteurs et/ou plugins :
Azure Sentinel's Power Apps Connector
,Office 365 Outlook API
Écrire une description pour votre connecteur
La Description doit répondre aux exigences suivantes.
- Doit exister et être écrit en anglais.
- Doit être exempt de fautes de grammaire et d’orthographe.
- Doit décrire de manière concise le principal objectif et la valeur offerte par votre connecteur.
- Ne peut pas être inférieur à 30 caractères ou supérieur à 500 caractères.
- Ne peut pas contenir les noms de produit Power Platform (par exemple, 'Power Apps').
Concevez une icône pour votre connecteur (applicable uniquement pour les éditeurs vérifiés)
Cette section ne s’applique pas aux éditeurs indépendants.
- Créez un logo avec des dimensions 1:1 dans une plage de 100 x 100 à 230 × 230 pixels (pas de bords arrondis).
- Utilisez une couleur d’arrière-plan non transparente ni blanche (#ffffff) et une couleur autre que la valeur par défaut (#007ee5) qui correspond à la couleur d’arrière-plan de l’icône spécifiée.
- Assurez-vous que l’icône est unique pour toute autre icône de connecteur certifié.
- Envoyez le logo au format PNG en tant que
<icon>.png
. - Définissez les dimensions du logo en dessous de 70 % pour la hauteur et la largeur de l’image avec un arrière-plan cohérent.
- Assurez-vous que la couleur de la marque est une couleur hexadécimale valide et ne doit pas être blanche (#ffffff) ou par défaut (#007ee5).
Définir les résumés et descriptions des opérations et des paramètres
Les résumés et Descriptions doit répondre aux exigences suivantes.
- Doit exister et être écrit en anglais.
- Doit être exempt de fautes de grammaire et d’orthographe.
- Les résumés des opérations et des paramètres doivent être des phrases de 80 caractères au maximum et contenir uniquement des caractères alphanumériques ou des parenthèses.
- Les descriptions des opérations et des paramètres doivent être des phrases descriptives complètes et se terminer par une ponctuation.
- Ne peut pas contenir les noms de produit Microsoft Power Platform (par exemple, « Power Apps »).
Définir les réponses exactes de l’opération
Les réponses opération doit répondre aux exigences suivantes.
- Définissez les réponses de l’opération avec un schéma exact uniquement avec les réponses attendues.
- N’utilisez pas les réponses par défaut avec une définition de schéma exacte.
- Fournissez des définitions de schéma de réponse valides pour toutes les opérations du swagger.
- Les schémas de réponse vides ne sont pas autorisés, sauf dans des cas particuliers où le schéma de réponse est dynamique. Cela signifie qu’aucun contenu dynamique ne est affiché dans la sortie et que les créateurs doivent utiliser JSON pour analyser la réponse.
- Les opérations vides ne sont pas autorisées.
- Supprimez les propriétés vides, sauf si elles sont nécessaires.
Vérifier les propriétés de Swagger
La propriétés doit répondre aux exigences suivantes.
- Assurez-vous que "openapidefinition" se trouve dans un fichier JSON correctement formaté.
- Assurez-vous que la définition swagger est conforme à la norme OpenAPI 2.0 et à la norme étendue des connecteurs.
Vérifier les paramètres de connexion
Les paramètres doit répondre aux exigences suivantes.
Assurez-vous que la propriété est mise à jour avec les valeurs appropriées pour "UIDefinition" (nom d’affichage, description).
Si votre paramètre de connexion utilise l’authentification de base, assurez-vous que JSON est correctement formaté comme dans l’exemple suivant.
{ "username": { "type": "securestring", "uiDefinition": { "displayName": "YourUsernameLabel", "description": "The description of YourUsernameLabel for this api", "tooltip": "Provide the YourUsernameLabel tooltip text", "constraints": { "tabIndex": 2, "clearText": true, "required": "true" } } }, "password": { "type": "securestring", "uiDefinition": { "displayName": "YourPasswordLabel", "description": "The description of YourPasswordLabel for this api", "tooltip": "Provide the YourPasswordLabel tooltip text", "constraints": { "tabIndex": 3, "clearText": false, "required": "true" } } } }
Si votre paramètre de connexion utilise APIKey pour l’authentification de base, assurez-vous que JSON est correctement formaté comme dans l’exemple suivant.
{ "api_key": { "type": "securestring", "uiDefinition": { "displayName": "YourApiKeyParameterLabel", "tooltip": "Provide your YourApiKeyParameterLabel tooltip text", "constraints": { "tabIndex": 2, "clearText": false, "required": "true" } } } }
Si votre paramètre de connexion utilise OAuth générique pour l’authentification de base, assurez-vous que JSON est correctement formaté comme dans l’exemple suivant.
{ "token": { "type": "oAuthSetting", "oAuthSettings": { "identityProvider": "oauth2", "scopes": [ "scope1" ], "redirectMode": "GlobalPerConnector", "customParameters": { "AuthorizationUrl": { "value": "https://contoso.com" }, "TokenUrl": { "value": "https://contoso.com" }, "RefreshUrl": { "value": "https://contoso.com" } }, "clientId": "YourClientID" }, "uiDefinition": null } }
Si votre paramètre de connexion a un fournisseur d’identité OAuth2, assurez-vous que le fournisseur d’identité figure dans la liste des fournisseurs OAuth2 pris en charge. Voici l’exemple du fournisseur d’identité GitHub OAuth2 :
{ "token": { "type": "oAuthSetting", "oAuthSettings": { "identityProvider": "github", "scopes": [ "scope1" ], "redirectMode": "GlobalPerConnector", "customParameters": {}, "clientId": "YourClientId" }, "uiDefinition": null } }
Si votre paramètre de connexion utilise Microsoft Entra ID pour l’authentification, assurez-vous que JSON est au format correct comme dans l’exemple suivant.
{ "token": { "type": "oAuthSetting", "oAuthSettings": { "identityProvider": "aad", "scopes": [ "scope1" ], "redirectMode": "GlobalPerConnector", "customParameters": { "LoginUri": { "value": "https://login.microsoftonline.com" }, "TenantId": { "value": "common" }, "ResourceUri": { "value": "resourceUri" }, "EnableOnbehalfOfLogin": { "value": false } }, "clientId": "AzureActiveDirectoryClientId" }, "uiDefinition": null } }
Créer des chaînes en anglais de qualité
Les connecteurs sont localisés dans le cadre de la localisation Power Automate ; par conséquent, quand vous développez un connecteur, la qualité des chaînes en anglais est la clé de la qualité de la traduction. Voici quelques domaines principaux sur lesquels vous devez vous concentrer lorsque vous créez les valeurs des chaînes que vous fournissez.
Pour vous assurer que toutes les valeurs de chaîne ne contiennent pas d’erreurs typographiques, veillez à exécuter un programme de vérification orthographique. S’il existe une chaîne en anglais incomplète, le résultat de la traduction est incomplet ou incorrect dans son contexte.
Assurez-vous que la forme de la phrase est complète. Si la phrase n’est pas complète, cela peut également générer des traductions de moins bonne qualité.
Assurez-vous que le sens de la phrase est clair. Si le sens de la phrase est ambigu, cela peut également générer des traductions de qualité inférieure ou incorrectes.
Veillez à ce que les résumés, les résumés x-ms et les descriptions soient grammaticalement corrects. Ne les copiez pas et ne les collez pas. Pour savoir comment ils s’affichent dans le produit, accédez au Guide des chaînes de connecteurs.
Évitez les chaînes composites au moment de l’exécution, si possible. Utilisez plutôt des phrases entièrement formées. Les chaînes ou les phrases concaténées rendent la traduction difficile ou peuvent entraîner une mauvaise traduction.
Si vous utilisez des abréviations, assurez-vous de les écrire en majuscule pour qu’elles soient clairement identifiables. Cela réduit le risque de les confondre avec une erreur typographique.
Chaînes dans format CaMel (par exemple, minimizeHighways or MinimizeHighways) sont généralement considérées comme non traduisibles. Si vous souhaitez localiser la valeur de la chaîne, vous devez corriger la chaîne avec casse mixte.
Étape 3 : Exécuter le vérificateur de solution pour valider votre connecteur
Le contrôleur de solution est un mécanisme permettant d’effectuer une analyse statique pour garantir que votre connecteur adhère aux normes requises par Microsoft pour la certification. Ajoutez votre connecteur à une solution dans Power Automate ou Power Apps et exécutez le vérificateur de solution en suivant les instructions de Valider un connecteur personnalisé avec le vérificateur de solution.
Regardez ce Vidéo pour apprendre à exécuter le vérificateur de solutions.
Étape 4 : Ajouter des métadonnées
Vos artefacts de connecteur (fichiers) doivent contenir des métadonnées spécifiques décrivant le connecteur et son service final. Les informations fournies dans les métadonnées sont publiées dans la documentation de notre connecteur et seront accessibles au public par tous les utilisateurs. Ne donnez aucune information privée ou confidentielle et faites-nous savoir, via votre contact Microsoft, si vous rencontrez des problèmes en nous soumettant des informations. Pour savoir comment les métadonnées sont documentées, visitez l’une des pages de documentation spécifiques au connecteur sous Référence du connecteur.
Étape 4a : Propriétés de l’éditeur et de stackOwner
- « éditeur » est le nom de votre entreprise ou organisation. Indiquez le nom complet de la société (par exemple, « Contoso Corporation »). Il doit être au format alphanumérique.
- "stackOwner" désigne la société propriétaire ou l’organisation de la pile de services principale à laquelle le connecteur se connecte. Il doit être au format alphanumérique.
Serveur de publication | Description | Exemple |
---|---|---|
Vérifié | L’éditeur et le stackOwner sont les mêmes, sauf si l’ISV construit un connecteur pour le compte d’un stackOwner. | « éditeur » : « Tesla », « stackOwner » : « Tesla » |
Indépendant | Vous devez indiquer le propriétaire de la pile et le propriétaire de l’éditeur. | « éditeur » : « Nirmal Kumar », « stackOwner » : « ITGlue » |
Emplacement du fichier : openapidefinition.json
Syntaxe : Les propriétés publisher et stackOwner existent en tant que propriétés de niveau supérieur dans le fichier openapidefinition.json. Ajoutez les lignes en surbrillance suivantes, comme indiqué. Veillez à saisir le nom de la propriété et le schéma exactement comme indiqué.
Code montrant le bloc définissant l’objet contact surligné en rouge. Ce bloc doit être situé directement sous la description. Un autre bloc, x-ms-connector-metadata, est également surligné en rouge. Ce bloc doit être situé directement sous chemins : {}.
Étape 4c : Extraits d’exemple de code
Vous pouvez utiliser les extraits de code suivants pour copier et saisir vos informations. Assurez-vous d’ajouter les extraits de code aux fichiers appropriés aux emplacements appropriés, comme décrit dans la section précédente.
"publisher": "_____",
"stackOwner": "_____"
"contact": {
"name": "_____",
"url": "_____",
"email": "_____"
}
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "_____"
},
{
"propertyName": "Privacy policy",
"propertyValue": "_____"
},
{
"propertyName": "Categories",
"propertyValue": "_____;_____"
}
]
Notes
Il existe actuellement une limitation dans l’utilisation de la propriété stackOwner et de notre interface CLI Paconn. Pour en savoir plus, consultez les Limitations du fichier README.
Étape 4d : formatage du fichier JSON et limitations
Assurez-vous que vos propriétés sont correctement alignées.
Collez votre JSON dans Visual Studio Code. N’hésitez pas à utiliser des extensions telles que des correcteurs orthographiques et des plugins tels que les plugins JSON.
Les fichiers Swagger ne doivent pas dépasser 1 Mo.
- Considérez la conception de votre connecteur avant de commencer à le construire. Évaluez si le connecteur doit être décomposé en deux (2) connecteurs ou plus.
- Des fichiers swagger plus volumineux peuvent entraîner un retard lors de l’utilisation du connecteur.
Par exemple, il existe trois (3) connecteurs HubSpot différents sur la plateforme.
Étape 5 : Répondre aux contraintes de la soumission pour les plug-in
Cette section s’applique si vous soumettez également le plugin de connecteur associé pour certification.
- Assurez-vous que vous avez créé le plugin conformément aux directives de Créez des plugins IA pour Microsoft Copilot (Aperçu).
- Tous les plugins IA soumis doivent être conformes aux normes mises en évidence dans 100.10 Contenu inapproprié.
- Tous les plugins IA suivent les directives IA responsable.
- Le plugin ne doit pas générer, contenir ou donner accès à du contenu inapproprié, nuisible ou offensant généré par l’intelligence artificielle (IA), conformément aux politiques existantes du marché commercial décrites dans 100.10 Contenu inapproprié.
Étape 6 : Préparer les artefacts du connecteur et/ou du plugin
Notes
- Assurez-vous d’avoir suivi les spécifications et d’avoir assuré la qualité de votre connecteur et/ou plugin avant la certification. Dans le cas contraire, la certification sera retardée, car des modifications vous seront demandées.
- Fournissez une version de production de l’URL de l’hôte. Les URL d’hôte de mise en lot, de développement et de test ne sont pas autorisées.
Vous soumettez à Microsoft un ensemble de fichiers, qui est une génération de solution à partir du portail du créateur ou Microsoft Copilot Studio. Pour empaqueter vos fichiers, suivre suivez les étapes de cette section.
Guide package votre connecteur et votre plugin
Les procédures de cette section vous guident à travers différents scénarios d’empaquetage. Si vous souhaitez empaqueter uniquement un connecteur personnalisé, utilisez le premier scénario. Si vous souhaitez regrouper à la fois un connecteur personnalisé et des plugins, utilisez le deuxième scénario. Si vous souhaitez empaqueter un connecteur et des plugins existants, utilisez le dernier scénario. ·
- Package votre connecteur et soumettre pour certification
- Package votre connecteur et plug-in et soumettre pour certification
- Package votre connecteur et plug-in certifié existant et soumettre pour certification
Package votre connecteur et soumettre pour certification
Exécutez le vérificateur de solution sur votre solution de connecteur à l’étape 1.
Exportez la solution de connecteur.
Créez un flux (test) à l’aide du connecteur personnalisé nouvellement créé et ajoutez le flux à une solution.
Exporter la solution de flux.
Créez un package avec les solutions des étapes 3 et 5.
Créez le package final sous forme de fichier zip, au format suivant :
Notes
The names of the folder and files outside the solution are only for reference—you can choose as per your requirements. However, don't manipulate the files inside the solution.
- Chargez le package sur un blob de stockage et générez une URL SAS. Assurez-vous que votre URI SAS est valide pendant au moins 15 jours.
- Envoyer votre package sur l’Espace partenaires.
Package votre connecteur et plug-in et soumettre pour certification
Suivez les étapes 1 à 5 dans Emballez votre connecteur personnalisé et soumettez-le pour certification dans cet article.
Créez un plugin dans le Microsoft Copilot Studio portail et exportez-le en tant que solution.
Créez un package à partir des éléments suivants :
- Exécutez le vérificateur de solution (étape 2 dans Emballez votre connecteur personnalisé et soumettez-le pour certification).
- Exportez la solution flux (étape 5 dans Emballez votre connecteur personnalisé et soumettez-le pour certification).
- Créez un plugin dans Microsoft Copilot Studio et exportez-le en tant que solution (étape 2 de cette procédure).
Créez le package final sous forme de fichier zip, au format suivant.
Notes
The names of the folder and files outside the solution are only for reference—you can choose as per your requirements. However, don't manipulate the files inside the solution.
- Chargez le package sur un blob de stockage et générez une URL SAS. Assurez-vous que votre URI SAS est valide pendant au moins 15 jours.
- Envoyer votre package sur l’Espace partenaires.
Package votre connecteur et plug-in certifié existant et soumettre pour certification
Créez une solution dans Power Automate et ajoutez-y le connecteur déjà certifié.
Suivez les étapes 2 à 4 dans Emballez votre connecteur personnalisé et soumettez-le pour certification dans cet article.
Créez un plugin dans Copilot Studio et exportez-le en tant que solution.
Exportez le plug-in comme solution.
Créez un package à partir des éléments suivants :
- Exécutez le vérificateur de solution sur votre solution de connecteur (étape 2 dans Emballez votre connecteur personnalisé et soumettez-le pour certification dans cet article).
- Créez un plugin dans Copilot Studio et exportez-le en tant que solution (étape 3 de cette procédure).
- Créez un plugin dans Copilot Studio et exportez-le en tant que solution (étape 4 de cette procédure).
Créez le package final sous forme de fichier zip, au format suivant.
Notes
The names of the folder and files outside the solution are only for reference—you can choose as per your requirements. However, don't manipulate the files inside the solution.
- Chargez le package sur un blob de stockage et générez une URL SAS. Assurez-vous que votre URI SAS est valide pendant au moins 15 jours.
- Envoyer votre package sur l’Espace partenaires.
Les éditeurs vérifiés et les éditeurs indépendants téléchargent leurs artefacts. openapidefinition.json
Vous aurez besoin de définir l’IconBrandColor dans ce fichier.
- Éditeurs vérifiés : définissez iconBrandColor sur la couleur de votre marque dans le fichier openapidefinition.
- Éditeurs indépendants : définissez iconBrandColor sur « #da3b01" dans le fichier openapidefinition.
Créez un artefact intro.md
Un fichier intro.md est nécessaire à la fois pour les éditeurs indépendants et les éditeurs vérifiés. Vous devez créer un fichier intro.md pour documenter les caractéristiques et les fonctionnalités de votre connecteur. Pour obtenir un exemple de documentation à inclure, consultez Exemple de fichier Readme.md. Pour en savoir plus sur l’écriture d’un fichier intro.md, consultez d’autres fichiers intro.md (ou fichiers Readme.md) dans notre référentiel GitHub.
Si vous êtes un éditeur indépendant et que votre connecteur utilise OAuth, assurez-vous d’inclure des instructions sur la façon d’obtenir des informations d’identification.
Conseil
Problèmes connus et limites est une excellente section à maintenir pour garder vos utilisateurs à jour.
étape 7 : Valider le package pour la structure
Le script de validation du package valide la structure du package et vous aide à générer le package dans un format acceptable pour la certification. Téléchargez le script de validation du package avec ce lien : ConnectorPackageValidator.ps1.
Pour exécuter le script, suivre ces étapes :
Ouvrez Windows PowerShell en mode administrateur.
Modifiez l’emplacement du lecteur en saisissant
cd /
.L’exemple suivant utilise
C:\
.Accédez au chemin où vous avez téléchargé le script de validation du package.
Par exemple, si le chemin est
C:\Users\user01\Downloads
, vous entrezcd .\Users\user01\Downloads\
.Définissez la politique d’exécution sur non restreinte en entrant la commande suivante :
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Cette commande permet à PowerShell d’être exécuté sans aucune restriction.
Confirmez votre saisie en entrant Y, ce qui signifie Oui.
Exécutez le ConnectorPackageValidator.ps1 avec les étapes suivantes :
- Entrez le chemin du fichier zip qui contient le package du connecteur.
- Spécifiez si le plug-in d’IA est activé ou non.
Comme indiqué dans l’exemple suivant, le premier argument est un chemin d’accès au fichier zip valide qui contient le package. Le deuxième argument sert
yes
/y
à indiquer que le plug-in d’IA est activé, ouno
/n
à indiquer qu’il est désactivé.Si la structure du package est correcte, le message de réussite suivant s’affiche :
S’il y a un problème avec la structure du package, le script fournit des détails sur le problème en détectant et en mettant en évidence les défauts dans la structure du package.
Étape 8 : Soumettre votre connecteur et/ou plug-in pour certification
Pendant le processus de soumission, votre connecteur est et/ou plug-in en mode open source avec notre référentiel de connecteurs Microsoft Power Platform.
(Pour les éditeurs indépendants) Pour soumettre le package à Microsoft pour certification, suivez les instructions du Processus de certification des éditeurs indépendants.
(Pour les éditeurs vérifiés) Pour soumettre le package à Microsoft pour certification dans Espace partenaires, suivez les instructions du Processus de certification des éditeurs vérifiés.
Si vous êtes un éditeur vérifié, vous devez soumettre un fichier script.csx si vous utilisez un code personnalisé.
Si votre connecteur dispose d’OAuth, fournissez l’ID client et le secret dans le Espace partenaires. Obtenez également le nom de l’API à partir de votre demande de soumission du connecteur pour mettre à jour votre application.
Dans le cadre de la soumission, Microsoft certifie et/ou connecte votre connecteur. Si vous devez résoudre les erreurs de swagger, consultez Corriger les erreurs de Swagger Validator.
Liste de vérification avant soumission
Avant de passer à Soumettre votre connecteur pour certification par Microsoft, veillez à :
Votre connecteur et/ou plug-in satisfont à toutes les normes définies à l’ Étape 2 : Satisfaire aux exigences de soumission pour les connecteurs, Étape 5 : Répondre aux exigences de soumission pour les plug-ins et Étape 4 : Ajouter des métadonnées.
ce qu’aucune opération ne manque de synthèse, de description ou d’informations de visibilité ;
Vous avez testé votre connecteur et/ou plug-in personnalisé pour vous assurer que les opérations fonctionnent comme prévu (au moins 10 appels réussis par opération).
ce qu’aucune erreur d’exécution ou de validation de schéma n’apparaît dans la section Test de l’assistant de connecteur personnalisé.
Conseil
- Créez des vidéos YouTube, des blogs ou d’autres contenus pour partager des exemples ou des captures d’écran sur la façon de démarrer avec le connecteur et/ou plug-in.
- Inclure les liens dans le fichier intro.md afin que nous puissions l’ajouter à nos documents.
- Ajoutez des info-bulles à votre fichier swagger pour aider vos utilisateurs à mieux réussir.