Udostępnij za pośrednictwem


Tworzenie nowego dostawcy

Aby utworzyć nowego dostawcę, wykonaj następujące kroki. Ponadto te czynności można wykonać, aby dodać dodatki do istniejących dostawców.

Definiowanie architektury dostawcy

Przed utworzeniem dostawcy ważne jest, aby zrozumieć, co ma zrobić dostawca i czego ma on używać. Dostawcy mają wiele składników i może nie być konieczne wszystkie składniki.

Aby określić, które składniki są potrzebne, należy skorzystać z poniższej tabeli.

Warunek Składnik potrzebny
Usługa, dla której chcesz utworzyć dostawcę, nie ma łącznika w Power Automate.
Aby uzyskać więcej informacji, zobacz listę wszystkich łączników Power Automate.
Utwórz łącznik odbiorcy lub użyj łącznika ogólnego.
Twój dostawca będzie wymieniać dane między usługą zewnętrzną a Microsoft Dataverse. Dostawca będzie wymagał przekształcenia dostawcy. Dodaj składnik przekształcenia dostawcy dla każdego przekształcenia.
Dostawca będzie wykonywać logikę z projektanta orchestration. 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 Power Automate programu obsługi komunikatów.
Dostawca będzie regularnymi ciągnięciami wiadomości z zewnętrznej usługi. Utwórz przepływ Power Automate programu Message Puller.
Dostawca będzie określać zdarzenia biznesowe, które nie są obecnie zdefiniowane w programie Intelligent Order Management. Utwórz nową definicję zdarzenia biznesowego i dodaj istniejące zdarzenia.

Gdy masz już wiedzę na temat rozwiązań, możesz kontynuować implementację dostawcy.

Tworzenie rozwiązania dostawcy

Musisz wykonać następujące zadania w tej sekcji, aby utworzyć rozwiązanie dostawcy.

  • Ustawienie niestandardowego dostawcy.

  • Dodaj definicję dostawcy.

  • Dodaj składniki do rozwiązania.

Ustawienie niestandardowego dostawcy

Utwórz rozwiązanie, które Power Apps będzie zawierać składniki dostawcy. Aby utworzyć nowe rozwiązanie, w tym Power Apps celu wykonaj kroki opisane w Tworzenie rozwiązania w rozwiązaniu Power Apps

Dodaj definicję dostawcy

Definicja dostawcy zawiera szczegóły dotyczące dostawcy. Definicja określa sposób, w jaki dostawca będzie widoczny w katalogu dostawcy.

  1. W utworzonym rozwiązaniu dostawcy wybierz pozycję Nowy.

  2. Wybierz IOMDefinicja dostawcy.

  3. Dodaj następujące szczegóły:

    1. Nazwa wyświetlana: nazwa, którą chcesz nadać dostawcy, na przykład „Dostawca testów”.

    2. Nazwa logiczna: klucz eksportu dla dostawcy.

    3. Opis: tekst opisujący, czym zajmuje się Twój dostawca.

  4. Wybierz opcję Zapisz.

  5. Jeśli chcesz dodać logo, przekaż obraz.

  6. Sprawdź, czy definicja dostawcy pojawia się w rozwiązaniu. Powinien zostać wyświetlony rekord o typie składnika Definicja dostawcy IOM . Jeśli nie jest wyświetlany, wybierz opcję Dodaj istniejące, a następnie wybierz właśnie utworzony rekord.

  7. Sprawdź, czy Twój dostawca pojawia się w Katalogu dostawców. Jeśli w polu Jest aktywne zostanie ustawiona wartość Tak, definicja dostawcy pojawi się w katalogu dostawców. Otwórz Intelligent Order Management. Przejdź do Dostawcy > Katalog. Sprawdź, czy jest wyświetlana definicja dostawcy.

Dodaj składniki do rozwiązania

Po utworzeniu definicji dostawcy dodaj składniki dostawcy do rozwiązania.

  1. Przejdź do swojego rozwiązania.

  2. Kliknij przycisk Dodaj istniejące.

  3. Wybierz typ składnika Intelligent Order Management, a następnie wybierz utworzony rekord.

