Bagikan melalui


Membuat penyedia baru

Untuk membuat penyedia baru, gunakan langkah-langkah berikut. Anda juga dapat menggunakan langkah-langkah ini untuk melakukan penambahan pada penyedia yang sudah ada.

Tentukan arsitektur penyedia

Sebelum Anda membuat penyedia, penting untuk memahami apa yang Anda ingin penyedia lakukan dan untuk apa Anda ingin menggunakannya. Penyedia memiliki banyak komponen dan Anda mungkin tidak memerlukan semua komponen.

Gunakan tabel berikut untuk menentukan komponen mana yang Anda perlukan.

Kondisi Komponen dibutuhkan
Layanan yang ingin Anda buatkan penyedianya tidak memiliki konektor Power Automate.
Untuk informasi selengkapnya, lihat Daftar semuanya Power Automate konektor.
Buat konektor pelanggan atau gunakan konektor umum.
Penyedia Anda akan bertukar data antara layanan eksternal dan Microsoft Dataverse. Penyedia Anda memerlukan transformasi penyedia. Tambahkan komponen transformasi penyedia untuk setiap transformasi.
Penyedia Anda akan menjalankan logika dari perancang orkestrasi. Buat alur Power Automate terpisah untuk mewakili setiap tindakan.
Penyedia Anda perlu memproses pesan dari layanan eksternal. Buat Power Automate alur Pengendali Pesan.
Penyedia Anda akan menarik pesan dari layanan eksternal secara berkala. Buat Power Automate alur Penarik Pesan.
Penyedia Anda akan mengangkat acara bisnis yang saat ini tidak ditentukan dalam Manajemen Pesanan Cerdas. Buat definisi peristiwa bisnis baru dan tambahkan peristiwa yang sudah ada.

Ketika Anda memiliki pemahaman yang baik tentang solusinya, Anda dapat melanjutkan untuk menerapkan penyedia Anda.

Buat solusi penyedia

Anda perlu menyelesaikan tugas berikut di bagian ini untuk membuat solusi penyedia.

  • Siapkan penyedia khusus.

  • Tambahkan definisi penyedia.

  • Tambahkan komponen ke solusi Anda.

Siapkan penyedia khusus

Buat solusi Power Apps yang akan berisi komponen penyedia Anda. Untuk membuat solusi baru di Power Apps, ikuti langkah-langkah di Membuat solusi di Power Apps.

Tambahkan definisi penyedia

Definisi penyedia berisi detail tentang penyedia Anda. Definisi tersebut menentukan bagaimana penyedia Anda akan muncul di Katalog Penyedia.

  1. Di solusi penyedia yang Anda buat, pilih Baru.

  2. Pilih IOMDefinisi Penyedia.

  3. Tambahkan detail berikut:

    1. Nama tampilan: Nama yang ingin Anda berikan kepada penyedia Anda, misalnya, "Penyedia Tes".

    2. Nama logis: Kunci ekspor untuk penyedia Anda.

    3. Deskripsi: Teks untuk menjelaskan apa yang dilakukan penyedia Anda.

  4. Pilih Simpan.

  5. Jika ingin menambahkan logo, upload gambarnya.

  6. Validasi bahwa definisi penyedia Anda muncul dalam solusi. Catatan dengan tipe komponen Definisi Penyedia IOM harus ditampilkan. Jika tidak ditampilkan, pilih Tambahkan yang sudah ada, lalu pilih rekaman yang baru saja Anda buat.

  7. Validasi bahwa penyedia Anda muncul di Katalog Penyedia. Jika Anda menyetel kolom Is Active ke Yes, definisi penyedia Anda akan muncul di Katalog Penyedia. Buka Manajemen Pesanan Cerdas. Buka Penyedia > Katalog. Pastikan definisi penyedia Anda ditampilkan.

Tambahkan komponen ke solusi

