Coba integrasi sampel

Saat menyiapkan Integrasi Aplikasi di project Google Cloud untuk pertama kalinya, Integrasi Aplikasi secara default membuat contoh integrasi yang belum dipublikasikan bernama ExampleIntegration-EcomOrderProcessing.

Melihat contoh integrasi

Untuk melihat contoh integrasi, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Application Integration.

    Buka Application Integration

  2. Klik Integrasi dari menu navigasi kiri untuk membuka halaman Integrasi.
  3. Klik integrasi bernama ExampleIntegration-EcomOrderProcessing.

    Integrasi contoh akan terbuka di editor integrasi yang mirip dengan tata letak berikut:

    Contoh gambar tata letak integrasi Contoh gambar tata letak integrasi

Integrasi contoh e-commerce

Anda dapat menggunakan integrasi contoh ini untuk mendapatkan pengalaman langsung tentang berbagai pemicu, tugas, dan konsep Application Integration.

Integrasi sampel menggambarkan skenario backend e-commerce dasar yang menerapkan operasi pemrosesan pesanan berikut:

  1. 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
        }
      ]
    }
  2. Ekstrak payload pesanan dan hitung total nilai pesanan.
  3. Periksa apakah total nilai pesanan lebih besar dari atau sama dengan $100. Jika ya, dapatkan persetujuan tambahan untuk melanjutkan.
  4. Periksa apakah ada item pesanan yang memiliki vendor eksternal. Jika ya, kirim detailnya ke vendor menggunakan panggilan REST API.
  5. 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 dalam 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

(Temukan 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 nilai harga total pesanan.

Nilai harga total pesanan dihitung dengan mengalikan quantity item dan price_per_item menggunakan fungsi pemetaan GET_PROPERTY dan MULTIPLY.

Nilai akhir kemudian dikonversi ke jenis data ganda dan disimpan dalam variabel output total_order_value.

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 tepi

(Total Nilai Pesanan di Atas Nilai Minimum)

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 tepi

(TotalOrderValue Di Bawah Nilai Minimum)

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 Anda untuk mengonfirmasi keberhasilan penyelesaian integrasi.

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 filtered_external_items.

orders_request
.GET_PROPERTY("line_items")
.FILTER(~obj1->~obj1
  .GET_PROPERTY("vendor")
  .TO_STRING()
  .EQUALS("External"))
filtered_external_items
Tugas For Each Loop

(Loop For Each)

Daftar yang akan diiterasi: filtered_external_items

ID Pemicu API: api_trigger/ecom-order-processing_API_2

Nama integrasi: ExampleIntegration-EcomOrderProcessing

Melakukan iterasi pada variabel filtered_external_items dan memanggil sub-integrasi untuk setiap elemen dalam array. Respons setiap eksekusi juga disatukan dalam rest_call_response_status, dengan setiap elemen array memiliki respons dari satu eksekusi tertentu.
Pemicu API

(Report 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: POST

Isi permintaan: sub_integration_input

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 gambar yang menampilkan ikon untuk log eksekusiLihat log eksekusi untuk integrasi ini. Halaman Execution Logs akan muncul.

Menguji dari editor integrasi

Lakukan hal berikut untuk menguji integrasi sampel:

  1. Klik Uji di toolbar editor integrasi, lalu pilih OrderProcessAPITrigger.

    Panel Test Integration akan muncul.

  2. Anda akan diminta untuk mengedit variabel input orders_request. Untuk tujuan pengujian ini, Anda dapat memperbarui nilai quantity menjadi 240. Variabel input orders_request yang diperbarui 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
            }
          ]
        }
        
  3. 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 mengetahui informasi selengkapnya tentang pengujian, lihat Menguji dan memublikasikan integrasi.

Lakukan hal berikut untuk memeriksa log eksekusi dan melihat status serta payload integrasi tertentu:

  1. Di editor integrasi, klik gambar yang menampilkan ikon untuk log eksekusiLihat log eksekusi untuk integrasi ini. Halaman Execution Logs akan muncul.
  2. Di halaman Log Eksekusi, Anda dapat melihat detail tentang setiap upaya untuk menjalankan integrasi. Setiap entri mencakup detail untuk upaya eksekusi, termasuk:
    • Nama integrasi
    • ID eksekusi
    • Status
    • Waktu mulai
    • Durasi
    • Versi Integrasi
    • ID Pemicu
  3. Klik panah peluas (>) di samping integrasi yang dijalankan 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.