Tworzenie transformacji dostawców

Jeśli dostawca wymaga przekształcenia, należy dodać do rozwiązania składnik przekształcenia dostawcy. Może być wymagane utworzenie wielu przekształceń.

  1. W utworzonym rozwiązaniu dostawcy wybierz pozycję Nowy.

  2. Wybierz Przekształcenie definicji dostawcy IOM.

  3. Dodaj następujące szczegóły:

    1. Nazwa wyświetlana: nazwa przekształcenia dostawcy, na przykład „Przekształć zamówienia sprzedaży”.

    2. Nazwa logiczna: Unikalny identyfikator dostawcy. Będzie to klucz importu i eksportu danych. Powinien się rozpoczynać prefiksem wydawcy. Na przykład firma Microsoft używa prefiksu wydawcy msdyn_. Przykłady nazw logicznych: msdyn_flexe_fulfillmentorderproduct_orderline, msdyn_flexe_fulfillmentorder_order.

    3. Typ źródła: To pole wskazuje, jaki typ danych jest odbierany. Dostępne są dwie opcje: JsonDocument lub Jednostka Dataverse . Jeśli twoje dane są już w, Dataverse wybierz pozycję Dataverse Jednostka. W tym przypadku należy wybrać pozycję JsonDocument. Te informacje będą używane w elemencie Power Automate definiującym do wyszukiwania przekształcenia.

    4. Nazwa obiektu źródłowego: nazwa przekształcanych danych. Jeśli przekształcasz rekord Dataverse, upewnij się, że nazwa obiektu źródłowego jest taka sama jak nazwa w Dataverse tabeli.

    5. Nazwa obiektu docelowego: miejsce docelowe rekordu, który chcesz przekształcić.

    6. Transformacja: Power Query MQuery online, która zostanie użyta do przekształcenia danych wejściowych. Aby uzyskać informacje o Power Query I MQuery, zobacz Co to jest Power Query? Odwołania do Power Query języka formuły M. Poniżej przedstawiono przykład MQuery, który przekształca zamówienie sprzedaży z zewnętrznej usługi zamawiania na zamówienie sprzedaży w system 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. Wybierz opcję Zapisz.

  2. Sprawdź, czy składnik przekształcenia jest poprawnie wyświetlany. Należy wyświetlić komponent typu Transformacja definicji IOM Provider z nazwą transformacji. Jeśli nie jest wyświetlany, wybierz opcję Dodaj istniejące, a następnie wybierz właśnie utworzoną transformację.

Dodaj definicje zdarzeń biznesowych

Jeśli dostawca utworzy nowe zdarzenia biznesowe lub użyje ich, należy dodać do rozwiązania składniki definicji zdarzeń biznesowych definicji IOM. Musisz dodać tylko zdarzenia biznesowe, które jeszcze nie są dostępne w programie Intelligent Order Management.

Jeśli zdarzenie biznesowe, które chcesz utworzyć, nie znajduje się jeszcze w programie Intelligent Order Management, możesz utworzyć własny projekt.

  1. Wybierz pozycję Nowy.

  2. Wybierz IOM definicji zdarzeń biznesowych definicji dostawcy.

  3. Dodaj następujące szczegóły:

    1. Nazwa: nazwa wydarzenia biznesowego.

    2. Dostawca: dostawca, dla którego tworzysz definicję firmy.

    3. Skojarzona jednostka: encja w aplikacji Intelligent Order Management, Dataverse która jest zmieniana lub zmieniana podczas tworzenia zdarzenia.

    4. Skojarzona wartość stanu: Jeśli chcesz, aby stan powiązanej jednostki był aktualizowany po zgłoszeniu zdarzenia biznesowego, dołącz wartość stanu w tym polu.

    5. Skojarzona wartość stanu: Jeśli chcesz, aby stan powiązanej jednostki był aktualizowany po zgłoszeniu zdarzenia biznesowego, dołącz wartość stanu w tym polu.

  4. Wybierz opcję Zapisz.

  5. Sprawdź rozwiązanie, aby sprawdzić, czy jest wyświetlany rekord definicji zdarzenia biznesowego dostawcy IOM. 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 Power Automate, należy utworzyć własny łącznik. Aby uzyskać więcej informacji, zajrzyj do sekcji Lista wszystkich łączników Power Automate.

