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:

  1. Di konsol Google Cloud, buka halaman Integrasi Aplikasi.

    Buka Application Integration

  2. Di menu navigasi, klik Integrations. Halaman Integrations akan muncul.
  3. Klik integrasi bernama ExampleIntegration-EcomOrderProcessing.

    Contoh integrasi 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 Integration Aplikasi.

Integrasi contoh mengilustrasikan 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 detail 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 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 quantity 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 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 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

(For Each Loop)

Daftar yang akan di-iterasi: 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. 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: 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 contoh:

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

    Panel Uji Integrasi 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 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
            }
          ]
        }
        
  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 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 menyertakan 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 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.