Setelah Anda membuat definisi penyedia, tambahkan komponen penyedia ke solusi.

  1. Pergi ke solusi Anda.

  2. Pilih Tambahkan yang sudah ada.

  3. Pilih jenis komponen Intelligent Order Management, lalu pilih rekaman yang baru saja Anda buat.

Buat transformasi penyedia

Jika penyedia Anda memerlukan transformasi, Anda perlu menambahkan komponen transformasi penyedia ke solusi Anda. Anda mungkin diminta untuk membuat beberapa transformasi.

  1. Di solusi penyedia Anda, pilih Baru.

  2. Pilih Transformasi Definisi Penyedia IOM.

  3. Tambahkan detail berikut:

    1. Nama tampilan: Nama transformasi penyedia Anda, misalnya, "Transformasi Pesanan Penjualan".

    2. Nama logis: Pengidentifikasi unik penyedia Anda. Nilai ini akan menjadi kunci impor dan ekspor data. Ini harus dimulai dengan awalan penerbit. Misalnya, Microsoft menggunakan awalan penerbit msdyn_. Contoh nama logis adalah: msdyn_flexe_fulfillmentorderproduct_orderline, dan msdyn_flexe_fulfillmentorder_order.

    3. Tipe sumber: Bidang ini menunjukkan tipe data apa yang diterima. Ada dua opsi: JsonDocument atau Dataverse Entity. Jika data Anda sudah ada di Dataverse, pilih Dataverse Entity. Jika tidak, pilih JsonDocument. Informasi ini akan digunakan dalam Power Automate elemen yang Anda tetapkan untuk mencari transformasi.

    4. Nama objek sumber: Nama data yang Anda transformasi. Jika Anda mentransformasi Dataverse record, pastikan Nama Objek Sumber sama dengan nama di Dataverse tabel.

    5. Nama objek tujuan: Tujuan dari rekaman yang ingin Anda ubah.

    6. Transformasi: Power Query MQuery Online yang akan digunakan untuk mentransformasikan data masukan. Untuk informasi tentang Power Query dan MQuery, lihat Apa itu Power Query? dan Power Query M referensi bahasa rumus . Berikut ini adalah contoh MQuery yang mengubah pesanan penjualan dari layanan pesanan eksternal menjadi pesanan penjualan di 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. Pilih Simpan.

  2. Validasi apakah komponen transformasi Anda muncul dengan benar. Tipe komponen Transformasi Definisi Penyedia IOM dengan nama transformasi harus ditampilkan. Jika tidak ditampilkan, pilih Tambahkan yang sudah ada, lalu pilih transformasi yang baru saja Anda buat.

Tambahkan definisi acara bisnis

Jika penyedia Anda akan membuat atau menggunakan peristiwa bisnis baru, Anda harus menambahkan Definisi Peristiwa Bisnis Definisi Penyedia IOM komponen ke solusi Anda. Anda hanya perlu menambahkan acara bisnis yang belum ada di Intelligent Order Management.

Jika acara bisnis yang ingin Anda buat belum ada dalam Intelligent Order Management, Anda dapat membuatnya sendiri.

  1. Pilih Baru.

  2. Pilih Definisi Peristiwa Bisnis Definisi Penyedia IOM.

  3. Tambahkan detail berikut:

    1. Nama: Nama acara bisnis Anda.

    2. Penyedia: Penyedia yang definisi bisnisnya Anda buat.

    3. Entitas terkait: Entitas Dataverse dalam Intelligent Order Management yang diubah atau terpengaruh saat peristiwa dibuat.

    4. Nilai status terkait: Jika Anda ingin status entitas terkait diperbarui saat peristiwa bisnis dimunculkan, sertakan nilai status dalam bidang ini.

    5. Nilai status terkait: Jika Anda ingin status entitas terkait diperbarui saat peristiwa bisnis dimunculkan, sertakan nilai status dalam bidang ini.

  4. Pilih Simpan.

  5. Periksa solusi Anda untuk memverifikasi bahwa data IOM Provider Business Event Definition ditampilkan. Jika rekaman tidak muncul dalam solusi, pilih Tambahkan yang sudah ada, lalu pilih rekaman yang baru saja Anda buat.