Aby utworzyć własny łącznik Power Automate , wykonaj kroki w przeglądzie łączników niestandardowych.

Po utworzeniu łącznika niestandardowego dodaj go do rozwiązania dostawcy jako składnik.

  1. Przejdź do swojego rozwiązania dostawcy.

  2. Kliknij przycisk Dodaj istniejące.

  3. Zaznacz utworzony przez siebie łącznik.

Typy przepływów Power Automate

Każda akcja wykonywana w projektancie orchestration jest reprezentowana przez przepływy Power Automate . Jeśli chcesz pobrać Power Automate określone informacje lub wykonać określone akcje, musisz utworzyć przepływy dla tych akcji. Aby dowiedzieć się więcej o Power Automate, zobacz Wstęp do Power Automate.

Dodaj przepływy jako składniki definicji logiki definicji dostawcy do dostawcy.

Przed rozpoczęciem procesu tworzenia przepływu przejrzyj typy przepływów, które są używane w inteligentnych zarządzaniu zamówieniami.

Program obsługi komunikatów dostawcy

Te przepływy otrzymują i przetwarzają komunikaty z usługi zewnętrznej i zgłaszanie odpowiedniego zdarzenia biznesowego w celu powiadomienia Intelligent Order Management Orchestration. Te przepływy są wyzwalane przez usługę zewnętrzną.

Poniżej przedstawiono przykładową strukturę tworzenia typu przepływu programu obsługi Power Automate komunikatów.

  1. Zdefiniuj Power Automate wyzwalacz. Zwykle jest to punkt końcowy HTTP, który jest wyzwalaczem protokołu webhook (zalecane), wyzwalaczem łącznika lub wyzwalaczem Dataverse wstawiania. Wyzwalacz jest wywoływany, gdy zewnętrzna usługa ma dane do wysłania do systemu Intelligent Order Management. Zrzut ekranu wyzwalacza po otrzymaniu żądania HTTP.

Schemat JSON do użycia w wyzwalaczu HTTP został zdefiniowany 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"
    ]
}
  1. Inicjuj przetwarzanie komunikatu. W tym zadaniu są związane dwa kroki.

    1. Inicjuj wynik wykonania, który będzie używany do śledzenia przetwarzania wiadomości.

    2. Potwierdzanie komunikatu dostawcy w programie Intelligent Order Management, co umożliwia śledzenie, ponawianie prób i wyświetlanie stanu przetwarzania. Jest to akcja wprowadzana Power Automate przez rozwiązanie Intelligent Order Management. Ta akcja jest nazywana żądaniem potwierdzenia komunikatu dostawcy w aplikacji IOM. Ta akcja ma następujące parametry wymagane.

      1. PowerAutomateWorkflowId: WorkflowId w definicji programu obsługi komunikatów. Można to pobrać, posiadając funkcję compose z workflow()['tags'].

      2. PowerAutomateRunId: unikatowy identyfikator przebiegu Power Automate , który odebrał komunikat i umożliwia potokowi ponowną próbę przetwarzania i połączenie dzienników wykonywania. Można to pobrać, posiadając funkcję compose z workflow()['run']?['name'].

      3. ProviderMessageExternalRequestId: identyfikator wysłanej wiadomości. Jeśli nie ma identyfikatora, identyfikator GUID może zostać wygenerowany. Ten identyfikator jest używany przez potok, aby zapobiec wysyłaniu zduplikowanych wiadomości przez nadawcę. Identyfikator jest zależny od źródłowego ładunku. Na przykład: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).

