Lihat konektor yang didukung untuk Integration Aplikasi.
Coba integrasi sampel
Saat menyiapkan Integrasi Aplikasi di project Google Cloud Anda untuk pertama kalinya, Integrasi Aplikasi secara default akan membuat integrasi contoh yang tidak dipublikasikan bernama ExampleIntegration-EcomOrderProcessing.
Melihat contoh integrasi
Untuk melihat contoh integrasi, lakukan hal berikut:
- Di konsol Google Cloud, buka halaman Integrasi Aplikasi.
- Di menu navigasi, klik Integrations. Halaman Integrations akan muncul.
- Klik integrasi bernama ExampleIntegration-EcomOrderProcessing.
Contoh integrasi akan terbuka di editor integrasi yang mirip dengan tata letak berikut:
Integrasi contoh e-commerce
Anda dapat menggunakan integrasi contoh ini untuk mendapatkan pengalaman langsung tentang berbagai pemicu, tugas, dan konsep Integration Aplikasi.
Integrasi contoh mengilustrasikan skenario backend e-commerce dasar yang menerapkan operasi pemrosesan pesanan berikut:
- Menerima payload permintaan pesanan berikut dari endpoint API:
{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 24.0, "price_per_unit": 1 } ] }
- Ekstrak payload pesanan dan hitung total nilai pesanan.
- Periksa apakah total nilai pesanan lebih besar dari atau sama dengan $100. Jika ya, dapatkan persetujuan tambahan untuk melanjutkan.
- Periksa apakah ada item pesanan yang memiliki vendor eksternal. Jika ya, kirim detail ke vendor menggunakan panggilan REST API.
- Kirim respons pesanan dengan total nilai pesanan, item vendor eksternal yang difilter, dan status respons HTTP masing-masing.
Tabel berikut mencantumkan semua pemicu, tugas, dan kondisi edge yang digunakan di ExampleIntegration-EcomOrderProcessing:
Komponen | Konfigurasi | Deskripsi | |
---|---|---|---|
Pemicu API
(OrderProcessAPITrigger) |
ID Pemicu: api_trigger/ecom-order-processing_API_1
|
Memanggil integrasi untuk setiap permintaan pesanan. | |
Tugas pemetaan data
(Menemukan Total Harga Pesanan) |
Input | Output | Mengekstrak variabel input JSON order_request dan melakukan iterasi pada semua item pesanan menggunakan fungsi pemetaan FOR_EACH untuk menghitung total nilai harga pesanan.
Nilai harga pesanan total dihitung dengan mengalikan item
Nilai akhir kemudian dikonversi ke jenis data ganda dan disimpan dalam variabel output |
orders_request.line_items .FOR_EACH(~obj1->~obj1 .GET_PROPERTY("quantity") .TO_DOUBLE() .MULTIPLY(~obj1 .GET_PROPERTY("price_per_unit") .TO_DOUBLE())) .TO_DOUBLE_ARRAY() .SUM() |
total_order_value
|
||
Kondisi edge
(Total OrderValue Above Threshold) |
Kondisi: $total_order_value$ >= $threshold_order_value$ |
Memeriksa apakah total nilai pesanan lebih besar dari atau sama dengan $100. Jika ya, kontrol akan diteruskan ke Tugas persetujuan. | |
Kondisi edge
(TotalOrderValue Below Threshold) |
Kondisi: $total_order_value$ < $threshold_order_value$
|
Memeriksa apakah total nilai pesanan kurang dari $100. Jika ya, kontrol akan diteruskan ke tugas Filter Item Eksternal. | |
Tugas persetujuan
(Persetujuan) |
Penerima: Enter the approver's email address Untuk tujuan menguji integrasi contoh ini, Anda dapat menggunakan email untuk mengonfirmasi bahwa integrasi berhasil diselesaikan. |
Mengirim email permintaan persetujuan kepada satu atau beberapa pengguna integrasi. Email tersebut menyertakan link ke integrasi tempat pengguna dapat menyetujui atau menolak permintaan secara manual. | |
Tugas pemetaan data
(Filter Item Eksternal) |
Input | Output | Mengekstrak variabel input JSON order_request dan memfilter semua item pesanan dengan vendor eksternal menggunakan fungsi pemetaan FILTER.
Nilai yang difilter kemudian disimpan dalam variabel output |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
Tugas For Each Loop
(For Each Loop) |
Daftar yang akan di-iterasi: filtered_external_items
ID Pemicu API:
Nama integrasi: |
Melakukan iterasi pada variabel filtered_external_items dan memanggil sub-integrasi untuk setiap elemen dalam array. Fungsi ini juga mengumpulkan respons dari setiap operasi di rest_call_response_status , dengan setiap elemen array memiliki respons dari satu operasi tertentu.
|
|
Pemicu API
(Laporkan ExternalOrders) |
ID Pemicu: api_trigger/ecom-order-processing_API_2
|
Memanggil sub-integrasi untuk setiap elemen di filtered_external_items. | |
Tugas Call REST Endpoint
(Call REST Endpoint) |
URL dasar endpoint: https://mocktarget.apigee.net/echo
Metode HTTP:
Isi permintaan: |
Melakukan panggilan REST ke https://mocktarget.apigee.net/echo. |
Memublikasikan dan menguji integrasi contoh
Untuk memublikasikan integrasi, klik Publikasikan di toolbar editor integrasi.
Setelah berhasil memublikasikan integrasi, Anda dapat melihat dan memeriksa log eksekusi integrasi yang dipublikasikan. Untuk melihat log, klik Lihat log eksekusi untuk integrasi ini. Halaman Execution Logs akan muncul.
Menguji dari editor integrasi
Lakukan hal berikut untuk menguji integrasi contoh:
- Klik Test di toolbar editor integrasi, lalu pilih OrderProcessAPITrigger.
Panel Uji Integrasi akan muncul.
- Anda akan diminta untuk mengedit variabel input
orders_request
. Untuk tujuan pengujian ini, Anda dapat memperbarui nilaiquantity
menjadi240
. Variabel inputorders_request
update akan terlihat seperti berikut:{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 240, "price_per_unit": 1 } ] }
- Klik Uji integrasi.
Karena jumlah orders_request
yang diperbarui lebih besar dari 200, integrasi contoh akan mengirim email permintaan persetujuan ke alamat email yang ditentukan di kolom Penerima pada Tugas persetujuan. Operasi pesanan integrasi akan berhasil diselesaikan setelah persetujuan diterima.
Untuk informasi selengkapnya tentang pengujian, lihat Menguji dan memublikasikan integrasi.
Lakukan hal berikut untuk memeriksa log eksekusi dan melihat status serta payload integrasi tertentu:
- Di editor integrasi, klik Lihat log eksekusi untuk integrasi ini. Halaman Execution Logs akan muncul.
- Di halaman Log Eksekusi, Anda dapat melihat detail tentang setiap upaya untuk menjalankan integrasi.
Setiap entri menyertakan detail untuk upaya eksekusi, termasuk:
- Nama integrasi
- ID eksekusi
- Status
- Waktu mulai
- Durasi
- Versi Integrasi
- ID Pemicu
- Klik panah peluas (>) di samping integrasi yang dieksekusi untuk melihat daftar tugas dan variabel yang diperluas dalam integrasi, beserta status tugas dan payload variabel.
Menguji menggunakan panggilan REST API
Kasus pengujian 1: Mengirim permintaan dengan input default
curl -X POST -H "Content-Type: application/json" -d '{"trigger_id":"api_trigger/ecom-order-processing_API_1"}' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
Kasus pengujian 2: Mengirim permintaan dengan input kustom
curl -X POST -H "Content-Type: application/json" -d '{ "triggerId": "api_trigger/ecom-order-processing_API_1", "inputParameters": { "orders_request": { "jsonValue": "{\n \"order_no\": \"12345\",\n \"buyer_id\": \"raambo\",\n \"line_items\": [{\n \"line\": 1.0,\n \"sku\": \"tr100\",\n \"vendor\": \"Internal\",\n \"quantity\": 1.0,\n \"price_per_unit\": 10.0\n }, {\n \"line\": 2.0,\n \"sku\": \"tbz\",\n \"vendor\": \"External\",\n \"quantity\": 24.0,\n \"price_per_unit\": 2.0\n }]\n}" } } }' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
Ganti kode berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION: Lokasi integrasi. Lihat Lokasi Integrasi Aplikasi.
- INTEGRATION_NAME: Nama integrasi.
Output pengujian
API menampilkan respons eksekusi integrasi yang berisi semua nilai variabel output integrasi.
Kuota dan batas
Untuk mengetahui informasi tentang kuota dan batas, lihat Kuota dan batas.