Tambahkan konektor

Jika penyedia Anda memerlukan konektor yang tidak tersedia di Power Automate, Anda perlu membuat konektor sendiri. Untuk informasi selengkapnya, lihat Daftar semua Power Automate konektor.

Untuk membuat Power Automate konektor Anda sendiri, ikuti langkah-langkah dalam Ikhtisar konektor khusus.

Setelah Anda membuat konektor khusus, tambahkan konektor tersebut ke solusi penyedia Anda sebagai komponen.

  1. Buka solusi penyedia Anda.

  2. Pilih Tambahkan yang sudah ada.

  3. Pilih konektor yang Anda buat.

Jenis Power Automate aliran

Tindakan apa pun yang dijalankan di desainer orkestrasi diwakili oleh Power Automate aliran. Jika Anda ingin Power Automate mengambil informasi tertentu atau menjalankan tindakan tertentu, Anda harus membuat alur untuk tindakan tersebut. Untuk mempelajari lebih lanjut tentang Power Automate, lihat Pengantar Power Automate.

Tambahkan alur Anda sebagai Definisi Logika Definisi Penyedia komponen ke penyedia Anda.

Sebelum Anda memulai proses pembuatan alur, tinjau jenis alur yang digunakan dalam Manajemen Pesanan Cerdas.

Handler pesan penyedia

Alur ini menerima dan memproses pesan dari layanan eksternal dan memunculkan peristiwa bisnis yang sesuai untuk memberi tahu orkestrasi Manajemen Pesanan Cerdas. Aliran ini dipicu oleh layanan eksternal.

Berikut adalah contoh struktur untuk membuat tipe Power Automate pengendali pesan.

  1. Tentukan Power Automate pemicunya. Ini biasanya merupakan endpoint HTTP yang merupakan pemicu webhook (disarankan), pemicu konektor, atau Dataverse pemicu penyisipan. Pemicunya muncul ketika layanan eksternal memiliki data untuk dikirim ke Intelligent Order Management. Cuplikan layar pemicu ketika permintaan HTTP diterima.

Skema JSON yang akan digunakan dalam pemicu HTTP Anda ditentukan di bawah.

{
    "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. Inisialisasi pemrosesan pesan. Ada dua langkah yang terlibat dalam tugas ini.

    1. Inisialisasi hasil eksekusi yang akan digunakan untuk melacak pemrosesan pesan.

    2. Akui pesan penyedia di Manajemen Pesanan Cerdas sehingga Anda dapat melacak, mencoba lagi, dan menampilkan status pemrosesan. Ini adalah Power Automate tindakan yang diperkenalkan oleh Intelligent Order Management. Tindakan ini disebut Akui permintaan pesan Penyedia Pengetahuan di IOM. Tindakan ini memiliki parameter yang diperlukan berikut ini.

      1. PowerAutomateWorkflowId: WorkflowId pada definisi pengendali pesan. Anda dapat mengambilnya dengan memiliki fungsi penulisan dengan workflow()['tags'].

      2. PowerAutomateRunId: ID unik untuk Power Automate proses yang menerima pesan dan memungkinkan pipeline mencoba kembali pemrosesan dan menautkan log eksekusi. Anda dapat mengambilnya dengan memiliki fungsi penulisan dengan workflow()['run']?['name'].

      3. ProviderMessageExternalRequestId: Pengidentifikasi untuk pesan yang dikirim. Jika tidak ada pengidentifikasi, GUID dapat dibuat. Pengidentifikasi ini digunakan oleh pipeline untuk membantu mencegah pengirim mengirimkan pesan duplikat. Pengidentifikasi bergantung pada muatan sumber. Misalnya: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).