Zrzut ekranu żądania potwierdzenia komunikatu dostawcy.

  1. Zdefiniowane wcześniej przekształcenie dostawcy spowoduje pobranie danych wejściowych i przekształcenie ich. Funkcja intelligent Order Management oferuje przepływ podrzędny o nazwie IOM Provider, który wykonuje przekształcenie. Dodaj następujące szczegóły do przetwarzania zdarzenia lub komunikatu:

    1. Nazwa dostawcy: nazwa dostawcy połączonego z programem obsługi komunikatów. Ta wartość musi być taka sama jak nazwa przekształcenia dostawcy.

    2. Nazwa obiektu źródłowego: wartość klucza wyszukiwania źródłowego do wykonania przekształcenia. Ta wartość musi być taka sama jak nazwa obiektu źródłowego zdefiniowana w przekształceniu dostawcy.

    3. Nazwa obiektu docelowego: Wartość klucza wyszukiwania miejsca docelowego do wykonania transformacji. Ta wartość musi być tą samą wartością zdefiniowaną w transformacji dostawcy.

    4. Ładunek: podawany podczas przekształcania ładunku JSON. Power Automate Wymaga, aby parametry było przekazywane jako serializowany ciąg. Należy podać ładunek lub wartość identyfikatora rekordu.

    5. Identyfikator rekordu: podawany podczas przekształcania rekordu Dataverse . Należy podać ładunek lub wartość identyfikatora rekordu.
      Zrzut ekranu do przekształcenia wiadomości w trybie Power Query online.

  2. Dane można wstawiać przy Dataverse użyciu żądań HTTP lub akcji Dataverse łącznika Wstawiania. Jeśli jest wykonywanych więcej niż jedno wstawianie i chcesz zwiększyć wydajność, wstawień do zestawu zmian, tak aby żądania wchodziły w przetwarzanie wsadowe transakcji.
    Zrzut ekranu przepływu wstawiania komunikatów.

  3. Jeśli chcesz, aby przepływ podwyższył zdarzenie biznesowe, możesz użyć przepływu podrzędnego Podwyżka zdarzenia biznesowego. Dodaj następujące szczegóły.

    1. BusinessEventName: nazwa zdarzenia, które ma zostać zgłoszone.

    2. EntityRecordId: identyfikator właśnie utworzonego rekordu i skojarzonego ze zdarzeniem.

  4. Zaktualizuj stan przetwarzania wiadomości, używając akcji Aktualizuj stan żądania komunikatu dostawcy, aby zapisać wynik przetwarzania wykonania. Dodaj następujące szczegóły.

    1. ProviderMessageRequestExecutionId: identyfikator wyjściowy rekordu utworzonego w celu śledzenia postępu przetwarzania komunikatów.

    2. IsProviderMessageRequestExecutionSuccess: Wartość logiczna, aby wskazać, czy przetwarzanie zakończyło się pomyślnie.

Program ściągający komunikatów dostawcy

Ściągacze komunikatów dostawcy są przepływami Power Automate, które ściągają wiadomości w regularnie zdefiniowanym interwale z usługi zewnętrznej.

Banknot

Program obsługi komunikatów jest warunkiem wstępnym przepływu ściągania wiadomości.

