Fungsi
Dynamics 365 Fraud Protection memberi Anda fleksibilitas untuk membuat fungsi yang dapat Anda gunakan untuk melakukan tugas tertentu. Misalnya, Anda dapat menggunakan fungsi untuk menggabungkan grup kode yang harus dijalankan bersama-sama. Atau Anda dapat menggunakan fungsi untuk menggunakan kembali kode, di mana Anda menulis kode sekali dan mengaksesnya dari tempat lain, membuat kode lebih mudah dipertahankan. Dalam contoh itu, jika Anda ingin memanggil layanan eksternal untuk mengambil nilai darinya, logika dapat didefinisikan dalam fungsi, dan fungsi dapat dipanggil dari sumber daya lain.
Menentukan fungsi
Fungsi terdiri dari parameter input dan properti output.
Parameter input
Fungsi dapat menentukan parameter yang akan diteruskan ke fungsi pada saat pemanggilan. Parameter input didefinisikan dalam definisi fungsi. Jumlah parameter yang diteruskan ke fungsi saat pemanggilan harus sama persis dengan jumlah parameter yang ditentukan untuk fungsi tersebut. Parameter yang ditentukan dapat digunakan dalam properti output untuk mengembalikan nilai. Untuk informasi selengkapnya, lihat Properti output. Menentukan parameter input bersifat opsional.
Parameter input terdiri dari tiga bagian berikut.
Nama parameter: Nama yang parameternya dapat dirujuk.
Jenis Data: Setiap parameter input harus memiliki jenis data yang terkait dengannya. Jenis data yang Anda tentukan mengonversi nilai parameter ke jenis yang sesuai. Functions mendukung tipe data yang tercantum dalam tabel berikut.
Jenis Data Sampel nilai Boolean Benar DateTime Feb,22,2024 4:44PM Laju 10.0 Bilangan bulat 10 String "Halo" Nilai Default: Nilai default diperlukan untuk setiap parameter. Nilai default digunakan selama "Evaluasi Fungsi," atau jika ada masalah dengan pemanggilan fungsi.
Properti keluaran
Anda dapat menentukan nilai pengembalian fungsi dengan menggunakan properti output. Properti output menggunakan logika "Fraud Query Language (FQL)" untuk mengembalikan nilai fungsi. Properti output kemudian dapat diakses dari dalam fungsi lain, aturan, kecepatan, aturan tindakan pasca-keputusan, dan aturan perutean saat fungsi dipanggil. Fungsi dapat memiliki hingga 30 properti output. Untuk informasi selengkapnya tentang FQL dan cara menggunakannya, lihat Panduan referensi bahasa.
Properti output terdiri dari empat bagian berikut.
Deskripsi properti: Deskripsi properti. Deskripsinya bersifat opsional.
Jenis data: Jenis data dari nilai yang dikembalikan dari properti . Functions mendukung semua jenis data primitif, seperti boolean, tanggalwaktu, ganda, bilangan bulat, dan string. Setiap kali perubahan yang melanggar dilakukan pada properti output fungsi yang dirujuk di sumber daya lain, nilai default properti output asli "jenis data" digunakan sebagai fallback untuk melanjutkan eksekusi sumber daya. Kami menyarankan agar Anda memperbarui sumber daya setelah melanggar perubahan.
Nilai default: Nilai default dikembalikan sebagai hasil fungsi saat pengecualian ditemui selama evaluasi properti. Misalnya, pembagian berdasarkan 0, dan pengecualian Referensi Null.
Editor kode untuk mengembalikan nilai: Editor kode digunakan untuk mengembalikan nilai dari fungsi. Berikut ini adalah cara untuk mengembalikan nilai output.
Parameter input yang ditentukan dalam fungsi dapat digunakan untuk mengembalikan nilai.
Contoh properti output yang mengembalikan parameter input sebagai nilai pengembalian. Untuk informasi selengkapnya tentang cara menentukan parameter input, lihat bagian Parameter Input sebelumnya di artikel ini.
RETURN _number1 + _number2
Atribut permintaan dan respons (termasuk data kustom) dari penilaian yang berisi aturan yang memanggil fungsi. Anda dapat mengakses atribut ini dengan @ operator. Contohnya,@"salesTax".
Contoh fungsi menggunakan atribut permintaan:
RETURN @"salesTax"
Data pengayaan Perlindungan Penipuan. Misalnya, Geo.CountryCode().
Contoh fungsi menggunakan riskscore:
RETURN Geo.CountryCode(@"deviceContext.ipAddress")
Mencantumkan yang Anda unggah ke Perlindungan Penipuan. Untuk informasi selengkapnya tentang cara mengunggah daftar, lihat Mengelola daftar.
Contoh fungsi menggunakan daftar:
RETURN Lookup("Country_Score", "Country", "US", "ScoreCutOff")
Kecepatan yang didefinisikan dalam Perlindungan Penipuan. Untuk informasi selengkapnya, lihat Melakukan pemeriksaan kecepatan.
Contoh fungsi menggunakan kecepatan:
RETURN Velocity.IPs_Per_User(@"deviceContext.ipAddress", 30s)
Panggilan eksternal yang dibuat dalam Perlindungan Penipuan. Untuk informasi selengkapnya, lihat Panggilan eksternal.
Contoh fungsi menggunakan panggilan eksternal:
RETURN External.weather("Seattle").id
Penilaian eksternal yang dibuat dalam Perlindungan Penipuan. Untuk informasi selengkapnya, lihat Penilaian Eksternal.
Contoh fungsi yang memanggil penilaian eksternal:
LET $result = Assessments.myAssessment.Evaluate($baseInput = @@) RETURN $result.ToStr()
Fungsi akses dalam fungsi.
Contoh fungsi yang memanggil fungsi lain:
RETURN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
Catatan
Anda dapat membuat fungsi di lingkungan apa pun di tumpukan multi-hierarki. Ketika fungsi mereferensikan sumber daya seperti kecepatan, panggilan eksternal, daftar, dan penilaian eksternal yang tersedia di lingkungan, lingkungan yang lebih rendah yang memanggil fungsi juga mewarisi sumber daya yang direferensikan fungsi. Misalnya, jika Anda membuat fungsi di akar yang mereferensikan panggilan eksternal untuk mengembalikan nilai, lingkungan anak yang memanggil fungsi juga dapat mengakses hasil panggilan eksternal tersebut. Untuk informasi selengkapnya tentang cara mewarisi dan memanggil fungsi, lihat bagian Pewarisan Fungsi nanti di artikel ini.
Menerbitkan fungsi
Di portal Perlindungan Penipuan, pilih Fungsi di bilah navigasi, lalu pilih Fungsi Baru. Perlindungan Penipuan membuat fungsi draf yang hanya ditampilkan kepada Anda (pembuat fungsi). Semua perubahan yang Anda buat pada draf disimpan secara otomatis.
Untuk menentukan fungsi baru dari awal, lihat bagian Menentukan Fungsi sebelumnya di artikel ini.
Untuk menerbitkan fungsi, pilih Terbitkan.
Dalam kotak dialog konfirmasi, Anda bisa mengubah nama dan deskripsi. Pilih Terbitkan.
Catatan
Setelah Anda menerbitkan fungsi, fungsi tersebut akan terlihat oleh semua pengguna. Fungsi kemudian dapat dipanggil dalam fungsi lain, aturan, kecepatan, aturan pasca-keputusan, dan aturan perutean.
Untuk informasi tentang cara menggunakan fungsi di sumber daya lain seperti fungsi, aturan, kecepatan, tindakan pasca keputusan, dan aturan perutean, lihat bagian Memanggil fungsi dari sumber daya nanti di artikel ini.
Panel Sampel
Saat Anda membuat atau mengedit fungsi, panel Sampel muncul di sisi halaman.
Fungsi tidak terkait dengan penilaian apa pun. Contoh payload disajikan sebagai panduan bermanfaat untuk pengguna yang menunjukkan semua properti peristiwa yang dapat direferensikan dalam fungsi Anda. Pilih jenis peristiwa di bidang Peristiwa di bagian atas panel.
Bagian sampel payload berisi contoh properti yang dapat dikirim di API permintaan untuk penilaian.
Mengelola fungsi
Untuk mengedit fungsi yang diterbitkan sebelumnya, pilih fungsi lalu pilih Edit. Draf fungsi yang diterbitkan dibuat dan hanya tersedia untuk Anda. Semua perubahan yang Anda buat pada draf disimpan secara otomatis. Untuk mendorong perubahan Anda ke produksi, pilih Terbitkan. Fungsi yang diterbitkan sebelumnya ditimpa dengan perubahan Anda. Untuk membuang draf Anda, pilih Buang.
Untuk menghapus fungsi yang sudah ada, pilih elipsis (...), lalu pilih Hapus.
Untuk memperbarui nama atau deskripsi fungsi, pilih elipsis (...), lalu pilih Ganti Nama.
Untuk mencari fungsi, masukkan kata kunci di bidang Pencarian . Semua nama dan deskripsi fungsi dicari, dan hasilnya difilter sesuai dengan kata kunci pencarian.
Mengevaluasi fungsi
Sebelum menerbitkan fungsi, Anda bisa menggunakan panel Evaluasi fungsi untuk memastikan bahwa fungsi mengembalikan hasil yang Anda harapkan.
- Untuk membuka panel evaluasi fungsi, pilih Perluas di tab Fungsi .
- Untuk menutup panel, pilih Ciutkan.
Saat panel evaluasi terbuka, daftar properti output ditampilkan dengan hasilnya. Evaluasi menggunakan nilai default untuk parameter input dan nilai dari bagian payload sampel saat menentukan apa yang harus dikembalikan. Jika salah satu nilai tersebut diubah, output juga diubah. Dengan demikian, Anda dapat memastikan bahwa nilai yang benar untuk setiap properti output dikembalikan.
Memanggil fungsi dari sumber daya
Fungsi yang diterbitkan dapat dipanggil dari sumber daya seperti aturan, kecepatan, tindakan pasca-keputusan, dan aturan perutean. Semua properti output yang ditentukan dalam fungsi dapat diakses dengan memanggil fungsi . Nilai kemudian dapat digunakan untuk pengambilan keputusan.
Aturan
Fungsi dapat dipanggil dari aturan apa pun (dalam penilaian apa pun) di lingkungan yang sama dan dari lingkungan anak dalam hierarki di bawah ini. Untuk informasi selengkapnya tentang aturan, lihat Aturan.
LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Kecepatan
Fungsi dapat dipanggil dari kecepatan apa pun di lingkungan yang sama dan dari lingkungan anak dalam hierarki di bawah ini. Untuk informasi selengkapnya tentang kecepatan, lihat Melakukan pemeriksaan kecepatan.
SELECT DistinctCount(@"device.deviceContextId") AS Devices_Per_IP
FROM AccountLogin
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum > 5
GROUPBY @"device.ipAddress"
Aturan pasca-keputusan
Fungsi dapat dipanggil dari aturan tindakan pasca-keputusan (dalam penilaian apa pun) di lingkungan yang sama dan dari lingkungan anak dalam hierarki di bawah ini. Untuk informasi selengkapnya tentang aturan tindakan pasca-keputusan, lihat Aturan Tindakan Pasca keputusan.
DO SetResponse()
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum == 5
Aturan perutean
Fungsi dapat dipanggil dari aturan perutean apa pun di lingkungan yang sama dan dari lingkungan anak dalam hierarki di bawah ini. Untuk informasi selengkapnya tentang aturan perutean, lihat Manajemen Kasus.
ROUTETO Queue("General Queue")
WHEN Functions.MyFunction(@"purchase.request.totalAmount", @"purchase.request.salesTax").Calculate_Sum > 5
Pewarisan fungsi
Fungsi dapat dipanggil di lingkungan yang sama dan dari lingkungan anak dalam hierarki di bawah ini. Sintaks pemanggilan tergantung pada tempat fungsi ada dan dari mana fungsi tersebut dipanggil. Di bawah ini adalah berbagai cara untuk memanggil fungsi dalam pengaturan multi-hierarki.
Catatan
Jika fungsi mereferensikan sumber daya seperti kecepatan, daftar, panggilan eksternal, dan penilaian eksternal, sumber daya juga diwarisi dari lingkungan anak dalam hierarki di bawah ini ketika fungsi dipanggil.
Memanggil fungsi yang dibuat dalam lingkungan yang sama
Contoh di bawah ini memanggil fungsi dari aturan di mana aturan dan fungsi ada di lingkungan yang sama.
LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Memanggil fungsi yang dibuat dalam lingkungan root
Contoh di bawah ini memanggil fungsi yang dibuat di akar dari lingkungan anak.
LET $sum = Functions.root.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Memanggil fungsi yang dibuat dalam lingkungan induk
Contoh di bawah ini memanggil fungsi dari lingkungan induk langsung.
LET $sum = Functions.parent.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Memanggil fungsi yang dibuat dalam lingkungan apa pun di atas tumpukan
Contoh di bawah ini memanggil fungsi yang dibuat di lingkungan di atas tumpukan dan diwarisi dari aturan dalam lingkungan yang lebih rendah.
LET $sum = Functions.environment["environmentid"].MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Batas fungsi dan sumber daya
Perlindungan Penipuan memiliki batasan jumlah fungsi yang dapat dibuat per lingkungan dan jumlah sumber daya yang dapat direferensikan dalam fungsi.
Sumber daya | Batasan | |
---|---|---|
Jumlah maksimum fungsi yang dapat diterbitkan dalam lingkungan | 30 | |
Jumlah maksimum properti output yang dapat ada dalam fungsi | 30 | |
Jumlah maksimum kecepatan unik yang dapat dirujuk oleh fungsi | 15 | |
Jumlah maksimum panggilan eksternal yang dapat dirujuk oleh fungsi | 2 | |
Pencarian daftar unik angka maksimum yang dapat dirujuk oleh fungsi | 5 | |
Jumlah maksimum penilaian eksternal unik yang dapat dirujuk oleh fungsi | 2 | |
Jumlah maksimum fungsi yang dapat dipanggil oleh seperangkat aturan | 10 | |
Jumlah maksimum fungsi yang dapat dipanggil oleh aturan perutean | 10 | |
Jumlah maksimum fungsi yang dapat dipanggil oleh tindakan pasca keputusan | 10 | |
Jumlah maksimum sumber daya yang dapat dipanggil kecepatan | 10 |