Процесс сертификации проверенных издателей

Этот процесс предназначен для проверенных издателей (за исключением независимых издателей). Если вы независимый издатель, перейдите в Процесс сертификации для независимых издателей.

Когда завершите разработку пользовательского соединителя, выполните приведенные ниже шаги, чтобы подготовить его к сертификации и создать файлы соединителей для отправки в корпорацию Майкрософт.

Примечание

Эта тема предоставляет информацию для сертификации пользовательских соединителей в Azure Logic Apps, Power Automate и Power Apps. Перед следованием шагам в этой статье, прочтите Сертификация соединителя и зарегистрируйте ваш настраиваемый соединитель в Microsoft.

Базовый рабочий процесс процесса сертификации

На следующей блок-схеме показан основной рабочий процесс процесса сертификации. Пронумерованные шаги в этой статье соответствуют рабочему процессу. Они должны предоставить сведения, необходимые для завершения процесса сертификации.

Чтобы просмотреть блок-схему в развернутом виде, щелкните значок увеличительного стекла в правом нижнем углу.

Базовый рабочий процесс процесса сертификации.

Чтобы получить более подробное представление об этой блок-схеме, перейдите в Подробный рабочий процесс сертификации соединителей.

Шаг 1. Регистрация настраиваемого соединителя

Чтобы подать заявку на сертификацию, не обязательно завершать разработку пользовательского соединителя. Чтобы начать процесс сертификации, зарегистрируйте свой соединитель для сертификации, заполнив нашу форму регистрации.

Ожидайте электронного письма в течение двух рабочих дней от контактного лица Microsoft, который:

  • Поймет настраиваемый соединитель.
  • Узнает о вашем прогрессе разработки.
  • Направит вас через процесс сертификации.

Шаг 2. Выполните требования к отправке

Чтобы поддерживать высокий стандарт качества и согласованности среди наших сертифицированных соединителей, у Microsoft есть ряд требований и рекомендаций, которых должен придерживаться ваш пользовательский соединитель для сертификации.

Дайте название соединителю

  • Должен существовать и быть написан на английском языке.
  • Должен быть уникальным и отличимым от любого существующего заголовка соединителя.
  • Должно быть названием вашего продукта или организации.
  • Должен следовать существующим шаблонам именования для сертифицированных соединителей. Для независимых издателей имя соединителя должен соответствовать шаблону Имя соединителя (независимый издатель).
  • Длина имени не может превышать 30 символов.
  • Не может содержать слов «API», «Connector» или любого из наших названий продуктов Power Platform (например, "Power Apps").
  • Не может заканчиваться не буквенно-цифровым символом, включая возврат строки, новую строку или пробел.

Примеры

  • Хорошие названия соединителей: "Azure Sentinel", "Office 365 Outlook"
  • Плохие заголовки соединителей: "Соединитель Power Apps Azure Sentinel", "Office 365 Outlook API"

Напишите описание своего соединителя

  • Должен существовать и быть написан на английском языке.
  • Не должно содержать грамматические и орфографические ошибки.
  • Должен кратко описывать основное назначение и ценность вашего соединителя.
  • Не может быть короче 30 или длиннее 500 символов.
  • Не может содержать названия продуктов Power Platform (например, "Power Apps").

Разработайте значок для своего соединителя