Poniżej przedstawiono przykładową strukturę tworzenia typu przepływu programu ściągania Power Automate komunikatów.

  1. Użyj przepływu pracy cyklu, aby zaplanować wyzwalacz.

  2. Pobierz punkt kontrolny z Dataverse. Punkty kontrolne śledzą komunikaty, które zostały pomyślnie ściągnięte z zewnętrznego dostawcy. Dodaj następujące szczegóły.

    1. Nazwa akcji: nazwa punktu kontrolnego.

    2. WorkflowId: ustaw następującą funkcję komponowania, aby pobrać te informacje: workflow()['tags']['xrmWorkflowId'].
      Zrzut ekranu get checkpoint.

  3. Utwórz żądanie wpisu HTTP do zewnętrznego dostawcy, aby ściągnąć komunikaty. Dodaj następujące szczegóły.

    1. Metoda: ustaw wartość tego pola na wartość POST.

    2. URL: punkt końcowy dostawcy zewnętrznego.

    3. Treść: żądanie JSON powinno mieć następującą formułę: if(empty(outputs('Get_Checkpoint')?[' body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[' body/Punkt kontrolny'])).
      Zrzut ekranu dla komunikatów ściągania.

  4. Prze analizuj komunikaty ściągnięte w kroku 3. Dodaj następujące szczegóły.

    1. Treść: Ciało pobrane z kroku 3.

    2. Schemat: Struktura treści pobrana w kroku 3.
      Zrzut ekranu dla komunikatów analizy.

  5. Przetwarzaj komunikaty w celu zapętlenia poszczególnych wiadomości z kroku 4.

  6. Przeanalizuj poszczególne wiadomości z poprzednich kroków. Wprowadź poniższe informacje.

    1. Treść: Bieżący element z komunikatów procesu.

    2. Schemat: pojedynczy komunikat w formacie JSON.
      Zrzut ekranu dla komunikatów o procesach 2.

  7. Wywołaj skojarzoną program obsługi komunikatów dostawcy, który został ustawiony w wymaganiach wstępnych. Wprowadź poniższe informacje.

    1. Przepływ podrzędny: wybierz program obsługi komunikatów dostawcy.

    2. Komunikat: komunikat analizowany z kroku 6.
      Zrzut ekranu dla komunikatów o procesach 3.

  8. Zapisz punkt kontrolny w Dataverse. Wprowadź poniższe informacje.

    1. Punkt kontrolny: może to być dowolna wartość ciągu (maks. 100). W tym przykładzie jest to identyfikator ostatnio przetwarzanej wiadomości.

    2. WorkFlowId: ten identyfikator można pobrać, dodając funkcję tworzenia ustawioną na workflow()['tags']['xrmWorkflowId'].
      Zrzut ekranu dla komunikatów o procesach 4.

Akcja dostawcy

Przepływy akcji dostawcy są wywoływane z projektanta usług orchestration. Te przepływy zazwyczaj wywołuje funkcje intelligent zarządzania zamówieniami do usług zewnętrznych.

Kluczową różnicą między handlerem komunikatów dostawcy a akcją dostawcy jest to, że podczas gdy handler komunikatów może powiadomić projektanta orkiestracji, nie może być wywołany przez kafelek akcji w projektancie orkiestracji, podczas gdy akcja dostawcy może.

Poniżej przedstawiono przykładową strukturę przepływu akcji Power Automate dostawcy.

  1. Rozpocznij od wyzwalacza HTTP. Poniższe informacje zostaną przekazane w czasie wykonywania przez usługę orchestration. Następujący schemat JSON będzie użyty do 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"
    ]
}
  1. Zainicjuj przetwarzanie akcji.

    1. Inicjuj wynik wykonywania i inne zmienne przetwarzania.

    2. Potwierdzanie rozpoczęcia wykonywania akcji przy użyciu akcji uruchamiania wykonania akcji dostawcy Dataverse . Umożliwi to potokowi śledzenie, ponawianie prób i wyświetlanie stanu przetwarzania w ramach programu Intelligent Order Management. Wprowadź poniższe informacje.

      1. ProviderActionExecutionEventId: Ta wartość została przekazana do akcji jako parametr wejściowy w kroku 1.

      2. PowerAutomateRunID: unikatowy Power Automate przebieg akcji. Dzięki temu potok będzie łączył dzienniki wykonywania. Pobrać te informacje, ustawiając w polu wyrażenie Power Automate worflow()['run']?['name'].

  2. Wykonaj wybraną akcję.

    1. W razie potrzeby przekształć rekordy, używając przepływu podrzędnego Przekształć wiadomość w Power Query online.

      1. Nazwa dostawcy: nazwa dostawcy, który ma zostać połączony z akcją. Nazwa musi być taką samą nazwą jak definicja Twojego dostawcy.

      2. Nazwa obiektu źródłowego: nazwa źródła transformacji do wykonania. Ta nazwa musi być taka sama jak obiekt źródłowy zdefiniowany w przekształceniu Power Automate .

      3. Nazwa obiektu docelowego: wartość klucza wyszukiwania miejsca docelowego do wykonania przekształcenia. Nazwa ta musi być tą samą wartością zdefiniowaną w transformacji dostawcy.

      4. Ładunek: podany podczas przekształcania przychodzącego ładunku JSON. Power Automate Wymaga, aby parametry było przekazywane jako serializowany ciąg. Należy dodać ładunek lub wartość identyfikatora rekordu, ale nie oba na raz.

      5. Identyfikator rekordu: podawany podczas przekształcania rekordu wychodzącego Dataverse . Należy dodać ładunek lub wartość identyfikatora rekordu, ale nie oba na raz.
        Zrzut ekranu do przekształcenia wiadomości w trybie Power Query online.

    2. Wykonaj wszystkie zdefiniowane akcje niestandardowe. Są to akcje dostępne w przypadku koncesji Power Automate , z których korzysta użytkownik.

    3. Podwyżka zdarzenia biznesowego specyficzna dla akcji. Użyj przepływu podrzędnego Podwyższeniu zdarzenia biznesowego. Wprowadź poniższe informacje.

      1. BusinessEventName: nazwa zdarzenia, które chcesz zgłosić.

      2. EntityRecordId: identyfikator rekordu skojarzonego ze zdarzeniem.

  3. Wykonaj akcję i zapisz wyniki. Wyniki zostaną przetworzone przez projektanta orchestration. Wprowadź poniższe informacje.

    1. ExecutionResult: wartość logiczna wskazująca, czy przetwarzanie zakończyło się pomyślnie.

    2. ExecutionDetails: opcjonalne szczegóły dziennika do celów testowania i debugowania.

    3. ProviderActionExecutionEventId: Ta wartość została przekazana do akcji jako parametr wejściowy zdefiniowany w kroku 1.
      Zrzut ekranu z przecięcia akcji dostawcy.

Przepływ podrzędny

Przepływ podrzędny to podrzędny przepływ, do który odwołuje się inne przepływy Power Automate. Definiowanie przepływu podrzędnego jest pomocne w przypadku powtarzania 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 dla ułatwienia konsolidacji podobnych kroków.

Przepływy podrzędne dostawcy nie mogą wywołać innych przepływów podrzędnych dostawcy.

Utwórz przepływy w chmurze

Gdy wiesz, jakie typy przepływów chcesz utworzyć, możesz utworzyć przepływy w chmurze. W tym celu należy wykonać następujące czynności:

  1. Otwórz domyślne rozwiązanie w swoim środowisku Power Apps.

Ważne

Nie dodawaj tych rozwiązań do rozwiązania dostawcy.

  1. Wybierz pozycję Nowy, a następnie wybierz pozycję Przepływ w chmurze.

  2. Skompiluj przepływ Power Automate. Użyj szablonów z poprzedniej sekcji, aby uzyskać informacje.

  3. Zapoznaj się z następującą sekcją, aby zapisać swoje przepływy.

Zapisywanie definicji Power Automate

Po utworzeniu przepływów należy je zapisać jako składniki definicji logiki definicji dostawcy. Ten typ składnika udostępnia funkcje Intelligent Order Management wraz z akcjami do wdrożenia podczas aktywacji dostawcy.

Przed zapisaniem przepływów należy spełnić następujące warunki wstępne.

  • Aby zapisać definicje Power Automate logiki, musisz wywróć żądania OData. Aby to zrobić, musisz mieć konto PostMan lub podobne usługi.

  • Musisz wygenerować token dostępu do swojego środowiska Dataverse , aby wystawiać żądania GET i POST.

    • Skonfiguruj konto systemu Azure z aktywną subskrypcją. Jeśli nie masz aktywnego konta, musisz skonfigurować konto w witrynie sieci web systemu Azure.

    • Musi być zainstalowany program PowerShell. Aby uzyskać więcej informacji, zobacz temat Instalacja PowerShell.

    • Wprowadź następujące polecenie w programie PowerShell, aby uzyskać token dostępu: 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ę Power Automate, wykonaj następujące czynności.

  1. Znajdź identyfikator przepływu pracy, Power Automate który chcesz zapisać. Wykonaj jedną z następujących czynności.

    1. Znajdź identyfikator przepływu pracy przy użyciu Power Automate akcji.

      1. Utwórz akcję tworzenia z wyrażeniem przepływu pracy na końcu przepływu Power Automate .
        Zrzut ekranu akcji Utwórz.

      2. Uruchom Power Automate.

      3. Właściwość xrmWorkflowId z wyników wykonywania będzie zawierać identyfikator przepływu pracy.
        Zrzut ekranu identyfikatora przepływu pracy.

      4. Usuń tę akcję z przepływu, aby nie była uruchamiana ponownie.

    2. Opcjonalnie można wystać z żądania Get OData.

      1. Przejdź do przepływu, dla którego chcesz zapisać identyfikator przepływu pracy. Znajdź unikalny identyfikator w adresie URL. Jest to identyfikator wyświetlany po ../flows/ w adresie URL.
        Sposób odnalezienia unikatowego identyfikatora.

      2. Wywąć żądanie OData 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,workflowidunique

      3. Zapisz właściwość zwróconego workflowid.

  2. Znajdź identyfikator definicji dostawcy.

    1. Wybierz definicję dostawcy, do której chcesz zapisać przepływ.

    2. Skopiuj identyfikator definicji dostawcy z adresu URL. To jest część adresu URL. ../id={example number}/.
      Jak znaleźć identyfikator definicji dostawcy.

  3. Należy zwrócić uwagę na wartość zestawu opcji dla typu Power Automate zapisywania.

    1. przepływ podrzędny: 192350002

    2. Akcja dostawcy: 192350001

    3. Program obsługi komunikatów dostawcy: 192350000

    4. program ściągający komunikaty dostawcy: 192350003

  4. Wywłasz żądanie postu w celu zapisania definicji 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}

}
  1. Sprawdź, czy został dodany składnik definicji logiki definicji dostawcy. W tym celu należy wykonać następujące czynności:

    1. Przejdź do swojego rozwiązania dostawcy.

    2. Sprawdź, czy utworzona definicja logiczna Dostawcy została dodana. Jeśli nie został dodany, wybierz opcję Dodaj istniejące, a następnie dodaj utworzony składnik.

