Compartir por


Crear un novo fornecedor

Para crear un novo provedor, siga os seguintes pasos. Tamén podes usar estes pasos para facer engadidos aos provedores existentes.

Definir a arquitectura do provedor

Antes de crear un provedor, é importante comprender o que queres que faga o provedor e para que queres usalo. Os provedores teñen varios compoñentes e é posible que non necesites todos os compoñentes.

Use a seguinte táboa para determinar que compoñentes necesitará.

Condición Compoñente necesario
O servizo para o que queres crear un provedor non ten un conector en Power Automate.
Para obter máis información, consulta Lista de todos Power Automate conectores.
Cree un conector de cliente ou use un conector xenérico.
O seu provedor intercambiará datos entre un servizo externo e Microsoft Dataverse. O teu provedor necesitará unha transformación de provedor. Engade un compoñente de transformación de provedor para cada transformación.
O teu provedor executará a lóxica do deseñador de orquestración. Crea un Power Automate fluxo separado para representar cada unha das accións.
O teu provedor debe procesar as mensaxes dun servizo externo. Crea un fluxo de Power Automate Xestor de mensaxes.
O teu provedor extraerá mensaxes dun servizo externo a intervalos regulares. Crea un fluxo Power Automate Message Puller.
O teu provedor presentará eventos comerciais que non estean definidos actualmente en Intelligent Order Management. Crea unha nova definición de evento empresarial e engade eventos existentes.

Cando teña unha boa comprensión das solucións, pode proceder á implementación do seu provedor.

Crear unha solución de provedor

Debe completar as seguintes tarefas nesta sección para crear unha solución de provedor.

  • Configura un provedor personalizado.

  • Engade unha definición de provedor.

  • Engade os compoñentes á túa solución.

Configura un provedor personalizado

Crea unha solución en Power Apps que conteña os compoñentes do teu provedor. Para crear unha solución nova en Power Apps, siga os pasos de Crear unha solución en Power Apps.

Engade unha definición de provedor

Unha definición de provedor contén detalles sobre o seu provedor. A definición determina como aparecerá o seu provedor no Catálogo de provedores.

  1. Na solución de provedor que creou, seleccione Novo.

  2. Seleccione IOMDefinición de provedor.

  3. Engade os seguintes detalles:

    1. Nome para mostrar: o nome que quere darlle ao seu provedor, por exemplo, "Proveedor de proba".

    2. Nome lóxico: a clave de exportación do seu provedor.

    3. Descrición: texto para describir o que fai o teu provedor.

  4. Seleccione Gardar.

  5. Se queres engadir un logotipo, carga a imaxe.

  6. Valida que a definición do teu provedor apareza na solución. Debe mostrarse un rexistro co tipo de compoñente Definición do provedor IOM . Se non se mostra, selecciona Engadir existente e, a continuación, selecciona o rexistro que acabas de crear.

  7. Validar que o seu provedor aparece no Catálogo de provedores. Se estableces o campo Está activo en Si, a definición do teu provedor aparecerá no Catálogo de provedores. Abra Xestión de pedidos intelixente. Vaia a Provedores > Catálogo. Verifique que se mostra a definición do seu provedor.

Engadir compoñentes á solución

Despois de crear a súa definición de provedor, engade os compoñentes do provedor á solución.

  1. Vaia á súa solución.

  2. Seleccione Engadir existente.

  3. Seleccione o tipo de compoñente Intelligent Order Management e, a continuación, seleccione o rexistro que acaba de crear.

Crea unha transformación de provedor

