Comparteix a través de


Crear un proveïdor nou

Per crear un proveïdor nou, seguiu els passos següents. També podeu fer servir aquests passos per fer addicions als proveïdors existents.

Definir l'arquitectura del proveïdor

Abans de crear un proveïdor, és important entendre què voleu que faci el proveïdor i per a què el voleu utilitzar. Els proveïdors tenen diversos components i és possible que no necessiteu tots els components.

Utilitzeu la taula següent per determinar quins components necessitareu.

Condició Component necessari
El servei per al qual voleu crear un proveïdor no té cap connector a Power Automate.
Per obtenir més informació, consulteu Llista de tots Power Automate connectors.
Creeu un connector de client o utilitzeu un connector genèric.
El vostre proveïdor intercanviarà dades entre un servei extern i Microsoft Dataverse. El vostre proveïdor necessitarà una transformació de proveïdor. Afegiu un component de transformació del proveïdor per a cada transformació.
El vostre proveïdor executarà la lògica des de Dissenyador d'orquestracions. Creeu un flux Power Automate separat per representar cadascuna de les accions.
El vostre proveïdor ha de processar missatges d'un servei extern. Creeu un Power Automate flux de gestor de missatges.
El vostre proveïdor extreu missatges d'un servei extern a intervals regulars. Creeu un flux de Power Automate Message Puller.
El vostre proveïdor plantejarà esdeveniments empresarials que no estiguin definits actualment a Intelligent Order Management. Creeu una definició d'esdeveniment empresarial nova i afegiu esdeveniments existents.

Quan tingueu una bona comprensió de les solucions, podeu procedir a implementar el vostre proveïdor.

Crear una solució de proveïdor

Heu de completar les tasques següents en aquesta secció per crear una solució de proveïdor.

  • Configureu un proveïdor personalitzat.

  • Afegeix una definició de proveïdor.

  • Afegiu els components a la vostra solució.

Configureu un proveïdor personalitzat

Creeu una solució a Power Apps que contingui els components del vostre proveïdor. Per crear una solució nova a Power Apps, seguiu els passos a Crea una solució a Power Apps.

Afegeix una definició de proveïdor

Una definició de proveïdor conté detalls sobre el vostre proveïdor. La definició determina com apareixerà el vostre proveïdor al Catàleg de proveïdors.

  1. A la solució de proveïdor que heu creat, seleccioneu Nou.

  2. Seleccioneu IOMDefinició del proveïdor.

  3. Afegiu els detalls següents:

    1. Nom de visualització: el nom que voleu donar al vostre proveïdor, per exemple, "Proveïdor de proves".

    2. Nom lògic: la clau d'exportació del vostre proveïdor.

    3. Descripció: text per descriure el que fa el vostre proveïdor.

  4. Seleccioneu Desa.

  5. Si voleu afegir un logotip, carregueu la imatge.

  6. Valideu que la definició del vostre proveïdor aparegui a la solució. S'ha de mostrar un registre amb el tipus de component Definició del proveïdor IOM . Si no es mostra, seleccioneu Afegeix existent i, a continuació, seleccioneu el registre que acabeu de crear.

  7. Valideu que el vostre proveïdor aparegui al Catàleg de proveïdors. Si configureu el camp Està actiu a , la definició de proveïdor es mostrarà al Catàleg de proveïdors. Obriu la gestió intel·ligent de comandes. Aneu a Proveïdors > Catàleg. Comproveu que es mostri la definició del vostre proveïdor.

Afegiu components a la solució

Després de crear la definició de proveïdor, afegiu els components del proveïdor a la solució.

  1. Aneu a la vostra solució.

  2. Seleccioneu Afegeix existent.

  3. Seleccioneu el tipus de component Intelligent Order Management i, a continuació, seleccioneu el registre que acabeu de crear.

Crear una transformació de proveïdor

