Preparar los archivos del conector y el complemento de Power Platform para su certificación

Este proceso es para editores verificados e independientes.

Una vez que finalice el desarrollo del conector o complemento personalizado, siga estos pasos para prepararlo para su certificación y generar los archivos del conector o complemento para enviárselos a Microsoft.

Nota

Este artículo proporciona información para certificar conectores personalizados en Azure Logic Apps, Power Automate y Power Apps, además de complementos en Copilot. Antes de seguir los pasos de este artículo, lea Certificar su conector o complemento.

Paso 1: Registre su conector y/o complemento (solo aplicable para editores independientes)

Esta sección no se aplica a los editores verificados.

No es preciso que haya terminado el desarrollo del conector o complemento personalizado para solicitar su certificación. Para comenzar el proceso de certificación, registre su conector o complemento para la certificación completando nuestro formulario de registro.

Espere un correo electrónico en un plazo de dos días hábiles de un contacto de Microsoft, que:

  • Entiende su conector o complemento personalizado.
  • Obtiene información sobre el progreso de desarrollo.
  • Le envía correos electrónicos sobre el proceso de certificación.

Paso 2: Cumplir los requisitos de envío para conectores

Para mantener un alto estándar de calidad y consistencia entre nuestros conectores certificados, Microsoft tiene un conjunto de requisitos y pautas que su conector personalizado debe cumplir para la certificación.

Dele un título a su conector

El título debe cumplir los siguientes requisitos.

  • Debe existir y estar escrito en inglés.
  • Debe ser único y distinguible de cualquier título de conector o complemento existente.
  • Debe ser el nombre de su producto u organización.
  • Debe seguir los patrones de nomenclatura existentes para conectores o complementos certificados. Para editores independientes, el nombre del conector debe seguir el patrón Connector and/or plugin Name (Independent Publisher).
  • No puede tener más de 30 caracteres.
  • No puede contener las palabras API, Connector ni ninguno de los nombres de los productos de Power Platform (por ejemplo, Power Apps).
  • No puede terminar en un carácter no alfanumérico, incluidos el retorno de carro, una nueva línea o un espacio en blanco.

Ejemplos

  • Buenos títulos de conectores o complementos: Azure Sentinel*, *Office 365 Outlook
  • Malos títulos de conectores o complementos: Azure Sentinel's Power Apps Connector, Office 365 Outlook API

Escriba una descripción para su conector

La descripción debe cumplir los siguientes requisitos.

  • Debe existir y estar escrito en inglés.
  • NO debe tener errores gramaticales ni ortográficos.
  • Debe describir de manera concisa el propósito principal y el valor ofrecido por el conector.
  • No puede tener menos de 30 caracteres ni más de 500 caracteres.
  • No puede contener ningún nombre de producto de Power Platform (por ejemplo, Power Apps).

Diseñe un icono para su conector (solo aplicable para editores verificados)