Se o teu provedor require unha transformación, debes engadir un compoñente de transformación de provedor á túa solución. É posible que teñas que crear varias transformacións.

  1. Na súa solución de provedor, seleccione Novo.

  2. Seleccione Transformación da definición do provedor IOM.

  3. Engade os seguintes detalles:

    1. Nome para mostrar: o nome da transformación do seu provedor, por exemplo, "Transformar pedidos de venda".

    2. Nome lóxico: O identificador único do teu provedor. Este valor será a clave de importación e exportación dos datos. Debe comezar co prefixo do editor. Por exemplo, Microsoft usa o prefixo de editor msdyn_. Exemplos de nome lóxico son: msdyn_flexe_fulfillmentorderproduct_orderline e msdyn_flexe_fulfillmentorder_order.

    3. Tipo de orixe: este campo indica que tipo de datos se reciben. Hai dúas opcións: JsonDocument ou Dataverse Entidade. Se os teus datos xa están en Dataverse, selecciona Dataverse Entidade. Se non, selecciona JsonDocument. Esta información utilizarase no Power Automate elemento que definas para buscar a transformación.

    4. Nome do obxecto de orixe: o nome dos datos que está a transformar. Se estás a transformar un Dataverse rexistro, asegúrate de que o Nome do obxecto fonte é o mesmo nome que na táboa Dataverse .

    5. Nome do obxecto de destino: o destino do rexistro que quere transformar.

    6. Transformación: a Power Query MQuery en liña que se utilizará para transformar os datos de entrada. Para obter información sobre Power Query e MQuery, consulte Que é Power Query? e Power Query Referencia da linguaxe de fórmulas M . O seguinte é un exemplo de MQuery que transforma un pedido de venda dun servizo de pedido externo a un pedido de venda en Intelligent Order Management.

shared TransformSourceData =

let

orderItems = Source\[OrderItems\],

orderheader =

Record.FromTable

(

Table.SelectRows

(

Record.ToTable

(

\[

ordernumber = Record.FieldOrDefault(Source, "SellerOrderId", Text.From(Source\[OrderServiceOrderId\])),

name = ordernumber,

msdyn\_ExternalOrderId = Text.From(Source\[OrderServiceOrderId\]),

\#"customerid\_account@odata.bind" = "/accounts(" & Text.From(Source\[accountid\]) & ")",

\#"pricelevelid@odata.bind" = "/pricelevels(" & Text.From(Source\[pricelevelid\]) & ")",

totalamount = if Record.HasFields(Source, "OrderTotal") then Decimal.From(Record.FieldOrDefault(Source\[OrderTotal\], "Amount")) else null,

shipto\_name = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Name") else null,

shipto\_contactname = shipto\_name,

shipto\_line1 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine1") else null,

shipto\_line2 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine2") else null,

shipto\_line3 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine3") else null,

shipto\_city = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "City") else null,

shipto\_stateorprovince = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "StateOrRegion") else null,

shipto\_country = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "CountryCode") else null,

shipto\_postalcode = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "PostalCode") else null,

shipto\_telephone = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Phone") else null,

overriddencreatedon = Record.FieldOrDefault(Source, "PurchaseDate")

\]

), each \[Value\] \<\> null

)

),

orderlines = List.Transform(orderItems, each

Record.FromTable

(

Table.SelectRows

(

Record.ToTable

(

\[

isproductoverridden = true,

ispriceoverridden = true,

productdescription = \[OrderItemId\] & "-" & Record.FieldOrDefault(\_, "SellerSKU") & "-" & Record.FieldOrDefault(\_, "Title"),

quantity = \[QuantityOrdered\],

quantityshipped = Record.FieldOrDefault(\_, "QuantityShipped"),

priceperunit = if Record.HasFields(\_, "ItemPrice") then Decimal.From(Record.FieldOrDefault(\[ItemPrice\], "Amount")) else null,

manualdiscountamount = if Record.HasFields(\_, "PromotionDiscount") then Decimal.From(Record.FieldOrDefault(\[PromotionDiscount\], "Amount")) else null,

tax = if Record.HasFields(\_, "ItemTax") then Decimal.From(Record.FieldOrDefault(\[ItemTax\], "Amount")) else null,

shipto\_name = Record.FieldOrDefault(orderheader, "shipto\_name"),

shipto\_contactname = Record.FieldOrDefault(orderheader, "shipto\_contactname"),

shipto\_line1 = Record.FieldOrDefault(orderheader, "shipto\_line1"),

shipto\_line2 = Record.FieldOrDefault(orderheader, "shipto\_line2"),

shipto\_line3 = Record.FieldOrDefault(orderheader, "shipto\_line3"),

shipto\_city = Record.FieldOrDefault(orderheader, "shipto\_city"),

shipto\_stateorprovince = Record.FieldOrDefault(orderheader, "shipto\_stateorprovince"),

shipto\_country = Record.FieldOrDefault(orderheader, "shipto\_country"),

shipto\_postalcode = Record.FieldOrDefault(orderheader, "shipto\_postalcode"),

shipto\_telephone = Record.FieldOrDefault(orderheader, "shipto\_telephone"),

overriddencreatedon = Record.FieldOrDefault(orderheader, "overriddencreatedon")

\]

), each \[Value\] \<\> null

)

)

),