Этот раздел не относится к независимым издателям.

  • Создайте логотип размером 1:1 в диапазоне от 100 x 100 до 230 x 230 пикселей (без закругленных краев).
  • Должен содержать непрозрачный фон не белого цвета (#ffffff), отличный от цвета по умолчанию (#007ee5), который соответствует указанному вами цвету фона значка.
  • Должен быть уникальным для любого другого значка сертифицированного соединителя.
  • Должен быть отправлен в формате "icon.png".
  • Размеры логотипа не должны превышать 70 % по высоте и ширине изображения, фон должен быть однородным.
  • Убедитесь, что фирменный цвет является допустимым шестнадцатеричным цветом. Он не должен быть белым (#ffffff) или цветом по умолчанию (#007ee5).

Определение сводок и описаний операций и параметров

  • Должен существовать и быть написан на английском языке.
  • Не должно содержать грамматические и орфографические ошибки.
  • Сводки операций и параметров должны быть фразами длиной 80 символов или короче и содержать только буквенно-цифровые символы или круглые скобки.
  • Описания операций и параметров должны быть полными, описательными предложениями и заканчиваться знаками препинания.
  • Не может содержать названия продуктов Microsoft Power Platform (например, "Power Apps").

Определите точные отклики на операции

  • Определяйте отклики на операции с точной схемой только с ожидаемыми откликами.
  • Не используйте ответы по умолчанию с точным определением схемы.
  • Предоставьте допустимые определения схемы ответа для всех операций в Swagger.
  • Пустые схемы ответа не допускаются, за исключением особых случаев, когда схема ответа является динамической. Это означает, что в выходных данных не отображается динамический контент, и разработчики должны использовать JSON для анализа ответа.
  • Пустые операции не допускаются.
  • Удалите пустые свойства, если они не требуются.

Проверка свойств Swagger

  • Убедитесь, что «openapidefinition» находится в файле JSON правильного формата.
  • Убедитесь, что определение Swagger соответствует стандарту OpenAPI 2.0 и расширенному стандарту соединителей.

Проверка параметров подключения

  • Убедитесь, что свойство обновлено соответствующими значениями для «UIDefinition» (отображаемое имя, описание).

  • Если в параметре подключения используется обычная проверка подлинности, убедитесь, что JSON имеет правильный формат, как показано в следующем примере.

    {
      "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"
          }
        }
      }
    }
    
  • Если в параметре подключения используется APIKey для проверки подлинности, убедитесь, что JSON имеет правильный формат, как показано в следующем примере.

    {
      "api_key": {
        "type": "securestring",
        "uiDefinition": {
          "displayName": "YourApiKeyParameterLabel",
          "tooltip": "Provide your YourApiKeyParameterLabel tooltip text",
          "constraints": {
            "tabIndex": 2,
            "clearText": false,
            "required": "true"
          }
        }
      }
    }
    
  • Если в параметре подключения используется универсальный протокол OAuth для проверки подлинности, убедитесь, что JSON имеет правильный формат, как показано в следующем примере.

    {
      "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
      }
    }
    
  • Если в параметре вашего соединения указан поставщик удостоверений OAuth2, убедитесь, что этот поставщик удостоверений входит в список поддерживаемых поставщиков OAuth2. Ниже приведен пример поставщика удостоверений OAuth2 в GitHub:

    {
      "token": {
        "type": "oAuthSetting",
        "oAuthSettings": {
          "identityProvider": "github",
          "scopes": [
            "scope1"
          ],
          "redirectMode": "GlobalPerConnector",
          "customParameters": {},
          "clientId": "YourClientId"
        },
        "uiDefinition": null
      }
    }
    
  • Если в параметре подключения в качестве механизма проверки подлинности используется Microsoft Entra ID, убедитесь, что JSON имеет правильный формат, как показано в следующем примере.

    {
      "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
      }
    }
    

Создавайте качественные строки на английском языке

Соединители локализованы в составе локализации Power Automate; поэтому когда вы разрабатываете соединитель, качество строк на английском языке является ключом к качеству перевода. Вот несколько основных областей, на которых следует сосредоточиться при создании значений строк, которые вы предоставляете.

  • Обязательно запустите программу проверки орфографии, чтобы убедиться, что все значения строк не содержат опечаток. Если есть какая-либо неполная строка на английском языке, результат перевода является неполным или неверным в контексте.

  • Убедитесь, что предложение составлено полностью. Если предложение не закончено, это также может привести к снижению качества перевода.

  • Убедитесь, что смысл предложения ясен. Если значение предложения неоднозначно, это также может привести к снижению качества или неправильному переводу.

  • Убедитесь, что сводки, x-ms-summaries и описания грамматически правильны. Не копируйте и не вставляйте их. Чтобы узнать, как они отображаются в продукте, прочтите Руководство по использованию строк соединителя.

  • По возможности избегайте составных строк среды выполнения. Вместо этого используйте полностью сформированные предложения. Составные строки или предложения затрудняют перевод или могут вызвать неправильный перевод.

  • Если вы используете сокращения, обязательно пишите их с заглавной буквы, чтобы было понятно. Это снижает вероятность того, что его ошибочно примут за опечатку.

  • Строки в форме CaMel (например, minimizeHighways или MinimizeHighways) обычно считаются непереводимыми. Если вы хотите локализовать строковое значение, вы должны исправить строку формы CaMel.