Cuplikan layar layar permintaan pesan Akui penyedia.

  1. Transformasi penyedia yang Anda tentukan sebelumnya akan mengambil data masukan dan mengubahnya. Intelligent Order Management menyediakan alur anak siap pakai yang disebut IOM Provider Transformer yang akan menjalankan transformasi. Tambahkan detail berikut untuk memproses acara atau pesan:

    1. Nama penyedia: Nama penyedia yang ditautkan ke pengendali pesan. Nama nilai ini harus sama dengan transformasi penyedia Anda.

    2. Nama objek sumber: Nilai kunci pencarian sumber untuk melakukan transformasi. Nilai ini harus sama dengan nama objek sumber yang ditentukan dalam transformasi penyedia Anda.

    3. Nama objek tujuan: Nilai kunci pencarian tujuan untuk melakukan transformasi. Nilai ini harus sama dengan nilai yang ditentukan dalam transformasi penyedia.

    4. Payload: Disediakan saat mentransformasikan payload JSON. Power Automate membutuhkan parameter untuk diteruskan sebagai string serial. Berikan nilai Payload atau Record ID , bukan keduanya.

    5. ID Catatan: Diberikan saat mentransformasi Dataverse catatan. Berikan nilai Payload atau Record ID , bukan keduanya.
      Tangkapan layar untuk pesan transformasi dengan Power Query Online.

  2. Anda bisa memasukkan data ke Dataverse dengan menggunakan permintaan HTTP atau tindakan Dataverse konektor Sisipkan . Jika Anda melakukan lebih dari satu penyisipan dan ingin meningkatkan kinerja, gabungkan penyisipan ke dalam kumpulan perubahan sehingga permintaan berada dalam kumpulan transaksi.
    Tangkapan layar alur penyisipan pesan.

  3. Jika Anda ingin alur Anda membangkitkan peristiwa bisnis, Anda bisa menggunakan alur turunan Naikkan Peristiwa Bisnis . Tambahkan detail berikut.

    1. BusinessEventName: Nama peristiwa yang ingin Anda munculkan.

    2. EntityRecordId: ID rekaman yang baru saja dibuat dan dikaitkan dengan kejadian.

  4. Perbarui status pemrosesan pesan dengan menggunakan tindakan Perbarui Status Permintaan Pesan Penyedia untuk menyimpan hasil eksekusi pemrosesan. Tambahkan detail berikut.

    1. ProviderMessageRequestExecutionId: ID keluaran rekaman yang dibuat untuk melacak kemajuan pemrosesan pesan.

    2. IsProviderMessageRequestExecutionSuccess: Nilai Boolean untuk menunjukkan apakah pemrosesan berhasil.

Penarik pesan penyedia

Penarik pesan penyedia adalah Power Automate aliran yang menarik pesan pada interval yang ditentukan secara rutin dari layanan eksternal.

Catatan

Penangan pesan adalah prasyarat untuk aliran penarik pesan.