Esta sección no se aplica a los editores independientes.

  • Cree un logotipo con dimensiones 1:1 dentro de un rango de 100 x 100 a 230 × 230 píxeles (sin bordes redondeados).
  • Use un fondo de color no transparente, no blanco (#ffffff) y un color no predeterminado (# 007ee5) que coincida con el color de fondo del icono especificado.
  • Asegúrese de que el ícono debe ser exclusivo para cualquier otro icono de conector certificado.
  • Envíe el logotipo en formato PNG como <icon>.png.
  • Establezca las dimensiones del logotipo por debajo del 70 % para la altura y el tamaño de la imagen. ancho con un fondo consistente.
  • Asegúrese de que el color de la marca sea un color hexadecimal válido y no debe ser blanco (#ffffff) ni predeterminado (#007ee5).

Defina resúmenes y descripciones de operaciones y parámetros

Los resúmenes y descripciones deben cumplir los siguientes requisitos.

  • Debe existir y estar escrito en inglés.
  • NO debe tener errores gramaticales ni ortográficos.
  • Los resúmenes de operaciones y parámetros deben ser frases de 80 caracteres o menos y contener solo caracteres alfanuméricos o paréntesis.
  • Las descripciones de operaciones y parámetros deben ser oraciones completas, frases descriptivas y terminar con una puntuación.
  • No puede contener ningún nombre de producto de Microsoft Power Platform (por ejemplo, "Power Apps").

Defina respuestas operativas exactas

Las respuestas operativas deben cumplir los siguientes requisitos.

  • Defina las respuestas de la operación con un esquema exacto solo con las respuestas esperadas.
  • No utilice respuestas predeterminadas con una definición de esquema exacta.
  • Proporcione definiciones de esquema de respuesta válidas para todas las operaciones en el Swagger.
  • No se permiten esquemas de respuesta vacíos, excepto en casos especiales en los que el esquema de respuesta es dinámico. Esto significa que no se mostrará contenido dinámico en la salida y los creadores deben usar JSON para analizar la respuesta.
  • No se permiten operaciones vacías.
  • Quite las propiedades vacías a menos que sean necesarias.

Verificar las propiedades de Swagger

Las propiedades deben cumplir los siguientes requisitos.

  • Asegúrese de que "openapidefinition" esté en un archivo JSON con el formato correcto.
  • Asegúrese de que la definición de Swagger cumpla con el estándar OpenAPI 2.0 y el estándar extendido de los conectores.

Verificar parámetros de conexión

Los parámetros deben cumplir los siguientes requisitos.

  • Asegúrese de que la propiedad esté actualizada con los valores adecuados para "UIDefinition" (nombre, descripción).

  • Si su parámetro de conexión utiliza autenticación básica, asegúrese de que JSON tenga el formato correcto como en el siguiente ejemplo.

    {
      "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 su parámetro de conexión utiliza APIKey como autenticación, asegúrese de que JSON tenga el formato correcto como en el siguiente ejemplo.

    {
      "api_key": {
        "type": "securestring",
        "uiDefinition": {
          "displayName": "YourApiKeyParameterLabel",
          "tooltip": "Provide your YourApiKeyParameterLabel tooltip text",
          "constraints": {
            "tabIndex": 2,
            "clearText": false,
            "required": "true"
          }
        }
      }
    }
    
  • Si su parámetro de conexión utiliza Generic OAuth como autenticación, asegúrese de que JSON tenga el formato correcto como en el siguiente ejemplo.

    {
      "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 su parámetro de conexión tiene un proveedor de identidad OAuth2, asegúrese de que el proveedor de identidad esté en la lista de proveedores de OAuth2 admitidos. A continuación se muestra el ejemplo del proveedor de identidad GitHub OAuth2:

    {
      "token": {
        "type": "oAuthSetting",
        "oAuthSettings": {
          "identityProvider": "github",
          "scopes": [
            "scope1"
          ],
          "redirectMode": "GlobalPerConnector",
          "customParameters": {},
          "clientId": "YourClientId"
        },
        "uiDefinition": null
      }
    }
    
  • Si su parámetro de conexión utiliza Microsoft Entra ID como autenticación, asegúrese de que JSON tenga el formato correcto como en el siguiente ejemplo.

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

Crear cadenas de idioma de calidad en inglés

Los conectores se localizan como parte de la localización de Power Automate; por lo tanto, cuando desarrolla un conector, la calidad de las cadenas del idioma inglés es clave para la calidad de la traducción. Estas son algunas de las áreas principales en las que debe centrarse al crear los valores de las cadenas que proporcionará.

  • Asegúrese de ejecutar un programa de revisión ortográfica para asegurarse de que todos los valores de cadena no tengan errores tipográficos. Si hay alguna cadena en inglés incompleta, el resultado de la traducción será incompleto o incorrecto en contexto.

  • Asegúrese de que la oración esté en forma completa. Si la oración no está completa, eso también puede generar traducciones de menor calidad.

  • Asegúrese de que el significado de la oración sea claro. Si el significado de la oración es ambiguo, eso también puede generar traducciones de menor calidad o incorrectas.

  • Asegúrese de que los resúmenes, los resúmenes x-ms y las descripciones sean gramaticalmente correctos. No los corte y copie. Para saber cómo se muestran dentro del producto, vaya a Guía de cadenas de conectores.

  • Evite las cadenas compuestas en tiempo de ejecución, si es posible. En su lugar, use oraciones completamente terminadas. Las cadenas u oraciones concatenadas dificultan la traducción o pueden provocar una traducción incorrecta.

  • Si usa abreviaturas, asegúrese de ponerlas en mayúscula para que quede claro. Esto reducirá la posibilidad de que se confunda con un error tipográfico.

  • Las cadenas están en formato CaMeL (por ejemplo minimizeHighways o MinimizeHighways) normalmente se consideran no traducibles. Si desea localizar el valor de la cadena, debe corregir el formato CaMel de la cadena.

Paso 3: ejecutar el comprobador de soluciones para validar su conector

Solution Checker es un mecanismo para realizar análisis estáticos para garantizar que su conector cumpla con los estándares requeridos por Microsoft para la certificación. Agregue su conector a una solución en Power Automate o Power Apps y ejecute el verificador de soluciones siguiendo las instrucciones en Validar un conector personalizado con el verificador de soluciones.

Mire este Vídeo para aprender cómo ejecutar el Comprobador de soluciones.

Paso 4: Agregar metadatos

Los artefactos (archivos) del conector deben contener metadatos específicos que describan el conector y su servicio final. La información proporcionada en los metadatos se publicará en la documentación de nuestro conector y todos los usuarios podrán acceder a ella. No proporcione ningún tipo de información privada o confidencial y avísenos a través de su contacto de Microsoft si hay algún problema al proporcionarnos esta información. Para aprender cómo se documentarán los metadatos, visite cualquiera de las páginas de la documentación específica del conector en Referencia del conector.

Paso 4a: propiedades del editor y de stackOwner

  • Editor es el nombre de su empresa u organización. Proporcione el nombre completo de la empresa (por ejemplo, "Contoso Corporation"). Este debe estar en formato alfanumérico.
  • "stackOwner" es la empresa u organización propietaria de la pila de servicios de back-end a la que se conecta el conector. Este debe estar en formato alfanumérico.
Publicador Descripción Ejemplo
Verificada El editor y stackOwner serán los mismos, a menos que el ISV esté creando un conector en nombre de un stackOwner. "editor": "Tesla",
"stackOwner": "Tesla"
Independiente Debe proporcionar el propietario de la pila y el propietario del editor. "editor": "Nirmal Kumar",
"stackOwner": "ITGlue"

Ubicación del archivo: openapidefinition.json

Sintaxis: Las propiedades publisher y stackOwner existen como propiedades de nivel superior dentro del archivo openapidefinition.json. Agregue las siguientes líneas resaltadas como se muestra. Asegúrese de introducir el nombre de propiedad y el esquema exactamente como se muestra.

Captura de pantalla que muestra las propiedades del editor y stackOwner, que están disponibles en fragmentos de código de muestra.

Código que muestra el bloque que define el objeto de contacto resaltado en rojo. Este bloque debe ubicarse directamente debajo de la descripción. Otro bloque, x-ms-connector-metadata, también está resaltado en rojo. Este bloque debe ubicarse directamente debajo de las rutas: {}.

Paso 4c: fragmentos de código de ejemplo

Puede utilizar los siguientes fragmentos de código para copiar e introducir su información. Asegúrese de agregar los fragmentos a los archivos correctos en las ubicaciones correspondientes como se describe en la sección anterior.

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

Nota

Existe una limitación actual en el uso de la propiedad stackOwner y nuestra herramienta CLI de Paconn. Obtenga más información en Limitaciones en el archivo README.

Paso 4d: formato de archivo JSON y limitaciones

  • Asegúrese de que las propiedades estén correctamente alineadas.

  • Pegue su JSON en Visual Studio Code. Siéntase libre de usar extensiones como correctores ortográficos y complementos como complementos JSON.

  • Los archivos de Swagger no deben tener más de 1 MB.

    • Considere el diseño de su conector antes de comenzar a construirlo. Evalúe si el conector debe dividirse en dos (2) o más conectores.
    • Los archivos swagger más grandes pueden causar un retraso al usar el conector.

    Por ejemplo, hay tres (3) conectores diferentes de HubSpot en la plataforma.

    Captura de pantalla de las carpetas para los tres HubSpot conectores.

Paso 5: Cumplir los requisitos de envío para complementos

Esta sección se aplica si también envía el complemento del conector asociado para su certificación.

Paso 6: Preparar los artefactos del conector o del complemento

Nota

  • Asegúrese de seguir las especificaciones y garantizar la calidad de su conector y/o complemento antes de la certificación. Si no lo hace, la certificación se retrasará, ya que se le pedirá que realice cambios.
  • Proporcione una versión de producción de la URL del host. No se permiten direcciones URL de host de ensayo, desarrollo y prueba.

Estás enviando a Microsoft un conjunto de archivos, que es una generación de solución desde el portal del fabricante o Microsoft Copilot Studio. Para empaquetar sus archivos, seguir siga los pasos de esta sección.

Guía de empaquetado de conectores y complementos

Los procedimientos de esta sección le guiarán a través de varios escenarios de empaquetado. Si desea empaquetar solo un conector personalizado, utilice el primer escenario. Si desea empaquetar un conector personalizado y complementos, utilice el segundo escenario. Si desea empaquetar un conector y complementos existentes, utilice el último escenario.

Empaquetar su conector personalizado y enviarlo para su certificación

  1. Crear un conector personalizado para una solución.

  2. Ejecutar el comprobador de soluciones en la solución de su conector en el paso 1.

  3. Exporte la solución del conector.

  4. Cree un flujo (prueba) mediante el conector personalizado recién creado y agregue el flujo a una solución.

  5. Exporte la solución del flujo.

  6. Cree un paquete con las soluciones de los pasos 3 y 5.

  7. Cree un archivo intro.md.

  8. Cree el paquete final como un archivo zip, que tiene el siguiente formato:

    Captura de pantalla de las carpetas y archivos en un archivo zip para que se certifique un conector certificado

Nota

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.

  1. Cargue el paquete en un blob de almacenamiento y genere la URL de SAS. Asegúrese de que su URI SAS sea válido durante al menos 15 días.
  2. Envíe su paquete al Centro de partners.

Empaquetar su conector y complemento personalizados y enviarlos para su certificación

  1. Siga los pasos del 1 al 5 en Empaquetar su conector personalizado y enviarlo para certificación en este artículo.

  2. Cree un complemento en el portal de Microsoft Copilot Studio y expórtelo como una solución.

  3. Cree un paquete a partir de lo siguiente:

  4. Cree un archivo intro.md.

  5. Cree el paquete final como un archivo zip, que tiene el siguiente formato.

    Captura de pantalla de las carpetas y archivos en un archivo zip para que se certifique un conector y un complemento certificados

Nota

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.

  1. Cargue el paquete en un blob de almacenamiento y genere la URL de SAS. Asegúrese de que su URI SAS sea válido durante al menos 15 días.
  2. Envíe su paquete al Centro de partners.

Empaquetar su conector y complemento certificados existentes y enviarlos para su certificación

  1. Cree una solución en Power Automate y agregue el conector ya certificado en ella.

  2. Siga los pasos del 2 al 4 en Empaquetar su conector personalizado y enviarlo para certificación en este artículo.

  3. Cree un complemento en Copilot Studio y expórtelo como una solución.

  4. Exporte el complemento como solución.

  5. Cree un paquete a partir de lo siguiente:

  6. Cree un archivo intro.md.

  7. Cree el paquete final como un archivo zip, que tiene el siguiente formato.

    Captura de pantalla de las carpetas y los archivos en un archivo zip para un conector y un complemento certificados existentes que se van a certificar.

Nota

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.

  1. Cargue el paquete en un blob de almacenamiento y genere la URL de SAS. Asegúrese de que su URI SAS sea válido durante al menos 15 días.
  2. Envíe su paquete al Centro de partners.

Tanto los editores verificados como los independientes descargan sus artefactos. openapidefinition.json Tendrá que establecer IconBrandColor en este archivo.

  • Editores verificados: Establezca iconBrandColor con el color de su marca en el archivo openapidefinition.
  • Editores independientes: Establezca iconBrandColor en "#da3b01" en el archivo openapidefinition.
    Captura de pantalla de un ícono de color naranja vivo (da3b01).

Crear un artefacto intro.md

Un archivo intro.md es necesario tanto para editores independientes como para editores verificados. Debe crear un archivo intro.md para documentar las características y la funcionalidad de su conector. Para ver un ejemplo de documentación para incluir, vaya al ejemplo de Readme.md. Para obtener información sobre cómo escribir un archivo intro.md, consulte otros archivos intro.md (también conocidos como archivos Readme.md) en nuestro repositorio de GitHub.

Si es un editor independiente y su conector usa OAuth, asegúrese de incluir instrucciones sobre cómo obtener las credenciales.

Sugerencia

Problemas conocidos y limitaciones es una gran sección para mantener a sus usuarios actualizados.

Paso 7: Validar el paquete para la estructura

El script de validación del paquete valida la estructura del paquete y le ayuda a generar el paquete en un formato aceptable para la certificación. Descargue el script del validador de paquetes con este enlace: ConnectorPackageValidator.ps1.

Para ejecutar el script, seguir siga estos pasos:

  1. Abra Windows PowerShell en modo de administrador.

    Captura de pantalla de Windows PowerShell en modo de administrador.

  2. Cambie la ubicación de la unidad ingresando cd /.

    El siguiente ejemplo utiliza C:\.

    Captura de pantalla de la sintaxis para cambiar la unidad.

  3. Vaya a la ruta donde descargó el script del validador de paquetes.

    Por ejemplo, si la ruta es C:\Users\user01\Downloads, ingresa cd .\Users\user01\Downloads\.

    Captura de pantalla de la sintaxis para cambiar la ruta.

  4. Establezca la política de ejecución como sin restricciones ingresando el siguiente comando:

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted

    Captura de pantalla de la sintaxis para establecer la política de ejecución.

    Este comando permite ejecutar PowerShell sin ninguna restricción.

  5. Confirme su entrada ingresando Y, que significa .

  6. Ejecute el ConnectorPackageValidator.ps1 con los siguientes pasos:

    1. Ingrese la ruta del archivo zip que contiene el paquete del conector.
    2. Especifique si complemento de IA está habilitado o no.

    Como se muestra en el siguiente ejemplo, el primer argumento es una ruta de archivo zip válida que contiene el paquete. El segundo argumento es yes/y para indicar que complemento de IA está habilitado, o no/n para indicar que está deshabilitado.

    Captura de pantalla de la sintaxis para ejecutar ConnectorPackageValidator.ps1.

    Si la estructura del paquete es correcta, se mostrará el siguiente mensaje de éxito:

    Captura de pantalla del mensaje de éxito.

    Si hay un problema con la estructura del paquete, el script proporciona detalles del problema detectando y resaltando los defectos en la estructura del paquete.

    Captura de pantalla de los detalles del problema.

Paso 8: Enviar su conector o complemento para su certificación

Durante el proceso de envío, estará abriendo el código de su conector o complemento a nuestro Repositorio de conectores de Microsoft Power Platform.

  1. (Para editores independientes) Para enviar el paquete a Microsoft para su certificación, siga las instrucciones en Proceso de certificación de editor independiente.

  2. (Para editores verificados) Para enviar el paquete a Microsoft para su certificación en el Centro de partners, siga las instrucciones en Proceso de certificación de editor verificado.

    Si es un editor verificado, deberá enviar un archivo script.csx si está utilizando un código personalizado.

    Si su conector tiene OAuth, proporcione el id. y el secreto de cliente en el Centro de partners. Además, obtenga el nombre de API de la solicitud de envío de su conector para actualizar su aplicación.

    Como parte del envío, Microsoft certifica o complementa su conector. Si necesita solucionar los errores de Swagger, vaya a Corregir errores del validador de Swagger.

Lista de comprobación antes del envío

Antes de pasar a Enviar conectores para que Microsoft los certifique, asegúrese de que:

Sugerencia

  • Cree vídeos de YouTube, blogs u otro contenido para compartir muestras o capturas de pantalla sobre cómo comenzar a usar el conector o complemento.
  • Incluya los vínculos en el archivo intro.md para que podamos agregarlo a nuestros documentos.
  • Agregue información sobre herramientas a su archivo swagger para ayudar a sus usuarios a tener más éxito.

Siguiente paso