Шаг 3: Использование средства проверки решений для проверки соединителя

Средство проверки решений — это механизм проведения статического анализа, позволяющий убедиться, что ваш соединитель соответствует стандартам, требуемым Microsoft для сертификации. Добавьте соединитель в решение в Power Automate или Power Apps и выполните проверку решение, следуя инструкциям в разделе Проверка пользовательского соединителя с помощью средства проверки решения.

Посмотрите это видео, чтобы узнать, как выполнить проверку решения!

Шаг 4. Добавьте метаданные

Артефакты (файлы) соединителя должны содержать конкретные метаданные, описывающие соединитель и его конечную службу. Информация, представленная в метаданных, опубликована в нашей документации по соединителю и доступна всем пользователям. Не предоставляйте какую-либо личную или конфиденциальную информацию и сообщите нам через контактное лицо в Microsoft, если возникнут какие-либо проблемы с предоставлением нам этой информации. Чтобы узнать, как метаданные документируются, посетите любую из страниц документации по соединителю в разделе Справочное руководство по соединителям.

Шаг. 4a. Свойства publisher и stackOwner

  • "publisher" — это название вашей компании или организации. Укажите полное название компании (например, "Contoso Corporation"). Должно указываться в буквенно-цифровом формате.

  • "stackOwner" — компания-владелец или организация стека серверных служб, к которой подключается соединитель. Должно указываться в буквенно-цифровом формате.

Издатель Описание Пример
Проверено Издатель и stackOwner являются одними и теми же, если только независимый поставщик программного обеспечения не создает соединитель от имени stackOwner. "publisher": "Tesla",
"stackOwner": "Tesla"
Независимый Вы должны указать владельца стека и владельца издателя. "publisher": "Nirmal Kumar",
"stackOwner": "ITGlue"

Расположение файла: apiProperties.json
Чтобы узнать больше, прочтите Файл свойств API.

Синтаксис: свойства издатель и stackOwner существуют как свойства верхнего уровня в файле apiProperties.json. Добавьте следующие выделенные строки, как показано. Убедитесь, что вы вводите имя свойства и схему точно так, как показано.

Снимок экрана, показывающий свойства издателя и stackOwner, которые доступны в фрагментах примера кода.

Код, показывающий блок, определяющий объект "контакт", выделен красным. Этот блок должен располагаться непосредственно под описанием. Другой блок, x-ms-connector-metadata, также выделен красным. Этот блок должен располагаться непосредственно под путями: {}.

Шаг 4c.Фрагменты примера кода

Вы можете использовать следующие фрагменты кода, чтобы скопировать и ввести свою информацию. Убедитесь, что вы добавляете фрагменты в правильные файлы и в правильные места, как описано в предыдущем разделе.

    "publisher": "_____",
    "stackOwner": "_____"
    "contact": {
      "name": "_____",
      "url": "_____",
      "email": "_____"
    }
    "x-ms-connector-metadata": [
      {
        "propertyName": "Website",
        "propertyValue": "_____"
      },
      {
        "propertyName": "Privacy policy",
        "propertyValue": "_____"
      },
      {
        "propertyName": "Categories",
        "propertyValue": "_____;_____"
      }
    ]

Примечание

В настоящее время существует ограничение на использование свойства stackOwner и инструмента интерфейса командной строки Paconn. Для получения дополнительной информации перейдите к Ограничения в файле README.

Шаг 4d. Форматирование файла JSON и ограничения

  • Убедитесь, что ваши свойства правильно настроены.

  • Вставьте свой JSON в Visual Studio Code. Не стесняйтесь использовать расширения, такие как средства проверки орфографии, и подключаемые модули, такие как подключаемые модули JSON.

  • Файлы Swagger не должны превышать 1 МБ.

    • Подумайте о конструкции вашего соединителя, прежде чем приступить к его созданию. Оцените, следует ли разбить разъем на два (2) или более соединителя.
    • Большие файлы swagger могут вызвать задержку при использовании соединителя.

    Например, на платформе есть три (3) разных соединителя HubSpot.

    Снимок экрана с папками для трех соединителей HubSpot.

