Skapa ny provider
Gör på följande sätt om du vill skapa en ny provider. Du kan också använda de här stegen om du vill lägga till befintliga provider.
Definiera providerarkitektur
Innan du skapar en provider är det viktigt att du förstår vad du vill att providern ska göra och vad du vill använda den för. Providers har flera komponenter och du kanske inte behöver alla komponenter.
Använd följande tabell när du vill fastställa vilka komponenter som du behöver.
Villkor | Komponent som krävs |
---|---|
Tjänsten som du vill skapa en provider för som inte har någon anslutningsprogram i Power Automate. Mer information finns i Lista över alla Power Automate anslutningsprogram. |
Skapa en kundanslutningsprogram eller använd ett allmänt anslutningsprogram. |
Din provider kommer att utbyta data mellan en extern tjänst och Microsoft Dataverse. | Din provider kräver providertransformering. Lägga till en komponent för providertransformering för varje transformering. |
Din provider kör logik från orkestreringsdesignern. | Skapa ett separat Power Automate-flöde som representerar var och en av åtgärderna. |
Din provider behöver bearbeta meddelanden från en extern tjänst. | Skapa ett flöde för Power Automate meddelandehanteraren. |
Providern hämtar meddelanden från en extern tjänst med jämna mellanrum. | Skapa ett flöde för Power Automate meddelandehämtare. |
Din provider skapar affärshändelser som inte för tillfället är definierade i Intelligent Order Management. | Skapa en ny affärshändelsedefinition och lägg till befintliga händelser. |
När du har en god förståelse för lösningarna kan du fortsätta att implementera din provider.
Skapa en providerlösning
Du måste uFöra följande uppgifter i det här avsnittet för att skapa en providerlösning.
Ställa in en anpassad provider.
Lägg till en providerdefinition.
Lägg till komponenterna i lösningen.
Ställa in en anpassad provider
Skapa en lösning i Power Apps komponenterna hos din provider finns. Att skapa en ny lösning i Power Apps, följer du stegen i Skapa en lösning i Power Apps.
Lägg till en providerdefinition
En providerdefinition innehåller information om din provider. Definitionen avgör hur provider visas i providerkatalogen.
Välj i providerlösningen du skapade Ny.
Välj IOMProviderdefinition.
Lägg till följande information:
Visningsnamn: Det namn du vill ge din leverantör, till exempel "Testleverantör".
Logiskt namn: Exportnyckeln för din provider.
Beskrivning: Text som beskriver vad din leverantör gör.
Välj Spara.
Om du vill lägga till en logotyp för du över bilden.
Validera att providerdefinitionen visas i lösningen. En post med komponenttypen IOM-providerdefinition ska visas. Om den inte visas väljer du Lägg till befintlig och markerar sedan den post som du just skapat.
Verifiera att din provider visas i providerskatalogen. Om du ställer in fältet Är aktiv till Ja, visas providerdefinitionen i providerkatalogen. Öppna Intelligent Order Management. Gå till Provider > katalog. Kontrollera att providerdefinitionen visas.
Lägg till komponenter till provider
När du har skapat providerdefinitionen lägger du till providerkomponenterna i lösningen.
Gå till din lösning.
Välj Lägg till befintlig.
Välj komponenttypen Intelligent Order Management och välj sedan posten du just skapade.
Skapa en providertransformering
Om din provider behöver en transformering måste du lägga till en komponent för providertransformering i lösningen. Du kanske måste skapa flera transformeringar.
I providerlösningen, välj Ny.
Välj IOM providerdefinitionstransformation.
Lägg till följande information:
Visningsnamn: Namnet på providertransformeringen, till exempel "Transformera försäljningsorder".
Logiskt namn: Den unika identifieraren för din leverantör. Det här värdet blir import- och exportnyckeln för data. Det bör börja med utgivarens prefix. Till exempel använder Microsoft utgivarprefixet msdyn_. Exempel på logiska namn är: msdyn_flexe_fulfillmentorderproduct_orderline och msdyn_flexe_fulfillmentorder_order.
Källtyp: Det här fältet anger vilken typ av data som tas emot. Det finns två alternativ: JsonDocument eller Dataverse Enhet. Om dina data redan finns i Dataverse väljer du Dataverse Enhet. Om inte, välj JsonDocument. Den här informationen används i det Power Automate-element som du definierar för att slå upp transformeringen.
Källobjektnamn: Namnet på de data som du transformerar. Om du transformerar en Dataverse post ska du kontrollera att källobjektnamnet har samma namn som i Dataverse registret.
Målobjektnamn: Målet för den post som du vill transformera.
Transformering: Online Power Query MQuery som ska användas för att transformera indata. Mer information om Power Query och MQuery, se Vad är Power Query? och Power Query M-formel språkreferens. Följande är ett exempel på en MQuery som omvandlar en försäljningsorder från en extern ordertjänst till en försäljningsorder i 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));
Välj Spara.
Validera att transformeringskomponenten visas korrekt. En komponenttypen IOM-providerdefinitionstransformation med transformeringsnamn ska visas. Om den inte visas väljer du Lägg till befintlig och markerar sedan den transformering som du just skapat.
Lägg till affärshändelsedefinitioner
Om din provider kommer att skapa eller använda nya affärshändelser måste du lägga till komponenter IOM affärshändelsedefinition för providerdefinition till din lösning. Du behöver bara lägga till affärshändelser som inte redan finns i Intelligent Order Management.
Om affärshändelsen som du vill skapa inte redan finns i Intelligent Order Management kan du skapa en egen.
Välj Ny.
Välj IOM affärshändelsedefinition för providerdefinition.
Lägg till följande information:
Namn: Namnet på din affärshändelse.
Provider: Den leverantör som du skapar den här affärsdefinitionen för.
Associerad entitet: Den Dataverse entitet i Intelligent Order Management som ändras eller påverkas när händelsen skapas.
Associerat tillståndsvärde: Om du vill att tillståndet för din associerade entitet ska uppdateras när affärshändelsen utlöses inkluderar du ett tillståndsvärde i det här fältet.
Associerat statusvärde: Om du vill att statusen för din associerade entitet ska uppdateras när affärshändelsen utlöses inkluderar du ett statusvärde i det här fältet.
Välj Spara.
Kontrollera lösningen för att kontrollera att posten IOM affärshändelsedefinition för providerdefinition visas. Om posten inte visas i lösningen väljer du Lägg till befintlig och markerar sedan den post du just skapat.
Lägg till en koppling
Om din provider behöver en kontakt som inte är tillgänglig i Power Automate måste du skapa din egen koppling. Mer information finns i Lista för alla Power Automate kopplingar.
Om du vill skapa din egen Power Automate koppling följer du stegen i Översikt över anpassade kopplingar.
När du har skapat din anpassade anslutningsprogram lägger du till den som en komponent i providerlösningen.
Gå till din providerlösning.
Välj Lägg till befintlig
Välj den anslutningsprogram som du själv har skapat.
Typer av Power Automate-flöden
Alla åtgärder som uFörs i orkestreringsdesignern representeras av Power Automate-flöden. Om du vill att Power Automate hämtar specifik information eller uFöra specifika åtgärder måste du skapa flöden för dessa åtgärder. För mer information om Power Automate, se Introduktion till Power Automate.
Lägg till dina flöden som komponenter för Logikdefinition för providerdefinition till din provider.
Innan du börjar processen för att skapa flödet ska du granska vilka typer av flöden som används i Intelligent Order Management.
Meddelandehanterare för provider
Dessa flöden tar emot och bearbetar meddelanden från en extern tjänst och skapar en lämplig affärshändelse för att meddela orkestrering för Intelligent Order Management. Dessa flöden initieras av en extern tjänst.
Följande är ett exempel på struktur för att skapa en meddelandehanterartyp av Power Automate-flödet.
- Definiera en Power Automate-utlösare. Detta är vanligtvis en HTTP-slutpunkt som är en webhook-utlösare (rekommenderas), anslutningsutlösare eller en Dataverse infogningsutlösare. Utlösaren höjs när en extern tjänst har data som ska skickas till Intelligent Order Management.
Det JSON-schema som ska användas i HTTP-utlösaren definieras nedan.
{
"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"
]
}
Initiera meddelandebearbetningen. Det finns två steg att uFöra i den här uppgiften.
Initiera det körningsresultat som ska användas för att spåra bearbetningen av meddelandet.
Bekräfta providermeddelandet i Intelligent Order Management så att du kan spåra, försöka igen och visa bearbetningsstatus. Detta är en åtgärd Power Automate som Intelligent Order Management introducerar. Den här åtgärden kallas för Bekräfta begäran om providermeddelande i IOM. Den här åtgärden har följande obligatoriska parametrar.
PowerAutomateWorkflowId: WorkflowId i meddelandehanterardefinitionen. Du kan hämta den här genom att ha en skapad funktion med workflow()['tags'].
PowerAutomateRunId: Den unika identifieraren för körningen Power Automate som tog emot meddelandet och gör att pipelinen kan försöka bearbeta igen och länka körningsloggarna. Du kan hämta den här genom att ha en skapad funktion med workflow()['run']?['name'].
ProviderMessageExternalRequestId: En identifierare för meddelandet som skickas. Om det inte finns någon identifierare kan ett GUID skapas. Det här ID:t används av försäljningsförloppet för att hindra avsändaren från att skicka dubblettmeddelanden. Identifieraren är beroende av källnyttolasten. Till exempel: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).
Providertransformeringen som du definierade tidigare hämtar indata och transformerar den. Intelligent Order Management innehåller ett underordnade flöde som kallas IOM provideromvandlare som uFör transformeringen. Lägg till följande information om hur du bearbetar händelsen eller meddelandet:
Providernamn: Namnet på providern som är länkad till meddelandehanteraren. Det här värdet måste vara samma namn som providertransformeringen.
Källobjektnamn: Källuppslagsnyckelvärdet för transformeringen som ska utföras. Det här värdet måste vara samma som källobjektnamnet som definieras i providertransformeringen.
Målobjektnamn: Måluppslagsnyckelvärdet för omvandlingen som ska utföras. Detta värde måste vara samma värde som definierats i providertransformeringen.
Nyttolast: Tillhandahålls vid transformering av en JSON-nyttolast. Power Automate kräver att parametrarna skickas som en serialiserad sträng. Leverera ett Nyttolast eller ett värde för Post-ID, inte båda.
Post-ID: Tillhandahålls när en Dataverse post transformeras. Leverera ett Nyttolast eller ett värde för Post-ID, inte båda.
Du kan infoga data i Dataverse med HTTP-begäran eller Dataverse-anslutningsprogram, åtgärden Infoga. Om du gör mer än en insättning och vill förbättra prestandan, slå in bilagorna i en ändringsuppsättning så att förfrågningarna är i en transaktionsbatch.
Om du vill att flödet ska ge upphov till en affärshändelse, kan du använda det underordnade flödet skapa affärshändelse. Lägg till följande information.
BusinessEventName: Namnet på den händelse som du vill utlösa.
EntityRecordId: ID för den post som just skapats och associerats med händelsen.
Uppdatera meddelandets bearbetningsstatus genom att använda åtgärden Uppdatera status för providermeddelandeförfrågning för att spara resultatet av bearbetningskörningen. Lägg till följande information.
ProviderMessageRequestExecutionId: Utdata-ID:t för posten som skapats för att spåra förloppet för meddelandebearbetningen.
IsProviderMessageRequestExecutionSuccess: Booleskt värde för att ange om bearbetningen lyckades.
Meddelandehämtare för provider
Meddelandehämtare för provider är Power Automate-flöden som hämtar meddelanden med ett regelbundet definierat intervall från en extern tjänst.
Notering
En meddelandehanterare måste ha ett flöde i en meddelandehanterare.
Följande är ett exempel på struktur för att skapa en meddelandehämtartyp av Power Automate-flödet.
Använd ett återkommande arbetsflöde för att schemalägga en utlösare.
Hämta en kontrollpunkt från Dataverse. Kontrollpunkter spårar vilka meddelanden som har dragits från den externa provider. Lägg till följande information.
Åtgärdsnamn: Namn på kontrollpunkten.
WorkflowId: Ange följande skrivfunktion för att hämta den här informationen: workflow()['tags']['xrmWorkflowId'].
Skapa en HTTP-postbegäran till en extern provider för att hämta meddelanden. Lägg till följande information.
Metod: Ställ in det här fältet på POST.
URL: Den externa providerslutpunkten.
Brödtext: JSON-begäran ska ha följande formel: if(empty(outputs('Get_Checkpoint')?[' body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[' body/Checkpoint'])).
Parsa de meddelanden som hämtats i steg 3. Lägg till följande information.
Innehåll: Brödtexten hämtad från steg 3.
Schema: Strukturen för brödtexten som hämtades i steg 3.
Bearbeta meddelanden så att de loopar genom varje meddelande från steg 4.
Parsa varje meddelande från föregående steg. Lägg till följande information.
Innehåll: Aktuellt objekt från Bearbeta meddelanden.
Schema: Ett enda meddelande i JSON-format.
Anropa den associerade providermeddelandehanteraren som du har ställt in i förutsättningarna. Lägg till följande information.
underordnat flöde: Välj meddelandehanteraren för providern.
Meddelande: Meddelandet parsas från steg 6.
Spara kontrollpunkten i Dataverse. Lägg till följande information.
Kontrollpunkt: Detta kan vara valfritt strängvärde (max 100). I det här exemplet är detta ID:t för det senast bearbetade meddelandet.
WorkFlowId: Du kan hämta det här ID:t genom att lägga till en skrivfunktion inställd på workflow()['tags']['xrmWorkflowId'].
Leverantörsåtgärd
Provideråtgärdsflöden startas från orkestreringsdesignern. Dessa flöden ringa normalt samtal från Intelligent Order Management till externa tjänster.
Den största skillnaden mellan en providermeddelandehanterare och en provideråtgärd är att en meddelandehanterare kan meddela orkestreringsdesignern att den inte kan utlösas av en åtgärdsruta i orkestreringsdesignern, medan en provideråtgärd kan göras.
Följande är en exempelstruktur för ett provideråtgärd Power Automate-flöde.
- Börja med en HTTP-utlösare. Följande information överförs under körning av orkestreringstjänsten. Följande JSON-schema kommer att användas för brödtexten:
{
"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"
]
}
Initiera åtgärdsbearbetningen.
Initiera körningsresultatet och alla andra bearbetningsvariabler.
Godkänn starten av åtgärdskörningen genom att använda Starta körningshändelse för provider Dataverse-åtgärden. Detta gör att pipelinen kan spåra, försöka igen och visa bearbetningstillståndet inom Intelligent Order Management. Lägg till följande information.
ProviderActionExecutionEventId: Det här värdet skickades till åtgärden som en indataparameter i steg 1.
PowerAutomateRunID: Den unika körningen av åtgärden Power Automate . Det gör att pipeline kan länka körningsloggarna. Hämta den här informationen genom att ange fältet till ett Power Automate uttryck worflow()['run']?['name'].
UFöra åtgärden.
Om det behövs, transformera posterna med hjälp av det underordnade flödet transformeringsmeddelande med Power Query Online.
Providernamn: Namnet på providern som ska länkas till åtgärden. Namnet måste vara samma namn som din providerdefinition.
Källobjektnamn: Källnamnet för den transformering som ska utföras. Det här namnet måste vara samma källobjekt som definierades i Power Automate transformeringen.
Målobjektnamn: Måluppslagsnyckelvärdet för transformeringen som ska utföras. Detta namn måste vara samma värde som definierats i providertransformeringen.
Nyttolast: Tillhandahålls vid transformering av en inkommande JSON-nyttolast. Power Automate kräver att parametrarna skickas som en serialiserad sträng. Lägg till en Nyttolast eller ett värde för Post-ID, inte båda.
Post-ID: Tillhandahålls vid transformering av en utgående Dataverse post. Lägg till en Nyttolast eller ett värde för Post-ID, inte båda.
UFör anpassade åtgärder som du har definierat. Dessa är åtgärder som finns på den Power Automate anslutning du använder.
Skapa en åtgärdsspecifik affärshändelse. Använd det underordnade flödet för skapa affärshändelse. Lägg till följande information.
BusinessEventName: Namnet på den händelse som du vill aktivera.
EntityRecordId: ID för den post som är associerad med händelsen.
Avsluta åtgärdskörningen och spara resultaten. Resultaten bearbetas av orkestreringsdesignern. Lägg till följande information.
ExecutionResult: Booleskt värde som anger om bearbetningen lyckades.
ExecutionDetails: Valfri logginformation i test- och felsökningssyfte.
ProviderActionExecutionEventId: Det här värdet skickades till åtgärden som en indataparameter som definierades i steg 1.
Underordnat flöde
Ett underflöde är ett delflöde som refereras till i andra Power Automate-flöden. Du bör definiera ett under underordnade flöde om det finns steg som du upprepar över flera områden. Det finns ingen specifik mall eller rekommenderad process för underordnade flöden, eftersom de främst ska användas för att underlätta konsolidering av liknande steg.
Underordnade flöden för provider kan inte ringa upp underordnade flöden för en annan provider.
Skapa molnflöden
När du förstår vilka typer av flöden du vill skapa är du redo att skapa molnflöden. Gör det genom att följa dessa steg:
- Öppna standardlösningen i din Power Apps-miljö.
Viktigt
Lägg inte till dessa lösningar i providerlösningen.
Välj Ny och välj sedan Molnflöde.
Skapa ditt Power Automate-flöde. Använd mallarna i föregående avsnitt som referens.
Information om hur du sparar flödena finns i följande avsnitt.
Spara Power Automate definition
När du har skapat flödena måste du spara dem som komponenter i Logikdefinition för providerdefinition. Den här komponenttypen ger Intelligent Order Management de åtgärder som ska distribueras under provideraktivering.
Du måste ha följande förutsättningar innan du kan spara dina flöden.
Om du vill spara dina Power Automate logikdefinitioner måste du skicka OData-förfrågningar. För att kunna göra detta måste du ha ett konto med PostMan eller en liknande tjänst.
Du måste generera en åtkomsttoken till din Dataverse-miljö för att kunna utfärda GET- och POST-förfrågningar.
Ställa in ett Azure-konto med ett aktivt abonnemang. Om du inte har något aktivt konto måste du ställa in ett konto på Azure webbplatsen.
PowerShell måste ha installerats. För mer information, se Installera PowerShell.
Ange följande kommando i PowerShell för att få en åtkomsttoken: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Clipboard.
Gör följande för att spara din Power Automate-definition.
Hitta arbetsflödes-ID för Power Automate-flödet som du vill spara. Gör något av följande.
Hitta arbetsflödes-ID:t genom att använda en Power Automate-åtgärd.
Skapa en åtgärd tillsammans med uttrycket workflow() i slutet av Power Automate-flödet.
Kör Power Automate.
Egenskapen xrmWorkflowId från körningsresultatet innehåller arbetsflödes-ID:t.
Ta bort den här åtgärden från flödet så att den inte körs igen.
Du kan även utfärda en Get OData-begäran.
Gå till flödet som du vill spara arbetsflödes-ID:t för. Hitta unik identifierare i URL. Detta är det ID som visas efter ../flows/i URL-adressen.
Skapa en OData-begäran om du vill hämta arbetsflödets metadata. Nedan finns ett exempel på GET-begäran.
GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Unikt arbetsflödes-ID från Power Automate U}'&$select=workflowid,workflowiduniqueSpara den returnerade egenskapen workflowid.
Hitta providerdefinition-ID.
Välj den providerdefinition som du vill spara flödet till.
Kopiera providerdefinition-ID från URL. Detta är den del av URL ../id={example number}/.
Notera det inställda värdet för alternativet för den typ av Power Automate som du sparar.
underordnat flöde: 192350002
Leverantörens åtgärd: 192350001
Leverantörens meddelandehanterare: 192350000
meddelandehämtare för provider: 192350003
Skapa en POST-begäran för att spara din Power Automate-definition. Nedan finns ett exempel på begäran.
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}
}
Validera att din komponent för logikdefinition för providerdefinition har lagts till. Gör det genom att följa dessa steg:
Gå till din providerlösning.
Validera att den logikdefinition för providerdefinition du skapade har lagts till. Om den inte läggs till väljer du Lägg till befintlig och lägger sedan till den komponent du skapat.
Spara anslutningsreferenser
Om din provider använder Power Automate-anslutningsprogram för kund måste du uFöra följande steg för att spara anslutningsreferenserna till din Power Automate-lösning.
- Skapa en GET-begäran om du vill hämta ditt anslutningsreferens-ID. Exempel:
GET {Env url}/api/data/v9.2/connectionreferences
Om du vill filtrera den ytterligare kan du filtrera efter anslutningsreferensnamn. Exempel:
{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
Validera att rätt anslutningsreferens-ID hämtats genom att söka i Power Automate klientdata.
Gå till den komponent för logikdefinition för providerdefinition du skapade tidigare.
Kontrollera att klientdata visas genom att kontrollera att connectionReferenceLogicalName visas.
Hitta din providerdefinition-ID. Det här är samma värde som du använde i Steg 2 för att spara dina Power Automate logikdefinitioner.
Skapa en bokföringsbegäran om du vill hämta din anslutningsreferens. Exempel:
POST {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionConnectionReference
Body:
{
"ProviderDefinitionId": "{ProviderId previously found}",
"ConnectionReferenceId": "{Connection reference id previously found}"
}
Validera att din komponent för logikdefinition för providerdefinition har lagts till.
Gå till din providerlösning.
Validera att den komponent för logikdefinition för providerdefinition du skapade har lagts till. Om den inte läggs till väljer du Lägg till befintlig och lägger sedan till den komponent du skapat.
Dela dina providers
Om du vill använda providerdefinitionen i en annan miljö eller dela lösningen, kan du exportera providerlösningen. Mer information finns i Exportera lösningar.