Si el vostre proveïdor requereix una transformació, heu d'afegir un component de transformació del proveïdor a la vostra solució. És possible que se us demani que creeu múltiples transformacions.

  1. A la solució del vostre proveïdor, seleccioneu Nou.

  2. Seleccioneu Transformació de la definició del proveïdor IOM.

  3. Afegiu els detalls següents:

    1. Nom de visualització: el nom de la transformació del vostre proveïdor, per exemple, "Transforma les comandes de venda".

    2. Nom lògic: l'identificador únic del vostre proveïdor. Aquest valor serà la clau d'importació i exportació de les dades. Hauria de començar amb el prefix de l'editor. Per exemple, Microsoft utilitza el prefix d'editor msdyn_. Alguns exemples de nom lògic són: msdyn_flexe_fulfillmentorderproduct_orderline i msdyn_flexe_fulfillmentorder_order.

    3. Tipus d'origen: aquest camp indica quin tipus de dades es reben. Hi ha dues opcions: JsonDocument o Dataverse Entitat. Si les vostres dades ja es troben a Dataverse, seleccioneu Dataverse Entitat. Si no, seleccioneu JsonDocument. Aquesta informació s'utilitzarà a l'element Power Automate que definiu per buscar la transformació.

    4. Nom de l'objecte font: el nom de les dades que esteu transformant. Si esteu transformant un Dataverse registre, assegureu-vos que el Nom de l'objecte font és el mateix nom que a la taula Dataverse .

    5. Nom de l'objecte de destinació: la destinació del registre que voleu transformar.

    6. Transformació: la Power Query MQuery en línia que s'utilitzarà per transformar les dades d'entrada. Per obtenir informació sobre Power Query i MQuery, consulteu Què és Power Query? i Power Query Referència del llenguatge de fórmula M . El següent és un exemple d'MQuery que transforma una comanda de venda d'un servei de comandes externs a una comanda de vendes a 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. Seleccioneu Desa.

  2. Valideu que el vostre component de transformació aparegui correctament. S'ha de mostrar un tipus de component Transformació de definició del proveïdor IOM amb el nom de la transformació. Si no es mostra, seleccioneu Afegeix existent i, a continuació, seleccioneu la transformació que acabeu de crear.

Afegeix definicions d'esdeveniments empresarials

Si el vostre proveïdor crearà o utilitzarà nous esdeveniments empresarials, heu d'afegir components IOM Provider Definition Business Event Definition a la vostra solució. Només heu d'afegir esdeveniments empresarials que encara no estiguin a Intelligent Order Management.

Si l'esdeveniment empresarial que voleu crear encara no es troba a Intelligent Order Management, podeu crear el vostre.

  1. Seleccioneu Nou.

  2. Seleccioneu Definició de proveïdor IOM Definició d'esdeveniment empresarial.

  3. Afegiu els detalls següents:

    1. Nom: el nom del vostre esdeveniment empresarial.

    2. Proveïdor: el proveïdor per al qual esteu creant aquesta definició d'empresa.

    3. Entitat associada: l' Dataverse entitat de Intelligent Order Management que es modifica o es veu afectada quan es crea l'esdeveniment.

    4. Valor de l'estat associat: si voleu que l'estat de la vostra entitat associada s'actualitzi quan es produeixi l'esdeveniment empresarial, incloeu un valor d'estat en aquest camp.

    5. Valor d'estat associat: si voleu que l'estat de la vostra entitat associada s'actualitzi quan es produeixi l'esdeveniment empresarial, incloeu un valor d'estat en aquest camp.

  4. Seleccioneu Desa.

  5. Comproveu la vostra solució per comprovar que es mostra el registre Definició d'esdeveniments empresarials del proveïdor IOM . Si el registre no apareix a la solució, seleccioneu Afegeixexistent i, a continuació, seleccioneu el registre que acabeu de crear.

Afegiu un connector

Si el vostre proveïdor necessita un connector que no està disponible a Power Automate, heu de crear el vostre propi connector. Per obtenir més informació, consulteu Llista de tots els Power Automate connectors.

Per crear el vostre propi Power Automate connector, seguiu els passos de la Visió general dels connectors personalitzats.

Després de crear el connector personalitzat, afegiu-lo a la solució del vostre proveïdor com a component.

  1. Aneu a la solució del vostre proveïdor.

  2. Seleccioneu Afegeix existents.

  3. Seleccioneu el connector que heu creat.

Tipus de Power Automate flujos

Qualsevol acció que s'executi a Dissenyador d'orquestracions està representada per Power Automate flujos. Si voleu Power Automate recuperar informació específica o executar accions específiques, haureu de crear els fluxos per a aquestes accions. Per obtenir més informació sobre Power Automate, vegeu Introducció a Power Automate.

Afegiu els vostres fluxos com a components Definició lògica de definició del proveïdor al vostre proveïdor.

