Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby utworzyć nowego dostawcę, wykonaj następujące kroki. Ponadto te czynności można wykonać, aby dodać dodatki do istniejących dostawców.
Określanie architektury dostawcy
Przed utworzeniem dostawcy ważne jest, aby zrozumieć, co ma on robić i czego ma używać. Dostawcy zawierają wiele składników i nie wszystkie muszą być potrzebne.
Aby określić, które składniki są wymagane, skorzystaj z poniższej tabeli.
| Warunek | Potrzebny składnik |
|---|---|
| Usługa, dla której chcesz utworzyć dostawcę, nie zawiera łącznika w usłudze Power Automate. Aby uzyskać więcej informacji, zobacz temat Lista wszystkich łączników usługi Power Automate. |
Utwórz łącznik odbiorcy lub użyj łącznika ogólnego. |
| Dostawca będzie wymieniać dane między usługą zewnętrzną a usługą Microsoft Dataverse. | Dostawca będzie wymagać przekształcenia dostawcy. Dodaj składnik przekształcenia dostawcy dla każdego przekształcenia. |
| Dostawca wykona logikę z projektanta orkiestracji. | Utwórz osobny przepływ Power Automate reprezentujący każdą z akcji. |
| Dostawca musi przetwarzać komunikaty z usługi zewnętrznej. | Utwórz przepływ procedury obsługi komunikatów usługi Power Automate. |
| Dostawca będzie regularnie ściągać wiadomości z usługi zewnętrznej. | Utwórz przepływ programu ściągającego komunikaty usługi Power Automate. |
| Dostawca będzie określać zdarzenia biznesowe, które nie są obecnie określone w usłudze Intelligent Order Management. | Utwórz nową definicję zdarzenia biznesowego i dodaj istniejące zdarzenia. |
Po zapoznaniu się z funkcjami rozwiązań, możesz kontynuować implementację swojego dostawcy.
Tworzenie rozwiązania dostawcy
W celu utworzenia rozwiązania dostawcy należy wykonać zadania znajdujące się w tej sekcji.
Skonfiguruj niestandardowego dostawcę.
Dodaj definicję dostawcy.
Dodaj składniki do rozwiązania.
Konfigurowanie niestandardowego dostawcy
Utwórz rozwiązanie w usłudze Power Apps, które będzie zawierać składniki dostawcy. Aby utworzyć nowe rozwiązanie w usłudze Power Apps, wykonaj kroki opisane w temacie Tworzenie rozwiązania w usłudze Power Apps.
Dodawanie definicji dostawcy
Definicja dostawcy zawiera szczegóły dotyczące dostawcy. Definicja określa sposób, w jaki dostawca będzie widoczny w katalogu dostawcy.
W utworzonym rozwiązaniu dostawcy wybierz pozycję Nowy.
Wybierz opcje IOMDefinicja dostawcy.
Dodaj następujące szczegóły:
Nazwa wyświetlana: nazwa, którą chcesz nadać dostawcy, na przykład „Dostawca testowy”.
Nazwa logiczna: klucz eksportu dla dostawcy.
Opis: tekst opisujący, co robi dostawca.
Wybierz opcję Zapisz.
Jeśli chcesz dodać logo, przekaż obraz.
Sprawdź, czy definicja dostawcy pojawia się w rozwiązaniu. Powinien wyświetlić się rekord o typie składnika Definicja dostawcy IOM. Jeśli się nie wyświetla, wybierz opcję Dodaj istniejące, a następnie wybierz właśnie utworzony rekord.
Sprawdź, czy dostawca jest widoczny w katalogu dostawców. Jeśli w polu Jest aktywne zostanie ustawiona wartość Tak, definicja dostawcy wyświetli się w katalogu dostawców. Otwórz usługę Intelligent Order Management. Przejdź do opcji Dostawcy > Katalog. Sprawdź, czy jest wyświetla się definicja dostawcy.
Dodawanie składników do rozwiązania
Po utworzeniu definicji dostawcy dodaj składniki dostawcy do rozwiązania.
Przejdź do swojego rozwiązania.
Wybierz opcję Dodaj istniejące.
Wybierz typ składnika usługi Intelligent Order Management, a następnie wybierz właśnie utworzony rekord.
Tworzenie przekształceń dostawców
Jeśli dostawca wymaga przekształcenia, dodaj do rozwiązania składnik przekształcenia dostawcy. Może być konieczne utworzenie wielu przekształceń.
W utworzonym rozwiązaniu dostawcy wybierz opcję Nowe.
Wybierz opcję Przekształcenie definicji dostawcy usługi IOM.
Dodaj następujące szczegóły:
Nazwa wyświetlana: nazwa przekształcenia dostawcy, na przykład „Przekształcenie zamówień sprzedaży”.
Nazwa logiczna: unikatowy identyfikator dostawcy. Ta wartość będzie kluczem importu i eksportu danych. Powinna rozpoczynać się od prefiksu wydawcy. Na przykład firma Microsoft używa prefiksu wydawcy msdyn_. Przykłady nazw logicznych: msdyn_flexe_fulfillmentorderproduct_orderline, msdyn_flexe_fulfillmentorder_order.
Typ źródła: to pole wskazuje typ otrzymywanych danych. Dostępne są dwie opcje: JsonDocument lub Jednostka Dataverse. Jeśli dane są już w usłudze Dataverse, wybierz opcję Jednostka usługi Dataverse. Jeśli nie, wybierz opcję JsonDocument. Te informacje zostaną użyte w elemencie usługi Power Automate określonym w celu wyszukiwania przekształcenia.
Nazwa obiektu źródłowego: nazwa danych, które przekształcasz. Jeśli przekształcasz rekord usługi Dataverse, upewnij się, że Nazwa obiektu źródłowego jest taka sama jak nazwa w tabeli usługi Dataverse.
Nazwa obiektu docelowego: miejsce docelowe rekordu, który ma być przekształcony.
Przekształcenie: zapytanie Power Query Online MQuery, które zostanie użyte do przekształcenia danych wejściowych. Aby uzyskać informacje o zapytaniach Power Query i MQuery, zobacz temat Czym jest zapytanie Power Query? i Odwołanie do języka formuły zapytania Power Query M. Poniżej przedstawiono przykład zapytania MQuery, które przekształca zamówienie sprzedaży z zewnętrznej usługi zamówień na zamówienie sprzedaży w usłudze 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));
Wybierz opcję Zapisz.
Zweryfikuj, czy składnik przekształcenia poprawnie się wyświetla. Powinna wyświetlać się nazwa przekształcenia typu składnika Przekształcenie definicji dostawcy usługi IOM. Jeśli się nie wyświetla, wybierz opcję Dodaj istniejące, a następnie wybierz właśnie utworzone przekształcenie.
Dodawanie definicji zdarzenia biznesowego
Jeśli dostawca utworzy lub użyje nowych zdarzeń biznesowych, należy dodać do rozwiązania składniki Definicji zdarzeń biznesowych definicji usługi IOM. Należy dodać tylko te zdarzenia biznesowe, które jeszcze nie są dostępne w usłudze Intelligent Order Management.
Jeśli zdarzenie biznesowe, które chcesz utworzyć, nie znajduje się jeszcze w usłudze Intelligent Order Management, możesz utworzyć własne.
Wybierz opcję Nowe.
Wybierz opcję Definicja zdarzenia biznesowego definicji dostawcy usługi IOM.
Dodaj następujące szczegóły:
Nazwa: nazwa zdarzenia biznesowego.
Dostawca: dostawca, dla którego tworzysz tę definicję biznesową.
Skojarzona jednostka: jednostka usługi Dataverse w usłudze Intelligent Order Management, która ulega zmianie lub na którą ma to wpływ podczas tworzenia zdarzenia.
Skojarzona wartość stanu: jeśli chcesz, aby stan skojarzonej jednostki został zaktualizowany po podwyższeniu zdarzenia biznesowego, uwzględnij w tym polu wartość stanu.
Skojarzona wartość stanu: jeśli chcesz, aby stan skojarzonej jednostki został zaktualizowany po podwyższeniu zdarzenia biznesowego, uwzględnij w tym polu wartość stanu.
Wybierz opcję Zapisz.
Sprawdź rozwiązanie, aby zweryfikować, że rekord Definicji zdarzenia biznesowego dostawcy IOM jest wyświetlany. Jeśli rekord nie jest wyświetlany w rozwiązaniu, wybierz opcję Dodaj istniejący, a następnie wybierz właśnie utworzony rekord.
Dodawanie łącznika
Jeśli dostawca wymaga łącznika, który jest niedostępny w usłudze Power Automate, utwórz własny. Aby uzyskać więcej informacji, zobacz temat Lista wszystkich łączników usługi Power Automate.
Aby utworzyć własny łącznik usługi Power Automate, wykonaj kroki w temacie Łączniki niestandardowe — omówienie.
Po utworzeniu łącznika niestandardowego dodaj go do rozwiązania dostawcy jako składnik.
Przejdź do rozwiązania dostawcy.
Wybierz opcję Dodaj istniejące.
Zaznacz utworzony łącznik.
Typy przepływów usługi Power Automate
Każda akcja wykonywana w projektancie orkiestracji jest reprezentowana przez przepływy usługi Power Automate. Jeśli chcesz, by usługa Power Automate pobrała określone informacje lub wykonała określone akcje, musisz utworzyć przepływy dla tych akcji. Aby dowiedzieć się więcej o usłudze Power Automate, zobacz temat Wstęp do usługi Power Automate.
Dodaj do dostawcy przepływy jako składniki Definicji logiki definicji dostawcy.
Przed rozpoczęciem procesu tworzenia przepływu przejrzyj typy przepływów, które są używane w usłudze Intelligent Order Management.
Procedura obsługi komunikatów dostawcy
Te przepływy otrzymują i przetwarzają komunikaty z usługi zewnętrznej i zgłaszają odpowiednie zdarzenia biznesowe w celu powiadomienia orkiestracji usługi Intelligent Order Management. Te przepływy wyzwala usługa zewnętrzna.
Poniżej przedstawiono przykładową strukturę tworzenia typu procedury obsługi komunikatów przepływu usługi Power Automate.
- Określ wyzwalacz usługi Power Automate. Zwykle jest to punkt końcowy HTTP, będący wyzwalaczem elementu webhook (zalecane), wyzwalaczem łącznika lub wyzwalaczem wstawiania usługi Dataverse. Wyzwalacz jest wywoływany, gdy usługa zewnętrzna zawiera dane do wysłania do usługi Intelligent Order Management.
Schemat JSON do użycia w wyzwalaczu HTTP został określony poniżej.
{
"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"
]
}
Inicjuj przetwarzanie komunikatu. To zadanie zawiera dwa kroki.
Inicjuj wynik wykonania, który będzie używany do śledzenia przetwarzania komunikatu.
Potwierdź komunikat dostawcy w usłudze Intelligent Order Management, by umożliwić śledzenie, ponawianie prób i wyświetlanie stanu przetwarzania. Jest to akcja usługi Power Automate, którą wprowadza usługa Intelligent Order Management. Ta akcja nazywa się Potwierdzenie żądania komunikatu dostawcy w usłudze IOM. Ta akcja zawiera następujące wymagane parametry.
PowerAutomateWorkflowId: identyfikator WorkflowId w definicji procedury obsługi komunikatów. Można go pobrać za pomocą funkcji określania z workflow()['tags'].
PowerAutomateRunId: identyfikator unikatowy do uruchamiania usługi Power Automate, który odebrał komunikat i umożliwia potokowi ponowienie próby przetworzenia i połączenie dzienników wykonywania. Można go pobrać za pomocą funkcji określania z workflow()['run']?['name'].
ProviderMessageExternalRequestId: identyfikator wysłanej wiadomości. Jeśli brak identyfikatora, można wygenerować identyfikator GUID. Ten identyfikator jest używany przez potok, aby uniemożliwić nadawcy wysyłanie zduplikowanych komunikatów. Identyfikator jest zależny od źródłowego ładunku. Na przykład: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).
Określone wcześniej przekształcenie dostawcy spowoduje pobranie danych wejściowych i ich przekształcenie. Usługa Intelligent Order Management zapewnia gotowy przepływ podrzędny o nazwie Przekształcenie dostawcy usługi IOM, który wykonuje przekształcenie. Dodaj następujące szczegóły do przetwarzania zdarzenia lub komunikatu:
Nazwa dostawcy: nazwa dostawcy połączonego z procedurą obsługi komunikatów. Ta wartość musi mieć taką samą nazwę jak przekształcenie dostawcy.
Nazwa obiektu źródłowego: wartość klucza wyszukiwania źródła dla przekształcenia, które ma być wykonane. Ta wartość musi być taka sama jak nazwa obiektu źródłowego określona w przekształceniu dostawcy.
Nazwa obiektu docelowego: wartość klucza wyszukiwania celu dla przekształcenia, które ma być wykonane. Ta wartość musi mieć taką samą wartość, jak określono w przekształceniu dostawcy.
Ładunek: dostarczany podczas przekształcania ładunku JSON. Usługa Power Automate wymaga, aby parametry były przekazywane jako serializowany ciąg. Należy podać albo wartość Ładunek, albo Identyfikator rekordu.
Identyfikator rekordu: podawany podczas przekształcania rekordu usługi Dataverse. Należy podać albo wartość Ładunek, albo Identyfikator rekordu.
Dane można wstawiać do usługi Dataverse przy użyciu żądań HTTP lub akcji łącznika usługi Dataverse Wstaw. Jeśli użytkownik wykonuje ponad jedno wstawianie i chce zwiększyć wydajność, musi opakować wstawienia jako zestaw zmian, tak aby żądania tworzyły partię przekształceń.
Jeśli chcesz, aby przepływ podwyższył zdarzenie biznesowe, możesz użyć przepływu podrzędnego Wywołaj zdarzenie biznesowe. Dodaj następujące szczegóły.
BusinessEventName: nazwa zdarzenia, które chcesz wywołać.
EntityRecordId: identyfikator właśnie utworzonego rekordu skojarzonego ze zdarzeniem.
Zaktualizuj stan przetwarzania komunikatu, używając akcji Aktualizuj stan żądania komunikatu dostawcy, aby zapisać wynik przetwarzania wykonania. Dodaj następujące szczegóły.
ProviderMessageRequestExecutionId: identyfikator wyjściowy rekordu utworzonego w celu śledzenia postępu przetwarzania komunikatu.
IsProviderMessageRequestExecutionSuccess: wartość logiczna, wskazująca, czy przetwarzanie zakończyło się powodzeniem.
Program ściągający komunikaty dostawcy
Programy ściągające komunikaty dostawcy są przepływami usługi Power Automate, które ściągają komunikaty z usługi zewnętrznej regularnie w określonych odstępach.
Uwaga
Procedura obsługi komunikatów jest warunkiem wstępnym przepływu programu ściągającego komunikaty.
Poniżej przedstawiono przykładową strukturę tworzenia typu programu ściągającego komunikaty przepływu usługi Power Automate.
Użyj przepływu pracy cyklu, aby zaplanować wyzwalacz.
Pobierz punkt kontrolny z usługi Dataverse. Punkty kontrolne śledzą komunikaty, które zostały pomyślnie ściągnięte z dostawcy zewnętrznego. Dodaj następujące szczegóły.
Nazwa akcji: nazwa punktu kontrolnego.
WorkflowId: ustaw następującą funkcję określana, aby pobrać te informacje: workflow()['tags']['xrmWorkflowId'].
Utwórz żądanie wpisu HTTP do dostawcy zewnętrznego, aby ściągnąć komunikaty. Dodaj następujące szczegóły.
Sposób: ustaw w tym polu wartość POST.
Adres URL: zewnętrzny punkt końcowy dostawcy.
Treść: żądanie JSON powinno mieć następującą formułę: if(empty(outputs('Get_Checkpoint')?['body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?['body/Checkpoint'])).
Przeanalizuj komunikaty ściągnięte w kroku 3. Dodaj następujące szczegóły.
Zawartość: treść pobrana w kroku 3.
Schemat: struktura treści pobrana w kroku 3.
Przetwórz komunikaty w celu zapętlenia poszczególnych komunikatów w kroku 4.
Przeanalizuj każdy komunikat w poprzednich krokach. Dodaj następujące informacje.
Zawartość: bieżąca pozycja w opcji Przetwórz komunikaty.
Schemat: pojedynczy komunikat w formacie JSON.
Wywołaj skojarzoną procedurę obsługi komunikatów dostawcy, która została skonfigurowana w wymaganiach wstępnych. Dodaj następujące informacje.
Przepływ podrzędny: wybierz procedurę obsługi komunikatów dostawcy.
Komunikat: komunikat przeanalizowany w kroku 6.
Zapisz punkt kontrolny w usłudze Dataverse. Dodaj następujące informacje.
Punkt kontrolny: może to być dowolna wartość ciągu (maks. 100). W tym przykładzie jest to identyfikator ostatnio przetworzonej wiadomości.
WorkFlowId: możesz pobrać ten identyfikator, dodając funkcję określania ustawioną na workflow()['tags']['xrmWorkflowId'].
Akcja dostawcy
Przepływy akcji dostawcy są wywoływane z projektanta orkiestracji. Te przepływy zazwyczaj powodują wywołania z usługi Intelligent Order Management do usług zewnętrznych.
Kluczową różnicą między procedurą obsługi komunikatów dostawcy a akcją dostawcy jest to, że podczas gdy procedura obsługi komunikatów może powiadomić projektanta orkiestracji, nie może ona być wywołana przez kafelek akcji w projektancie orkiestracji, podczas gdy akcja dostawcy może.
Poniżej przedstawiono przykładową strukturę przepływu usługi Power Automate akcji dostawcy.
- Rozpocznij od wyzwalacza HTTP. Poniższe informacje zostaną przekazane w czasie wykonywania przez usługę orkiestracji. Następujący schemat JSON zostanie użyty dla treści:
{
"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"
]
}
Inicjuj przetwarzanie akcji.
Inicjuj wynik wykonywania i wszelkie inne zmienne przetwarzania.
Potwierdź rozpoczęcie wykonywania akcji przy użyciu akcji usługi Dataverse Rozpocznij wykonanie akcji dostawcy. Umożliwi to potokowi śledzenie, ponawianie prób i wyświetlanie stanu przetwarzania w ramach usługi Intelligent Order Management. Dodaj następujące informacje.
ProviderActionExecutionEventId: wartość została przekazana do akcji jako parametr wejściowy w kroku 1.
PowerAutomateRunID: unikatowe uruchomienie akcji usługi Power Automate. Dzięki temu potok będzie łączyć dzienniki wykonywania. Pobierz te informacje, ustawiając w polu wyrażenie usługi Power Automate worflow()['run']?['name'].
Wykonaj akcję.
W razie potrzeby przekształć rekordy, używając przepływu podrzędnego Przekształć komunikat w usłudze Power Query Online.
Nazwa dostawcy: nazwa dostawcy, który ma zostać połączony z akcją. Nazwa musi być taka sama jak nazwa definicji dostawcy.
Nazwa obiektu źródłowego: nazwa źródłowa wykonywanego przekształcenia. Ta nazwa musi być taka sama jak obiekt źródłowy określony w przekształceniu usługi Power Automate.
Nazwa obiektu docelowego: wartość klucza wyszukiwania celu dla przekształcenia, które ma być wykonane. Ta nazwa musi mieć taką samą wartość, jak określono w przekształceniu dostawcy.
Ładunek: dostarczany podczas przekształcania przychodzącego ładunku JSON. Usługa Power Automate wymaga, aby parametry były przekazywane jako serializowany ciąg. Dodaj albo wartość Ładunek, albo Identyfikator rekordu.
Identyfikator rekordu: podawany podczas przekształcania wychodzącego rekordu usługi Dataverse. Dodaj albo wartość Ładunek, albo Identyfikator rekordu.
Wykonaj wszelkie określone akcje niestandardowe. Są to akcje obecne w używanym łączniku usługi Power Automate.
Wywołaj zdarzenie biznesowe specyficzne dla akcji. Użyj przepływu podrzędnego Wywołaj zdarzenie biznesowe. Dodaj następujące informacje.
BusinessEventName: nazwa zdarzenia, które chcesz wywołać.
EntityRecordId: identyfikator rekordu skojarzonego ze zdarzeniem.
Zakończ wykonywanie akcji i zapisz wyniki. Wyniki zostaną przetworzone przez projektanta orkiestracji. Dodaj następujące informacje.
ExecutionResult: wartość logiczna, wskazująca, czy przetwarzanie zakończyło się powodzeniem.
ExecutionDetails: opcjonalne szczegóły dziennika w celu testowania i debugowania.
ProviderActionExecutionEventId: ta wartość została przekazana do akcji jako parametr wejściowy, który został określony w kroku 1.
Przepływ podrzędny
Przepływ podrzędny to taki, do którego odwołują się inne przepływy usługi Power Automate. Określenie przepływu podrzędnego jest pomocne w przypadku powtarzających się kilku kroków w wielu obszarach. Nie istnieje określony szablon ani zalecany proces dla przepływów podrzędnych, ponieważ mają one być używane głównie w celu ułatwiania konsolidacji podobnych kroków.
Przepływy podrzędne dostawcy nie mogą wywołać innych przepływów podrzędnych dostawcy.
Tworzenie przepływów w chmurze
Gdy wiesz, które typy przepływów chcesz utworzyć, możesz utworzyć przepływy w chmurze. W tym celu wykonaj następujące czynności:
- Otwórz domyślne rozwiązanie w swoim środowisku usługi Power Apps.
Ważne
Nie dodawaj tych rozwiązań do rozwiązania dostawcy.
Wybierz opcję Nowe, a następnie Przepływ w chmurze.
Skompiluj przepływ usługi Power Automate. Odwołaj się do szablonów w poprzedniej sekcji.
Zapoznaj się z następującą sekcją, aby zapisać swoje przepływy.
Zapisywanie definicji usługi Power Automate
Po utworzeniu swoich przepływów należy zapisać je jako składniki Definicji logiki definicji dostawcy. Ten typ składnika zapewnia usłudze Intelligent Order Management akcje w celu wdrażania w trakcie aktywacji dostawcy.
Przed zapisaniem przepływów należy spełnić następujące warunki wstępne.
Aby zapisać definicje logiki usługi Power Automate, należy utworzyć żądania OData. Aby to zrobić, trzeba mieć konto w usłudze PostMan lub podobnej.
Należy wygenerować token dostępu do swojego środowiska usługi Dataverse, aby wystawić żądania GET i POST.
Skonfiguruj konto na platformie Azure z aktywną subskrypcją. Jeśli nie masz aktywnego konta, musisz skonfigurować je w witrynie internetowej platformy Azure.
Musi być zainstalowany program PowerShell. Aby uzyskać więcej informacji, zobacz temat Instalacja programu PowerShell.
Aby uzyskać token dostępu, wprowadź następujące polecenie w programie PowerShell: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Clipboard.
Aby zapisać definicję usługi Power Automate, wykonaj następujące czynności.
Znajdź identyfikator przepływu pracy usługi Power Automate, który chcesz zapisać. Wykonaj jedną z następujących czynności.
Znajdź identyfikator przepływu pracy przy użyciu akcji usługi Power Automate.
Utwórz akcję tworzenia z wyrażeniem workflow() na końcu przepływu usługi Power Automate.
Uruchom usługę Power Automate.
Właściwość xrmWorkflowId z wyników wykonywania będzie zawierać identyfikator przepływu pracy.
Usuń tę akcję z przepływu, aby nie została uruchomiona ponownie.
Opcjonalnie możesz utworzyć żądanie Get OData.
Przejdź do przepływu, dla którego chcesz zapisać identyfikator przepływu pracy. Znajdź identyfikator unikatowy w adresie URL. Jest to identyfikator wyświetlany w adresie URL po ../flows/.
Utwórz żądanie OData w celu pobrania metadanych przepływu pracy. Poniżej przedstawiono przykładowe żądanie GET.
GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Unique Workflow Id from the Power Automate U}'&$select=workflowid,workflowiduniqueZapisz zwróconą właściwość workflowid.
Znajdź identyfikator definicji dostawcy.
Wybierz definicję dostawcy, w której chcesz zapisać przepływ.
Skopiuj identyfikator definicji dostawcy z adresu URL. To jest część adresu URL ../id={example number}/.
Zanotuj wartość zestawu opcji dla zapisywanego typu usługi Power Automate.
Przepływ podrzędny: 192350002
Akcja dostawcy: 192350001
Program obsługi komunikatów dostawcy: 192350000
Program ściągający komunikaty dostawcy: 192350003
Utwórz żądanie POST w celu zapisania definicji usługi Power Automate. Poniżej przedstawiono przykładowe żądanie.
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}
}
Zweryfikuj, czy dodany został składnik definicji logiki definicji dostawcy. W tym celu wykonaj następujące czynności:
Przejdź do rozwiązania dostawcy.
Zweryfikuj, czy dodana została utworzona definicja logiki definicji dostawcy. Jeśli nie został dodany, wybierz opcję Dodaj istniejące, a następnie dodaj utworzony składnik.
Zapisz odwołania do połączenia
Jeśli dostawca używa łączników usługi Power Automate odbiorcy, wykonaj następujące kroki, aby zapisać odwołania do połączenia w rozwiązaniu usługi Power Automate.
- Utwórz żądanie GET w celu pobrania identyfikatora odwołania do połączenia. Na przykład:
GET {Env url}/api/data/v9.2/connectionreferences
Aby odfiltrować dokładniej, możesz filtrować według nazwy odwołania do połączenia. Na przykład:
{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
Zweryfikuj, czy pobrany został prawidłowy identyfikator odwołania do połączenia, przeszukując dane klienta usługi Power Automate.
Przejdź do zapisanego wcześniej składnika definicji logiki definicji dostawcy.
Sprawdź dane klienta, aby zweryfikować, czy widoczna jest nazwa connectionReferenceLogicalName.
Znajdź swój identyfikator definicji dostawcy. Jest to ta sama wartość, która jest używana w kroku 2 w celu zapisania definicji logiki usługi Power Automate.
Utwórz żądanie post, aby zapisać swoje odwołanie do połączenia. Na przykład:
POST {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionConnectionReference
Body:
{
"ProviderDefinitionId": "{ProviderId previously found}",
"ConnectionReferenceId": "{Connection reference id previously found}"
}
Zweryfikuj, czy dodany został składnik definicji logiki definicji dostawcy.
Przejdź do rozwiązania dostawcy.
Zweryfikuj, czy dodany został utworzony składnik odwołania do definicji logiki definicji dostawcy. Jeśli nie został dodany, wybierz opcję Dodaj istniejące i dodaj właśnie utworzony składnik.
Udostępnianie swoich dostawców
Jeśli chcesz użyć definicji dostawcy w innym środowisku lub udostępnić to rozwiązanie, możesz wyeksportować rozwiązanie dostawcy. Aby uzyskać więcej informacji, zobacz temat Eksportowanie rozwiązań.