salesorder = Record.AddField(orderheader, "order\_details", orderlines)

in Text.FromBinary(Json.FromValue(salesorder));
  1. Seleccione Gardar.

  2. Validar que o seu compoñente de transformación aparece correctamente. Debe mostrarse un tipo de compoñente de Transformación da definición do provedor IOM co nome da transformación. Se non se mostra, selecciona Engadir existente e, a continuación, selecciona a transformación que acabas de crear.

Engade definicións de eventos empresariais

Se o teu provedor crea ou utiliza novos eventos empresariais, debes engadir compoñentes IOM Provider Definition Business Event Definition á túa solución. Só precisa engadir eventos empresariais que aínda non estean en Intelligent Order Management.

Se o evento empresarial que queres crear aínda non está en Intelligent Order Management, podes crear o teu.

  1. Seleccione Novo.

  2. Seleccione Definición do provedor IOM Definición do evento empresarial.

  3. Engade os seguintes detalles:

    1. Nome: o nome do teu evento empresarial.

    2. Fornecedor: o provedor para o que estás creando esta definición de empresa.

    3. Entidade asociada: a Dataverse entidade en Intelligent Order Management que se modifica ou se ve afectada cando se crea o evento.

    4. Valor de estado asociado: se queres que o estado da túa entidade asociada se actualice cando se produza o evento empresarial, inclúe un valor de estado neste campo.

    5. Valor de estado asociado: se queres que o estado da túa entidade asociada se actualice cando se produza o evento empresarial, inclúe un valor de estado neste campo.

  4. Seleccione Gardar.

  5. Comprobe a súa solución para verificar que se amosa o rexistro Definición de eventos empresariales do provedor de IOM . Se o rexistro non aparece na solución, seleccione Engadir existente e, a continuación, seleccione o rexistro que acaba de crear.

Engade un conector

Se o teu provedor necesita un conector que non está dispoñible en Power Automate, debes crear o teu propio conector. Para obter máis información, consulte Lista de todos os Power Automate conectores.

Para crear o teu propio Power Automate conector, sigue os pasos de Descrición xeral dos conectores personalizados.

Despois de crear o seu conector personalizado, engádeo á solución do seu provedor como compoñente.

  1. Vaia á solución do seu provedor.

  2. Seleccione Engadir existente.

  3. Seleccione o conector que creou.

Tipos de Power Automate fluxos

Calquera acción que se execute no deseñador de orquestración está representada por Power Automate fluxos. Se queres Power Automate recuperar información específica ou executar accións específicas, terás que crear os fluxos para esas accións. Para obter máis información sobre Power Automate, consulte Introdución a Power Automate.

Engade os teus fluxos ao teu provedor como compoñentes Definición lóxica de definición de provedor .

Antes de comezar o proceso de creación de fluxos, revise os tipos de fluxos que se usan en Intelligent Order Management.

Controlador de mensaxes do fornecedor

Estes fluxos reciben e procesan mensaxes dun servizo externo e xeran o evento empresarial adecuado para notificar á orquestración de Intelligent Order Management. Estes fluxos son desencadeados por un servizo externo.

O seguinte é un exemplo de estrutura para crear un tipo de fluxo de Power Automate xestor de mensaxes.

  1. Define un Power Automate disparador. Normalmente, este é un punto final HTTP que é un activador de webhook (recomendado), un disparador de conector ou un Dataverse activador de inserción. O disparador lévase cando un servizo externo ten datos para enviar a Intelligent Order Management. Captura de pantalla do activador cando se recibe unha solicitude HTTP.

A continuación defínese o esquema JSON para usar no activador HTTP.