Шаг 4e. Проверка файлов настраиваемых соединителей

Запустите paconn validate --api-def [Location of apiDefinition.swagger.json]. Это средство проверяет определение соединителя и информирует обо всех ошибках, которые необходимо исправить перед отправкой.

Если в качестве типа проверки подлинности соединитель использует OAuth, добавьте эти разрешенные URL-адреса перенаправления в приложение:

  • https://global.consent.azure-apim.net/redirect/{apiname}

  • https://global-test.consent.azure-apim.net/redirect/{apiname}

Шаг 5. Подготовка артефактов соединителя

На выполнение этого шага у вас уйдет около недели.

Примечание

  • Обязательно выполните требования спецификации и проверьте качество соединителя перед сертификацией. Несоблюдение этих условий приведет к задержкам в сертификации, так как вам будет предложено внести изменения.
  • Укажите производственную версию URL-адреса узла. URL-адреса промежуточного этапа, разработки и тестирования узла не разрешены.

В Microsoft вы отправляете набор файлов, называемых артефактами соединителя. Скачать набор можно с помощью интерфейса командной строки (CLI), предоставляемого Microsoft. Этот инструмент проверяет ваш соединитель на наличие неисправных ошибок.

Чтобы начать, выполните эти действия:

  1. Установите инструмент Microsoft Power Platform Connectors CLI, следуя инструкциям по установке.

  2. Войдите в Microsoft Power Platform , выполнив в командной строке команду paconn login. Следуйте инструкциям по входу в рамках процесса с использованием кода устройства от Майкрософт.

  3. После проверки подлинности загрузите файлы настраиваемого соединителя:

    • Запустите paconn download. Выберите среду, в которой находится пользовательский соединитель. Для этого укажите его номер в командной строке, а затем выберите имя этого соединителя.

    Инструмент загружает артефакты вашего соединителя в папку в папку файловой системы, в которой вы запустили paconn. В зависимости от типа издателя вы видите различные артефакты:

Издатель Артефакт
Проверено apiDefinition.swagger.json
apiProperties.json
settings.json
Значок соединителя
Независимый apiDefinition.swagger.json
apiProperties.json

Как проверенные, так и независимые издатели загружают apiProperties.json в своих артефактах. Вам нужно установить IconBrandColor в этом файле.

  • Проверенные издатели: установите для iconBrandColor ваш фирменный цвет в файле apiProperties.
  • Независимые издатели: установите для iconBrandColor "#da3b01" в файле apiProperties.
    Снимок экрана ярко-оранжевого значка (da3b01).

Создать артефакт файла Readme

Файл Readme.md необходим как для независимых издателей, так и для проверенных издателей. Вам необходимо создать файл Readme.md, чтобы задокументировать функции и возможности вашего соединителя. Пример документации для включения см. в Пример Readme.md. Посмотрите другие файлы Readme.md в нашем репозитории GitHub, чтобы узнать о создании файла Readme.md.

Если вы являетесь независимым издателем и ваш соединитель использует OAuth, обязательно включите инструкции по получению учетных данных.

Совет

Известные проблемы и ограничения — это отличный раздел, который нужно поддерживать, чтобы держать ваших пользователей в курсе последних событий.

Шаг 6. Отправьте соединитель для развертывания

В процессе отправки вы открываете исходный код своего соединителя для нашего репозитория соединителей Microsoft Power Platform.

  1. Следуйте инструкциям в Отправить соединитель на сертификацию Microsoft, чтобы отправить в GitHub и на портал сертификации.

    Если вы являетесь проверенным издателем, вам необходимо отправить файл script.csx, если вы используете собственный код.

  2. Как только вы отправите запрос вытягивания в репозиторий с открытого кода, Microsoft развернет и проверит ваш соединитель в течение 1–2 недель. Если требуются обновления, подождите от 1 до 2 недель.

    **Если ваш соединитель поддерживает OAuth, отправьте пакет в ISV Studio и получите имя API из запроса на отправку соединителя, чтобы обновить приложение.

    В рамках отправки Microsoft проверяет ваш соединитель с помощью инструментов CLA-bot, Swagger Validator и Breaking Change Detector. Если вам нужно устранить ошибки Swagger, перейдите в Исправление ошибок средства проверки Swagger.