Abans de començar el procés de creació de flux, reviseu els tipus de fluxos que s'utilitzen a la gestió intel·ligent de comandes.

Gestor de missatges del proveïdor

Aquests fluxos reben i processen missatges d'un servei extern i generen l'esdeveniment empresarial adequat per notificar l'orquestració Intelligent Order Management. Aquests fluxos es desencadenen per un servei extern.

A continuació es mostra un exemple d'estructura per crear un tipus de gestor de missatges de Power Automate flux.

  1. Definiu un Power Automate disparador. Normalment és un punt final HTTP que és un activador de webhook (recomanat), un activador del connector o un activador Dataverse insert. El disparador s'activa quan un servei extern té dades per enviar a Intelligent Order Management. Captura de pantalla de l'activador quan es rep una sol·licitud HTTP.

L'esquema JSON que s'ha d'utilitzar al vostre activador HTTP es defineix a continuació.

{
    "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. Inicialitzar el processament del missatge. Hi ha dos passos en aquesta tasca.

    1. Inicialitzar el resultat de l'execució que s'utilitzarà per fer el seguiment del processament del missatge.

    2. Confirmeu el missatge del proveïdor a Intelligent Order Management perquè pugueu fer un seguiment, tornar-ho a provar i mostrar l'estat de processament. Aquesta és una Power Automate acció que introdueix Intelligent Order Management. Aquesta acció s'anomena Reconeix la sol·licitud de missatge del proveïdor a IOM. Aquesta acció té els següents paràmetres obligatoris.

      1. PowerAutomateWorkflowId: WorkflowId a la definició del gestor de missatges. Podeu recuperar-ho tenint una funció de redacció amb workflow()['etiquetes'].

      2. PowerAutomateRunId: l'identificador únic de l'execució Power Automate que va rebre el missatge i permet que la canalització torni a intentar el processament i enllaçar els registres d'execució. Podeu recuperar-ho tenint una funció de redacció amb workflow()['executar']?['nom'].

      3. ProviderMessageExternalRequestId: identificador del missatge enviat. Si no hi ha cap identificador, es pot generar un GUID. Aquest identificador l'utilitza el pipeline per evitar que el remitent enviï missatges duplicats. L'identificador depèn de la càrrega útil d'origen. Per exemple: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).

Captura de pantalla de la pantalla de sol·licitud de missatge de reconeixement del proveïdor.

  1. La transformació del proveïdor que heu definit anteriorment recuperarà les dades d'entrada i les transformarà. La gestió intel·ligent de comandes proporciona un flux secundari definit com a Transformador de proveïdors IOM que executarà la transformació. Afegiu els detalls següents per processar l'esdeveniment o missatge:

    1. Nom del proveïdor: el nom del proveïdor enllaçat amb el gestor de missatges. Aquest valor ha de ser el mateix nom que la transformació del vostre proveïdor.

    2. Nom de l'objecte d'origen: el valor de la clau de cerca d'origen per a la transformació. Aquest valor ha de ser el mateix que el nom de l'objecte d'origen definit a la transformació del vostre proveïdor.

    3. Nom de l'objecte de destinació: El valor de la clau de cerca de destinació per a la transformació. Aquest valor ha de ser el mateix valor definit a la transformació del proveïdor.

    4. Càrrega útil: es proporciona quan es transforma una càrrega útil JSON. Power Automate requereix que els paràmetres es passin com a cadena serialitzada. Proporcioneu un valor Càrrega útil o un ID de registre , no tots dos.

    5. Identificador de registre: es proporciona quan es transforma un Dataverse registre. Proporcioneu un valor Càrrega útil o un ID de registre , no tots dos.
      Captura de pantalla del missatge de transformació amb Power Query En línia.

  2. Podeu inserir dades a Dataverse utilitzant sol·licituds HTTP o l'acció Dataverse connector Insereix . Si esteu fent més d'una inserció i voleu millorar el rendiment, Empaqueta les insercions en un conjunt de canvis perquè les sol·licituds estiguin en un lot de transaccions.
    Captura de pantalla del flux de missatges d'inserció.

  3. Si voleu que el vostre flux generi un esdeveniment empresarial, podeu fer servir l' Aixeca l'esdeveniment empresarial flux secundari. Afegiu els detalls següents.

    1. BusinessEventName: nom de l'esdeveniment que voleu plantejar.

    2. EntityRecordId: l'identificador del registre que s'acaba de crear i associat a l'esdeveniment.

  4. Actualitzeu l'estat de processament del missatge mitjançant l'acció Actualitza l'estat de la sol·licitud de missatge del proveïdor per desar el resultat de l'execució del processament. Afegiu els detalls següents.

    1. ProviderMessageRequestExecutionId: l'identificador de sortida del registre creat per fer un seguiment del progrés del processament del missatge.

    2. IsProviderMessageRequestExecutionSuccess: Valor booleà per indicar si el processament ha tingut èxit.

Extractor de missatges del proveïdor

Els extractors de missatges del proveïdor són Power Automate flujos que extreuen missatges a un interval definit regularment des d'un servei extern.

Nota

Un gestor de missatges és un requisit previ per a un flux d'extractor de missatges.

El següent és un exemple d'estructura per crear un tipus d'extracció de missatges de Power Automate flux.

  1. Utilitzeu un flux de treball de recurrència per programar un activador.

  2. Obteniu un punt de control de Dataverse. Els punts de control fan un seguiment dels missatges que s'han extret correctament del proveïdor extern. Afegiu els detalls següents.

    1. Nom de l'acció: nom del punt de control.

    2. WorkflowId: configureu la funció de redacció següent per recuperar aquesta informació: workflow()['tags']['xrmWorkflowId'].
      Captura de pantalla de Get checkpoint.

  3. Creeu una sol·licitud de publicació HTTP a un proveïdor extern per extreure els missatges. Afegiu els detalls següents.

    1. Mètode: estableix aquest camp a POST.

    2. URL: el punt final del proveïdor extern.

    3. Body: la sol·licitud JSON hauria de tenir la fórmula següent: if(empty(outputs('Get_Checkpoint')?['body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[ 'cos/punt de control'])).
      Captura de pantalla dels missatges d'extracció.

  4. Analitzeu els missatges extrets a pas 3. Afegiu els detalls següents.

    1. Contingut: el cos recuperat de pas 3.

    2. Esquema: l'estructura del cos recuperada a pas 3.
      Captura de pantalla dels missatges Parse.

  5. Processa missatges per recórrer cada missatge de pas 4.

  6. Analitzeu cada missatge dels passos anteriors. Afegiu la informació següent.

    1. Contingut: element actual de Procesa missatges.

    2. Esquema: un sol missatge en format JSON.
      Captura de pantalla dels missatges de procés 2.

  7. Truqueu al gestor de missatges del proveïdor associat que hàgiu configurat als requisits previs. Afegiu la informació següent.

    1. flux secundari: seleccioneu el gestor de missatges del vostre proveïdor.

    2. Missatge: el missatge analitzat des de pas 6.
      Captura de pantalla dels missatges de procés 3.

  8. Deseu el punt de control a Dataverse. Afegiu la informació següent.

    1. Punt de control: pot ser qualsevol valor de cadena (màxim 100). En aquest exemple, aquest és l'ID de l'últim missatge processat.

    2. WorkFlowId: podeu recuperar aquest ID afegint una funció de redacció establerta a workflow()['tags']['xrmWorkflowId'].
      Captura de pantalla dels missatges de procés 4.

Acció del proveïdor

Els fluxos d'acció del proveïdor s'invoquen des de Dissenyador d'orquestracions. Aquests fluxos solen fer trucades des de la gestió intel·ligent de comandes a serveis externs.

La diferència clau entre un gestor de missatges de proveïdor i una acció de proveïdor és que, tot i que un gestor de missatges pot notificar el Dissenyador d'orquestracions, no es pot activar mitjançant una fitxa d'acció al Dissenyador d'orquestracions, mentre que una acció del proveïdor sí.

El següent és un exemple d'estructura d'un flux d'acció Power Automate del proveïdor.

  1. Comenceu amb un activador HTTP. El servei d'orquestració passarà la informació següent en temps d'execució. S'utilitzarà l'esquema JSON següent per al cos:
{
    "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. Inicialitzar el processament de l'acció.

    1. Inicialitzar el resultat de l'execució i qualsevol altra variable de processament.

    2. Confirmeu l'inici de l'execució de l'acció mitjançant l'acció Iniciar execució d'accions del proveïdor Dataverse . Això permetrà que la canalització faci un seguiment, torni a intentar i mostri l'estat de processament a Intelligent Order Management. Afegiu la informació següent.

      1. ProviderActionExecutionEventId: Aquest valor s'ha passat a l'acció com a paràmetre d'entrada a pas 1.

      2. PowerAutomateRunID: l'execució única de l'acció Power Automate . Això permet que la canalització enllaçi els registres d'execució. Obteniu aquesta informació establint el camp com a Power Automate expressió worflow()['executar']?['nom'].

  2. Realitza l'acció.

    1. Si cal, transformeu els registres mitjançant Transforma el missatge amb Power Query En línia flux secundari.

      1. Nom del proveïdor: el nom del proveïdor que s'ha d'enllaçar a l'acció. El nom ha de ser el mateix que la definició del vostre proveïdor.

      2. Nom de l'objecte d'origen: el nom d'origen de la transformació que cal dur a terme. Aquest nom ha de ser el mateix objecte d'origen definit a la vostra Power Automate transformació.

      3. Nom de l'objecte de destinació: el valor de la clau de cerca de destinació per a la transformació. Aquest nom ha de ser el mateix valor definit a la transformació del proveïdor.

      4. Càrrega útil: es proporciona quan es transforma una càrrega útil JSON d'entrada. Power Automate requereix que els paràmetres es passin com a cadena serialitzada. Afegiu un valor Càrrega útil o un ID de registre , però no tots dos.

      5. Identificador de registre: es proporciona quan es transforma un registre Dataverse de sortida. Afegiu un valor Càrrega útil o un ID de registre , però no tots dos.
        Captura de pantalla del missatge de transformació amb Power Query En línia.

    2. Executeu les accions personalitzades que hàgiu definit. Aquestes són accions que estan presents al Power Automate connector que esteu utilitzant.

    3. Planteja un esdeveniment empresarial específic d'acció. Utilitzeu l' Esdeveniment de l'empresa flux secundari. Afegiu la informació següent.

      1. BusinessEventName: el nom de l'esdeveniment que voleu plantejar.

      2. EntityRecordId: l'identificador del registre associat a l'esdeveniment.

  3. Completeu l'execució de l'acció i deseu els resultats. Els resultats seran processats pel Dissenyador d'orquestracions. Afegiu la informació següent.

    1. ExecutionResult: valor booleà per indicar si el processament ha tingut èxit.

    2. ExecutionDetails: detalls del registre opcionals amb finalitats de prova i depuració.

    3. ProviderActionExecutionEventId: aquest valor es va passar a l'acció com a paràmetre d'entrada que es va definir a pas 1.
      Captura de pantalla de l'execució completa de l'acció del proveïdor.

Flux secundari

Un flux secundari és un subflux al qual es fa referència en altres Power Automate flujos. És útil definir un flux secundari si hi ha alguns passos que repetiu en diverses àrees. No hi ha una plantilla específica ni un procés recomanat per als fluxos secundaris, ja que s'han d'utilitzar principalment per a la comoditat de consolidar passos similars.

Els fluxos secundaris del proveïdor no poden trucar als fluxos secundaris d'altres proveïdors.

Crea fluxos de núvols

Quan entengueu els tipus de fluxos que voleu crear, esteu preparat per crear fluxos al núvol. Per fer-ho, seguiu aquests passos:

  1. Obriu la solució predeterminada al vostre Power Apps entorn.

Important

No afegiu aquestes solucions a la solució del vostre proveïdor.

  1. Seleccioneu Nou i, a continuació, seleccioneu flux de núvol.

  2. Creeu el vostre Power Automate flux. Utilitzeu les plantilles de la secció anterior com a referència.

  3. Consulteu la secció següent per desar els vostres fluxos.

Desa Power Automate la definició

Després de crear els fluxos, els heu de desar com a components Definició lògica de definició del proveïdor . Aquest tipus de component proporciona Intelligent Order Management amb les accions que cal desplegar durant l'activació del proveïdor.

Heu de tenir els requisits previs següents abans de poder desar els vostres fluxos.

  • Per desar les vostres Power Automate definicions lògiques, haureu d'emetre sol·licituds OData. Per fer-ho, necessiteu un compte amb PostMan o un servei similar.

  • Haureu de generar un testimoni d'accés al vostre Dataverse entorn per emetre sol·licituds GET i POST.

    • Configureu un compte Azure amb una subscripció activa. Si no teniu cap compte actiu, heu de configurar un compte al lloc web d'Azure.

    • S'ha d'instal·lar PowerShell. Per obtenir més informació, consulteu Instal·lació de PowerShell.

    • Introduïu l'ordre següent a PowerShell per obtenir un testimoni d'accés: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Porta-retalls.

Per desar la vostra Power Automate definició, feu el següent.

  1. Cerqueu l'identificador del flux de treball del Power Automate flux que voleu desar. Feu una de les accions següents.

    1. Trobeu l'identificador del flux de treball mitjançant una Power Automate acció.

      1. Creeu una acció de redacció amb l'expressió workflow() al final del vostre Power Automate flux.
        Captura de pantalla de l'acció de redacció.

      2. Executeu Power Automate.

      3. La propietat xrmWorkflowId dels resultats de l'execució contindrà l'ID del flux de treball.
        Captura de pantalla de l'identificador del flux de treball.

      4. Suprimeix aquesta acció del flux perquè no es torni a executar.

    2. Opcionalment, podeu enviar una sol·licitud Get OData.

      1. Aneu al flux per al qual voleu desar l'ID del flux de treball. Cerqueu l'identificador únic a l'URL. Aquest és l'identificador que apareix després de ../flows/ a l'URL.
        Com trobar un identificador únic.

      2. Emetre una sol·licitud OData per recuperar les metadades del flux de treball. El següent és un exemple de sol·licitud GET.
        GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Identificador de flux de treball únic de Power Automate U}'&$select=workflowid,workflowidunique

      3. Deseu la propietat workflowid retornada.

  2. Cerqueu l'identificador de definició del proveïdor.

    1. Seleccioneu la definició del proveïdor on voleu desar el flux.

    2. Copieu l'ID de definició del proveïdor de l'URL. Aquesta és la part de l'URL ../id={número d'exemple}/.
      Com trobar l'identificador de definició del proveïdor.

  3. Anoteu el valor del conjunt d'opcions per al tipus de Power Automate que esteu desant.

    1. flux secundari: 192350002

    2. Acció del proveïdor: 192350001

    3. Gestor de missatges del proveïdor: 192350000

    4. extractor de missatges del proveïdor: 192350003

  4. Emet una sol·licitud POST per desar la teva Power Automate definició. El següent és un exemple de sol·licitud.

    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. Valideu que s'ha afegit el vostre component Definició lògica de definició de proveïdor. Per fer-ho, seguiu aquests passos:

    1. Aneu a la solució del vostre proveïdor.

    2. Verifiqueu que s'ha afegit la definició lògica de definició de proveïdor que heu creat. Si no s'ha afegit, seleccioneu Afegeix l'existent i, a continuació, afegiu el component que heu creat.

Desa les referències de connexió

Si el vostre proveïdor utilitza connectors de client Power Automate , heu de completar els passos següents per desar les referències de connexió a la vostra solució Power Automate .

  1. Emetre una sol·licitud GET per recuperar el vostre identificador referència de connexió. Per exemple:
GET {Env url}/api/data/v9.2/connectionreferences

Si voleu filtrar-lo més, podeu filtrar pel nom referència de connexió. Per exemple:

    {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. Valideu que s'ha recuperat l'identificador correcte referència de connexió cercant les vostres Power Automate dades de client.

    1. Aneu al component Definició lògica de definició del proveïdor que heu desat anteriorment.

    2. Comproveu les dades del client per verificar que aparegui connectionReferenceLogicalName .

  2. Trobeu el vostre identificador de definició de proveïdor. Aquest és el mateix valor que heu utilitzat a pas 2 per desar les vostres Power Automate definicions lògiques.

  3. Emetre una sol·licitud de publicació per desar el vostre referència de connexió. Per exemple:

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

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

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

}
  1. Valideu que s'ha afegit el vostre component Definició lògica de definició de proveïdor.

    1. Aneu a la solució del vostre proveïdor.

    2. Verifiqueu que s'ha afegit el component de referència de definició lògica de definició de proveïdor que heu creat. Si no s'ha afegit, seleccioneu Afegeix l'existent i afegiu el component que acabeu de crear.

Comparteix els teus proveïdors

Si voleu utilitzar la definició del vostre proveïdor en un altre entorn o compartir la vostra solució, podeu exportar la vostra solució de proveïdor. Per obtenir més informació, consulteu Exportació de solucions.