{
    "type": "object",
    "properties": {
        "text": {
            "title": "ProviderActionExecutionEventId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        },
        "text_1": {
            "title": "EntityRecordId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        }
    },
    "required": [
        "text",
        "text_1"
    ]
}
  1. Iniciar o procesamento da mensaxe. Nesta tarefa hai dous pasos.

    1. Inicialice o resultado da execución que se utilizará para rastrexar o procesamento da mensaxe.

    2. Recoñece a mensaxe do provedor en Intelligent Order Management para que poida rastrexar, tentar de novo e mostrar o estado de procesamento. Esta é unha Power Automate acción que introduce Intelligent Order Management. Esta acción chámase Aceptar solicitude de mensaxe do provedor en IOM. Esta acción ten os seguintes parámetros obrigatorios.

      1. PowerAutomateWorkflowId: WorkflowId na definición do controlador de mensaxes. Podes recuperar isto tendo unha función de composición con workflow()['etiquetas'].

      2. PowerAutomateRunId: o identificador único da Power Automate execución que recibiu a mensaxe e permite que a canalización reintente o procesamento e ligue os rexistros de execución. Podes recuperar isto tendo unha función de composición con workflow()['executar']?['nome'].

      3. ProviderMessageExternalRequestId: un identificador para a mensaxe enviada. Se non hai ningún identificador, pódese xerar un GUID. Este identificador é usado pola canalización para evitar que o remitente envíe mensaxes duplicadas. O identificador depende da carga útil de orixe. Por exemplo: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).

Captura de pantalla da pantalla de solicitude de mensaxe de confirmación do provedor.

  1. A transformación do provedor que definiches anteriormente recuperará os datos de entrada e transformalos. Intelligent Order Management ofrece un fluxo secundario listo para usar chamado Transformador de provedores de IOM que executará a transformación. Engade os seguintes detalles para procesar o evento ou a mensaxe:

    1. Nome do provedor: o nome do provedor ligado ao manejador de mensaxes. Este valor debe ser o mesmo nome que a transformación do teu provedor.

    2. Nome do obxecto de orixe: o valor da clave de busca de orixe para realizar a transformación. Este valor debe ser o mesmo que o nome do obxecto de orixe definido na transformación do teu provedor.

    3. Nome do obxecto de destino: O valor da clave de busca de destino para realizar a transformación. Este valor debe ser o mesmo valor definido na transformación do provedor.

    4. Carga útil: ofrécese ao transformar unha carga útil JSON. Power Automate require que os parámetros se pasen como unha cadea serializada. Fornece un valor de Carga útil ou un ID de rexistro , non ambos.

    5. ID de rexistro: proporcionado ao transformar un rexistro Dataverse . Fornece un valor de Carga útil ou un ID de rexistro , non ambos.
      Captura de pantalla da mensaxe de transformación con Power Query En liña.

  2. Podes inserir datos en Dataverse utilizando solicitudes HTTP ou a acción Dataverse conector Inserir . Se estás facendo máis dunha inserción e queres mellorar o rendemento, envolve as insercións nun conxunto de cambios para que as solicitudes estean nun lote de transaccións.
    Captura de pantalla do fluxo de mensaxes de inserción.

  3. Se queres que o teu fluxo genere un evento empresarial, podes utilizar o Fluxo secundario . Engade os seguintes detalles.

    1. BusinessEventName: nome do evento que queres que se produza.

    2. EntityRecordId: ID do rexistro que se acaba de crear e asociado ao evento.

  4. Actualice o estado de procesamento da mensaxe mediante a acción Actualizar o estado da solicitude de mensaxe do provedor para gardar o resultado da execución do procesamento. Engade os seguintes detalles.

    1. ProviderMessageRequestExecutionId: ID de saída do rexistro creado para seguir o progreso do procesamento da mensaxe.

    2. IsProviderMessageRequestExecutionSuccess: Valor booleano para indicar se o procesamento foi satisfactorio.

Extracción de mensaxes do fornecedor

Os extractores de mensaxes do provedor son Power Automate fluxos que extraen mensaxes nun intervalo regularmente definido dun servizo externo.

Nota

Un manejador de mensaxes é un requisito previo para un fluxo de extracción de mensaxes.

O seguinte é un exemplo de estrutura para crear un tipo de fluxo de extracción de mensaxes de Power Automate .

  1. Use un fluxo de traballo de recorrencia para programar un disparador.

  2. Obter un punto de control de Dataverse. Os puntos de verificación fan un seguimento das mensaxes extraídas con éxito do provedor externo. Engade os seguintes detalles.

    1. Nome da acción: nome do punto de control.

    2. WorkflowId: establece a seguinte función de redacción para recuperar esta información: workflow()['tags']['xrmWorkflowId'].
      Captura de pantalla de Obter punto de control.

  3. Crea unha solicitude de publicación HTTP a un provedor externo para extraer as mensaxes. Engade os seguintes detalles.

    1. Método: establece este campo como POST.

    2. URL: o punto final do provedor externo.

    3. Body: a solicitude JSON debe ter a seguinte fórmula: if(empty(outputs('Get_Checkpoint')?['body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[ 'corpo/Punto de control'])).
      Captura de pantalla para as mensaxes Pull.

  4. Analiza as mensaxes extraídas no paso 3. Engade os seguintes detalles.

    1. Contido: o corpo recuperado do paso 3.

    2. Esquema: a estrutura do corpo recuperada no paso 3.
      Captura de pantalla para analizar mensaxes.

  5. Procese as mensaxes para recorrer cada mensaxe do paso 4.

  6. Analiza cada mensaxe dos pasos anteriores. Engade a seguinte información.

    1. Contido: elemento actual de Procesar mensaxes.

    2. Esquema: unha única mensaxe en formato JSON.
      Captura de pantalla para procesar mensaxes 2.

  7. Chame ao xestor de mensaxes do provedor asociado que configurou nos requisitos previos. Engade a seguinte información.

    1. Fluxo infantil: selecciona o teu manejador de mensaxes de provedor.

    2. Mensaxe: a mensaxe analizada dende o paso 6.
      Captura de pantalla para procesar mensaxes 3.

  8. Garda o punto de control en Dataverse. Engade a seguinte información.

    1. Punto de verificación: pode ser calquera valor de cadea (máximo 100). Neste exemplo, este é o ID da última mensaxe procesada.

    2. WorkFlowId: pode recuperar este ID engadindo unha función de composición definida a workflow()['tags']['xrmWorkflowId'].
      Captura de pantalla para procesar mensaxes 4.

Acción do fornecedor

Os fluxos de acción do provedor son invocados desde o deseñador de orquestración. Estes fluxos adoitan facer chamadas desde Intelligent Order Management a servizos externos.

A diferenza fundamental entre un manejador de mensaxes do provedor e unha acción do provedor é que, aínda que un manejador de mensaxes pode notificar ao deseñador de orquestración, non se pode activar mediante un mosaico de acción no deseñador de orquestración, mentres que unha acción do provedor si.

O seguinte é un exemplo de estrutura para un fluxo de acción Power Automate de provedor.

  1. Comeza cun disparador HTTP. A seguinte información será transmitida no tempo de execución polo servizo de orquestración. Usarase o seguinte esquema JSON para o corpo:
{
    "type": "object",
    "properties": {
        "text": {
            "title": "ProviderActionExecutionEventId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        },
        "text_1": {
            "title": "EntityRecordId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        }
    },
    "required": [
        "text",
        "text_1"
    ]
}
  1. Iniciar o procesamento da acción.

    1. Inicialice o resultado da execución e calquera outra variable de procesamento.

    2. Recoñece o inicio da execución da acción mediante a acción Iniciar execución da acción do provedor Dataverse . Isto permitirá que a canalización faga un seguimento, reintente e mostre o estado de procesamento en Intelligent Order Management. Engade a seguinte información.

      1. ProviderActionExecutionEventId: Este valor pasou á acción como parámetro de entrada no paso 1.

      2. PowerAutomateRunID: a execución única da acción Power Automate . Isto permite que a canalización ligue os rexistros de execución. Obtén esta información configurando o campo como unha Power Automate expresión worflow()['executar']?['nome'].

  2. Realiza a acción.

    1. Se é necesario, transforma os rexistros mediante o fluxo secundario Transformar mensaxe con Power Query En liña .

      1. Nome do provedor: o nome do provedor que se vai ligar á acción. O nome debe ser o mesmo que a definición do teu provedor.

      2. Nome do obxecto de orixe: o nome de orixe da transformación que se vai realizar. Este nome debe ser o mesmo obxecto de orixe definido na túa Power Automate transformación.

      3. Nome do obxecto de destino: o valor da clave de busca de destino para realizar a transformación. Este nome debe ser o mesmo valor definido na transformación do provedor.

      4. Carga útil: ofrécese ao transformar unha carga útil JSON de entrada. Power Automate require que os parámetros se pasen como unha cadea serializada. Engade un valor Payload ou un ID de rexistro , pero non ambos.

      5. ID de rexistro: ofrécese ao transformar un rexistro Dataverse de saída. Engade un valor Payload ou un ID de rexistro , pero non ambos.
        Captura de pantalla da mensaxe de transformación con Power Query En liña.

    2. Executa as accións personalizadas que definiches. Estas son accións que están presentes no Power Automate conector que estás a usar.

    3. Crea un evento empresarial específico de acción. Utiliza o Fuxo secundario de eventos empresariales . Engade a seguinte información.

      1. BusinessEventName: o nome do evento que queres crear.

      2. EntityRecordId: ID do rexistro asociado ao evento.

  3. Completa a execución da acción e garda os resultados. Os resultados serán procesados ​​polo deseñador da orquestración. Engade a seguinte información.

    1. ExecutionResult: valor booleano para indicar se o procesamento foi satisfactorio.

    2. ExecutionDetails: detalles de rexistro opcionais para probas e depuración.

    3. ProviderActionExecutionEventId: este valor pasou á acción como un parámetro de entrada que se definiu no paso 1.
      Captura de pantalla da execución completa da acción do provedor.

Fluxo secundario

Un fluxo secundario é un subfluxo ao que se fai referencia noutros Power Automate fluxos. É útil definir un fluxo secundario se hai algúns pasos que repites en varias áreas. Non hai un modelo específico nin un proceso recomendado para os fluxos fillos, xa que están destinados principalmente a ser usados ​​para facilitar a consolidación de pasos similares.

Os fluxos secundarios do provedor non poden chamar a outros fluxos secundarios do provedor.

Crea fluxos de nube

Cando comprendas os tipos de fluxos que queres crear, estarás preparado para crear fluxos de nube. Para facelo, siga estes pasos:

  1. Abre a solución predeterminada no teu Power Apps entorno.

Importante

Non engadas estas solucións á solución do teu provedor.

  1. Seleccione Novo e, a continuación, seleccione Cloud Flow.

  2. Crea o teu Power Automate fluxo. Use os modelos da sección anterior como referencia.

  3. Consulte a seguinte sección para gardar os seus fluxos.

Gardar Power Automate definición

Despois de crear os seus fluxos, cómpre gardalos como compoñentes Definición lóxica de definición de provedor . Este tipo de compoñente proporciona a Xestión Intelixente de Pedidos coas accións para implementar durante a activación do provedor.

Debes ter os seguintes requisitos previos para poder gardar os teus fluxos.

  • Para gardar as túas Power Automate definicións lóxicas, terás que emitir solicitudes OData. Para iso, necesitas unha conta con PostMan ou un servizo similar.

  • Terás que xerar un token de acceso ao teu Dataverse entorno para emitir solicitudes GET e POST. Para facelo, cómpre completar o seguinte.

    • Configura unha conta de Azure cunha subscrición activa. Se non tes unha conta activa, debes configurar unha conta no sitio web de Azure.

    • PowerShell debe estar instalado. Para obter máis información, consulte Instalación de PowerShell.

    • Introduza o seguinte comando en PowerShell para obter un token de acceso: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Portapapeis.

Para gardar a túa Power Automate definición, fai o seguinte.

  1. Busca o ID do fluxo de traballo do Power Automate fluxo que queres gardar. Fai unha das seguintes accións.

    1. Busca o ID do fluxo de traballo mediante unha acción Power Automate .

      1. Crea unha acción de redacción coa expresión workflow() ao final do teu Power Automate fluxo.
        Captura de pantalla da acción Redactar.

      2. Executar Power Automate.

      3. A propiedade xrmWorkflowId dos resultados da execución conterá o ID do fluxo de traballo.
        Captura de pantalla do ID do fluxo de traballo.

      4. Elimina esta acción do fluxo para que non se volva executar.

    2. Opcionalmente, pode emitir unha solicitude Obter OData.

      1. Vaia ao fluxo para o que desexa gardar o ID do fluxo de traballo. Busca o identificador único no URL. Este é o ID que aparece despois de ../flows/ no URL.
        Como atopar o identificador único.

      2. Emita unha solicitude OData para recuperar os metadatos do fluxo de traballo. O seguinte é un exemplo de solicitude GET.
        GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Identificación de fluxo de traballo única do Power Automate U}'&$select=workflowid,workflowidunique

      3. Garda a propiedade workflowid devolta.

  2. Busca o ID de definición do provedor.

    1. Seleccione a definición de provedor na que desexa gardar o fluxo.

    2. Copia o ID da definición do provedor desde o URL. Esta é a parte do URL ../id={número de exemplo}/.
      Como atopar o ID de definición do provedor.

  3. Anota o valor do conxunto de opcións para o tipo de Power Automate que estás gardando.

    1. Fluxo infantil: 192350002

    2. Acción do provedor: 192350001

    3. Manexador de mensaxes do provedor: 192350000

    4. Extractor de mensaxes do provedor: 192350003

  4. Emite unha solicitude POST para gardar a túa Power Automate definición. O seguinte é un exemplo de solicitude.

    POST: {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionLogicDefinition  
    Body:  
    {

"ProviderDefinitionId": "{ProviderId previously found}",

"WorkflowId": "{Power Automate WorkflowId previously found}",

"LogicalName": "{Export prefix \_ Power Automate Export Name}",

"LogicType": {Logic Type},

"MaxRetryAttempts": {Max number of attempts},

"TimeoutMinutes": {Timeout number ex: 5}

}
  1. Validar que se engadiu o seu compoñente de definición lóxica de definición de provedor. Para facelo, siga estes pasos:

    1. Vaia á solución do seu provedor.

    2. Verifique que se engadiu a Definición lóxica de definición de provedor que creou. Se non se engadiu, selecciona Engadir existente e, a continuación, engade o compoñente que creaches.

Garda referencias de conexión

Se o teu provedor utiliza conectores de cliente Power Automate , debes completar os seguintes pasos para gardar as referencias de conexión á túa Power Automate solución.

  1. Envía unha solicitude GET para recuperar o teu ID de referencia de conexión. Por exemplo:
GET {Env url}/api/data/v9.2/connectionreferences

Se queres filtralo máis, podes filtralo polo nome da referencia da conexión. Por exemplo:

    {Env url}/api/data/v9.2/connectionreferences?$[connectionreferences?$filter=connectionreferencedisplayname](https://orgdb90e3a2.api.crm10.dynamics.com/api/data/v9.2/connectionreferences?$filter=connectionreferencedisplayname) eq 'Provider Example'&$select=connectionreferencelogicalname,connectionreferencedisplayname,connectionreferenceid,connectorid

  1. Verifica que se recuperou o ID de referencia de conexión correcto buscando os teus Power Automate datos de cliente.

    1. Vaia ao compoñente Definición lóxica de definición de provedor que gardou anteriormente.

    2. Comprobe os datos do cliente para comprobar que aparece connectionReferenceLogicalName .

  2. Busca o teu ID de definición de provedor. Este é o mesmo valor que utilizaches no paso 2 para gardar as túas Power Automate definicións lóxicas.

  3. Emite unha solicitude de publicación para gardar a referencia de conexión. Por exemplo:

POST {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionConnectionReference  
    Body:  
    {

"ProviderDefinitionId": "{ProviderId previously found}",

"ConnectionReferenceId": "{Connection reference id previously found}"

}
  1. Validar que se engadiu o seu compoñente de definición lóxica de definición de provedor.

    1. Vaia á solución do seu provedor.

    2. Verifique que se engadiu o compoñente de referencia Definición lóxica da definición do provedor que creou. Se non se engadiu, selecciona Engadir existente e engade o compoñente que acabas de crear.

Comparte os teus provedores

Se queres utilizar a definición do teu provedor noutro ambiente ou compartir a túa solución, podes exportar a solución do teu provedor. Para obter máis información, consulte Exportar solucións.