Шаг 7. Ожидания от тестирования, проведенного проверенными издателями

После того, как мы проверим ваш соединитель, мы попросим вас провести тщательное тестирование.

  1. Следуйте инструкциям в Тестирование соединителя в сертификации для создания среды в области предварительного просмотра при подготовке к тестированию.

  2. В течение одной недели сообщите своему контактному лицу в Microsoft о завершении тестирования, чтобы мы могли приступить к развертыванию.

  3. После того, как вы и Microsoft подтвердите функциональность и содержимое вашего соединителя, мы разместим соединитель для развертывания в регионе предварительного просмотра для тестирования.

Шаг 8. Ожидайте развертывания

После утверждения вашего соединителя для тестирования мы развернем ваш соединитель для всех продуктов и регионов.

Важно!

В среднем на развертывание соединителя уходит 3–4 недели. Это необходимо независимо от размера или сложности вашего соединителя, будь он новый или обновленный. В целях защиты целостности соединитель будет подвергаться тем же задачам проверки для проверки функциональности и содержимого, которые выполняются при каждом развертывании.

Мы уведомляем вас по электронной почте с указанием названий регионов, в которых будет развернут соединитель, поскольку развертывание в регионах выполняется поэтапно. Если есть задержка или приостановка развертывания, проверенные издатели, не относящиеся к Microsoft, могут узнать статус в Контроль активности на портале ISV. Независимые издатели получат уведомление по электронной почте.

Развертывание в производстве

Наши графики развертывания соединителей для производства начинаются в пятницу утром, тихоокеанское время. Сообщите в Microsoft, когда вы готовы к производственному развертыванию, по крайней мере, за 24 часа, чтобы мы включили ваш соединитель в следующее запланированное развертывание. Проверенные издатели могут уведомить нас в Контроль активности портала ISV. Независимые издатели могут уведомить своих контактных лиц в Microsoft.

Развертывание в регионе

Развертывание в различных регионах происходит в заранее определенной ежедневной последовательности. Регионы:

  • Тестирование.
  • Предварительная версия в США.
  • Азия, кроме Японии и Индии.
  • Европа, кроме Соединенного Королевства.
  • Бразилия, Канада, Япония и Индия.
  • Австралия, Соединенное Королевство и США.

Например, если ваш соединитель планируется развернуть в понедельник, он разворачивается в регионе тестирования в день 1. Затем он разворачивается в регионе предварительной версии в США в день 2. Развертывание продолжается ежедневно, пока соединитель не будет развернут во всех шести регионах.

Мы не выполняем развертывание по субботам, воскресеньям и праздничным дням США.

По мере того, как ваш соединитель завершает сертификацию, мы обсудим с вами маркетинговую возможность для соединителя в блоге Power Automate.

Шаг 9. Изучите варианты после развертывания

Вот несколько вариантов, которые вы можете изучить после развертывания соединителя:

Контрольный список перед отправкой

Прежде чем перейти к Отправьте соединитель на сертификацию Microsoft, обеспечьте следующее:

Совет

  • Создавайте видеоролики, блоги или другой контент по YouTube, чтобы делиться примерами или снимками экрана о том, как начать работу с соединителем.
    - Включите ссылки в файл Readme.md, чтобы мы могли добавить его в наши документы.
  • Добавьте всплывающие подсказки в ваш файл Swagger, чтобы помочь вашим пользователям добиться большего успеха.

Если вы являетесь проверенным издателем (а не независимым издателем), вам предложено принять наше партнерское соглашение и соглашение о неразглашении при подаче заявки на сертификацию Microsoft. Если вы хотите ознакомиться с этими условиями и формулировками перед отправкой, обратитесь к своему представителю корпорации Майкрософт.

Следующий шаг

Отправка соединителя на сертификацию Майкрософт

Предоставление отзывов

Для нас очень важны отзывы о проблемах с нашей платформой соединителей и новые идеи о функциях. Чтобы оставить отзыв, выберите пункт Сообщить о проблемах или получить помощь с соединителями и выберите тип отзыва.