Berikut adalah contoh struktur untuk membuat tipe Power Automate aliran penarik pesan.

  1. Gunakan alur kerja perulangan untuk menjadwalkan pemicu.

  2. Dapatkan pos pemeriksaan dari Dataverse. Pos pemeriksaan melacak pesan mana yang berhasil ditarik dari penyedia eksternal. Tambahkan detail berikut.

    1. Nama tindakan: Nama untuk pos pemeriksaan.

    2. WorkflowId: Setel fungsi penulisan berikut untuk mengambil informasi ini: workflow()['tags']['xrmWorkflowId'].
      Tangkapan layar Dapatkan pos pemeriksaan.

  3. Buat permintaan kiriman HTTP ke penyedia eksternal untuk menarik pesan. Tambahkan detail berikut.

    1. Metode: Setel kolom ini ke POST.

    2. URL: Titik akhir penyedia eksternal.

    3. Isi: Permintaan JSON harus memiliki rumus berikut: if(empty(outputs('Get_Checkpoint')?['body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[ 'tubuh/Pos Pemeriksaan'])).
      Tangkapan layar untuk pesan Tarik.

  4. Parsing pesan yang ditarik pada langkah 3. Tambahkan detail berikut.

    1. Konten: Isi diambil dari langkah 3.

    2. Skema: Struktur isi yang diambil pada langkah 3.
      Tangkapan layar untuk mengurai pesan.

  5. Proses pesan untuk mengulang setiap pesan dari langkah 4.

  6. Parsing setiap pesan dari langkah sebelumnya. Tambahkan informasi berikut.

    1. Konten: Item terkini dari Memproses Pesan.

    2. Skema: Satu pesan dalam format JSON.
      Tangkapan layar untuk pesan Proses 2.

  7. Panggil pengendali pesan penyedia terkait yang Anda siapkan di prasyarat. Tambahkan informasi berikut.

    1. Alur anak: Pilih pengendali pesan penyedia Anda.

    2. Pesan: Pesan diuraikan dari langkah 6.
      Tangkapan layar untuk pesan Proses 3.

  8. Simpan pos pemeriksaan ke Dataverse. Tambahkan informasi berikut.

    1. Pos pemeriksaan: Ini bisa berupa nilai string apa pun (maks 100). Dalam contoh ini, ini adalah ID pesan yang terakhir diproses.

    2. WorkFlowId: Anda bisa mengambil ID ini dengan menambahkan set fungsi penulisan ke workflow()['tags']['xrmWorkflowId'].
      Tangkapan layar untuk pesan Proses 4.

Tindakan penyedia

Alur tindakan penyedia dipanggil dari perancang orkestrasi. Aliran ini biasanya melakukan panggilan dari Intelligent Order Management ke layanan eksternal.

Perbedaan utama antara pengendali pesan penyedia dan tindakan penyedia adalah bahwa meskipun pengendali pesan dapat memberi tahu perancang orkestrasi, ia tidak dapat dipicu oleh ubin tindakan di perancang orkestrasi, sedangkan tindakan penyedia bisa.

Berikut adalah contoh struktur alur Power Automate tindakan penyedia.

  1. Mulailah dengan pemicu HTTP. Informasi berikut akan diteruskan saat runtime oleh layanan orkestrasi. Skema JSON berikut akan digunakan untuk isi:
{
    "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. Inisialisasi pemrosesan tindakan.

    1. Inisialisasi hasil eksekusi dan variabel pemrosesan lainnya.

    2. Akui permulaan eksekusi tindakan dengan menggunakan tindakan Mulai Eksekusi Tindakan Penyedia Dataverse . Hal ini akan memungkinkan pipeline melacak, mencoba ulang, dan menampilkan status pemrosesan dalam Intelligent Order Management. Tambahkan informasi berikut.

      1. ProviderActionExecutionEventId: Nilai ini diteruskan ke tindakan sebagai parameter masukan pada langkah 1.

      2. PowerAutomateRunID: Proses unik dari Power Automate tindakan. Hal ini memungkinkan alur untuk menghubungkan log eksekusi. Dapatkan informasi ini dengan menyetel kolom ke Power Automate ekspresi worflow()['run']?['name'].

  2. Lakukan aksinya.

    1. Jika perlu, transformasikan rekaman menggunakan Transform Message with Power Query Online alur turunan.

      1. Nama penyedia: Nama penyedia yang akan ditautkan ke tindakan. Nama tersebut harus sama dengan nama penyedia Anda.

      2. Nama objek sumber: Nama sumber transformasi yang akan dilakukan. Nama ini harus berupa objek sumber yang sama dengan yang ditentukan dalam Power Automate transformasi Anda.

      3. Nama objek tujuan: Nilai kunci pencarian tujuan untuk melakukan transformasi. Nama ini harus sama dengan nilai yang ditentukan dalam transformasi penyedia.

      4. Payload: Disediakan saat mentransformasikan payload JSON masuk. Power Automate membutuhkan parameter untuk diteruskan sebagai string serial. Tambahkan nilai Payload atau Record ID , namun jangan keduanya.

      5. ID Catatan: Disediakan saat mentransformasikan Dataverse catatan keluar. Tambahkan nilai Payload atau Record ID , namun jangan keduanya.
        Tangkapan layar untuk pesan transformasi dengan Power Query Online.

    2. Jalankan tindakan khusus apa pun yang telah Anda tetapkan. Ini adalah tindakan yang ada pada Power Automate konektor yang Anda gunakan.

    3. Angkat acara bisnis dengan tindakan spesifik. Gunakan alur turunan Naikkan Acara Bisnis . Tambahkan informasi berikut.

      1. BusinessEventName: Nama acara yang ingin Anda angkat.

      2. EntityRecordId: ID rekaman yang terkait dengan kejadian.

  3. Selesaikan eksekusi tindakan dan simpan hasilnya. Hasilnya akan diolah oleh desainer orkestrasi. Tambahkan informasi berikut.

    1. ExecutionResult: Nilai Boolean untuk menunjukkan apakah pemrosesan berhasil.

    2. ExecutionDetails: Detail log opsional untuk tujuan pengujian dan debugging.

    3. ProviderActionExecutionEventId: Nilai ini diteruskan ke tindakan sebagai parameter masukan yang ditentukan pada langkah 1.
      Tangkapan layar dari eksekusi tindakan penyedia yang lengkap.

Alur turunan

Alur anak adalah subalur yang direferensikan di Power Automate aliran lain. Menentukan alur anak akan berguna jika ada beberapa langkah yang Anda ulangi di beberapa area. Tidak ada template khusus atau proses yang direkomendasikan untuk alur turunan, karena alur turunan tersebut terutama dimaksudkan untuk digunakan demi kenyamanan dalam menggabungkan langkah-langkah serupa.

Alur anak penyedia tidak dapat memanggil alur anak penyedia lainnya.

Buat aliran cloud

Ketika Anda memahami jenis aliran yang ingin Anda buat, Anda siap untuk membuat aliran cloud. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Buka solusi default di Power Apps lingkungan Anda.

Penting

Jangan tambahkan solusi ini ke solusi penyedia Anda.

  1. Pilih Baru, lalu pilih Cloud Flow.

  2. Bangun Power Automate aliran Anda. Gunakan templat di bagian sebelumnya untuk referensi.

  3. Lihat bagian berikut untuk menyimpan alur Anda.

Simpan Power Automate definisi

Setelah membuat alur, Anda perlu menyimpannya sebagai Definisi Logika Definisi Penyedia komponen. Jenis komponen ini memberikan Manajemen Pesanan Cerdas tindakan untuk diterapkan selama aktivasi penyedia.

Anda harus memiliki prasyarat berikut sebelum dapat menyimpan alur Anda.

  • Untuk menyimpan Power Automate definisi logika, Anda perlu mengeluarkan permintaan OData. Untuk melakukannya, Anda memerlukan akun di PostMan atau layanan serupa.

  • Anda perlu membuat token akses ke Dataverse lingkungan Anda untuk mengeluarkan permintaan GET dan POST. Untuk melakukannya, Anda perlu menyelesaikan hal berikut.

    • Siapkan akun Azure dengan langganan aktif. Jika Anda tidak memiliki akun aktif, Anda perlu menyiapkan akun di situs web Azure.

    • PowerShell harus diinstal. Untuk informasi selengkapnya, lihat Menginstal PowerShell.

    • Masukkan perintah berikut di PowerShell untuk mendapatkan token akses: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Clipboard.

Untuk menyimpan Power Automate definisi Anda, lakukan hal berikut.

  1. Temukan ID alur kerja Power Automate aliran yang ingin Anda simpan. Lakukan salah satu hal berikut ini.

    1. Temukan ID alur kerja dengan menggunakan Power Automate tindakan.

      1. Buat tindakan penulisan dengan ekspresi workflow() di akhir Power Automate alur Anda.
        Tangkapan layar tindakan Tulis.

      2. Jalankan Power Automate.

      3. Properti xrmWorkflowId dari hasil eksekusi akan berisi ID alur kerja.
        Cuplikan layar ID alur kerja.

      4. Hapus tindakan ini dari alur agar tidak berjalan lagi.

    2. Secara opsional, Anda dapat mengeluarkan permintaan Dapatkan OData.

      1. Masuk ke alur yang ingin Anda simpan ID alur kerjanya. Temukan pengidentifikasi unik di URL. Ini adalah ID yang muncul setelah ../flows/ di URL.
        Cara menemukan pengenal unik.

      2. Keluarkan permintaan OData untuk mengambil metadata alur kerja. Berikut ini adalah contoh permintaan GET.
        DAPATKAN {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Id Alur Kerja Unik dari Power Automate U}'&$select=alur kerjaid,alur kerjaunik

      3. Simpan properti workflowid yang dikembalikan.

  2. Temukan ID definisi penyedia.

    1. Pilih definisi penyedia tempat Anda ingin menyimpan alurnya.

    2. Salin ID definisi penyedia dari URL. Ini adalah bagian dari URL ../id={nomor contoh}/.
      Cara menemukan ID definisi penyedia.

  3. Catat nilai rangkaian pilihan untuk tipe Power Automate yang Anda simpan.

    1. Alur turunan: 192350002

    2. Tindakan penyedia: 192350001

    3. Pengendali pesan penyedia: 192350000

    4. Penarik pesan penyedia: 192350003

  4. Keluarkan permintaan POST untuk menyimpan Power Automate definisi Anda. Berikut ini adalah contoh permintaan.

    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. Validasi bahwa komponen Definisi Logika Definisi Penyedia Anda telah ditambahkan. Untuk melakukannya, ikuti langkah-langkah berikut:

    1. Buka solusi penyedia Anda.

    2. Verifikasi bahwa Definisi Logika Definisi Penyedia yang Anda buat telah ditambahkan. Jika belum ditambahkan, pilih Tambahkan Yang Ada, lalu tambahkan komponen yang Anda buat.

Simpan referensi koneksi

Jika penyedia Anda menggunakan konektor Power Automate pelanggan, Anda harus menyelesaikan langkah-langkah berikut untuk menyimpan referensi koneksi ke Power Automate solusi Anda.

  1. Keluarkan permintaan GET untuk mengambil ID referensi koneksi Anda. Misalnya:
GET {Env url}/api/data/v9.2/connectionreferences

Jika Anda ingin memfilternya lebih lanjut, Anda dapat memfilter berdasarkan nama referensi koneksi. Misalnya:

    {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. Validasi apakah ID referensi koneksi yang benar telah diambil dengan menelusuri Power Automate Data Klien Anda.

    1. Masuk ke komponen Definisi Logika Definisi Penyedia yang Anda simpan sebelumnya.

    2. Periksa Data Klien untuk memverifikasi bahwa connectionReferenceLogicalName muncul.

  2. Temukan ID Definisi Penyedia Anda. Ini adalah nilai yang sama yang Anda gunakan pada Langkah 2 untuk menyimpan Power Automate definisi logika Anda.

  3. Keluarkan permintaan posting untuk menyimpan referensi koneksi Anda. Misalnya:

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

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

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

}
  1. Validasi bahwa komponen Definisi Logika Definisi Penyedia Anda telah ditambahkan.

    1. Buka solusi penyedia Anda.

    2. Verifikasi bahwa komponen referensi Definisi Logika Definisi Penyedia yang Anda buat telah ditambahkan. Jika tidak ditambahkan, pilih Tambahkan yang Ada dan tambahkan komponen yang baru saja Anda buat.

Bagikan penyedia Anda

Jika Anda ingin menggunakan definisi penyedia Anda di lingkungan lain atau membagikan solusi Anda, Anda dapat mengekspor solusi penyedia Anda. Untuk informasi selengkapnya, lihat Mengekspor solusi.