Zapisywanie odniesień do połączeń

Jeśli dostawca używa łączników Power Automate odbiorcy, należy wykonać następujące kroki, aby zapisać odwołania do połączeń do Power Automate rozwiązania.

  1. Wywołuj żądanie GET w celu pobrania identyfikatora odwołania do połączenia. Na przykład:
GET {Env url}/api/data/v9.2/connectionreferences

Aby filtrować je dalej, można 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

  1. Sprawdź, czy poprawność identyfikatora odwołania do połączenia została pobrana, przeszukując dane Power Automate klienta.

    1. Przejdź do zapisanego wcześniej komponentu logicznego definicji dostawcy.

    2. Sprawdź dane klienta, aby sprawdzić, czy jest widoczna nazwa connectionReferenceLogicalName.

  2. Znajdź identyfikator definicji dostawcy. To jest ta sama wartość, która jest używana w kroku 2 do zapisania definicji Power Automate logiki.

  3. Wydaj żądanie księgowania, aby zapisać swój odnośnik 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}"

}
  1. Sprawdź, czy został dodany składnik definicji logiki definicji dostawcy.

    1. Przejdź do swojego rozwiązania dostawcy.

    2. Sprawdź, czy utworzony komponent referencyjny definicji logiki dostawcy został dodany. Jeśli nie został dodany, wybierz opcję Dodaj istniejące, a następnie dodaj utworzony składnik.

Udostępnij 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 Eksport rozwiązań.