Lihat konektor yang didukung untuk Application Integration.

Coba integrasi sampel

Saat menyiapkan Application Integration di project Google Cloud Anda untuk pertama kalinya, Application Integration, secara default, membuat contoh integrasi yang tidak dipublikasikan bernama ExampleIntegration-EcomOrderProcessing.

Lihat contoh integrasi

Untuk melihat integtrasi contoh, lakukan hal berikut:

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

    Buka Application Integration

  2. Di menu navigasi, klik Integrasi. Halaman Integrations List 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 contoh integrasi ini untuk mendapatkan pengalaman langsung dari berbagai pemicu, tugas, dan konsep Integrasi Aplikasi.

Contoh integrasi menggambarkan skenario backend e-commerce dasar yang menerapkan operasi pemrosesan pesanan berikut:

  1. Terima 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 dari atau sama dengan $100. Jika ya, dapatkan persetujuan tambahan untuk melanjutkan.
  4. Periksa apakah salah satu item pesanan memiliki vendor eksternal. Jika ya, kirim detailnya ke vendor menggunakan panggilan REST API.
  5. Kirim respons pesanan dengan nilai pesanan total, item vendor eksternal yang difilter, dan status respons HTTP-nya 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 ke 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 menjadi 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 di Atas Nilai Minimum)

Kondisi: $total_order_value$ >= $threshold_order_value$ Memeriksa apakah total nilai pesanan lebih dari atau sama dengan $100. Jika ya, kontrol akan diteruskan ke Tugas persetujuan.
Kondisi edge

(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 menguji contoh integrasi ini, Anda dapat menggunakan email untuk mengonfirmasi keberhasilan penyelesaian integrasi.

Kirim email permintaan persetujuan ke 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
Untuk tugas Setiap Loop

(Untuk Setiap Loop)

Daftar yang akan diiterasi: filtered_external_items

ID Pemicu API: api_trigger/ecom-order-processing_API_2

Nama integrasi: ExampleIntegration-EcomOrderProcessing

Melakukan iterasi melalui variabel filtered_external_items dan memanggil sub-integrasi untuk setiap elemen dalam array. Kode ini juga mengumpulkan respons dari setiap run di rest_call_response_status, dengan setiap elemen array memiliki respons dari satu run tertentu.
Pemicu API

(Laporkan PesananEksternal)

ID Pemicu: api_trigger/ecom-order-processing_API_2 Memanggil sub-integrasi untuk setiap elemen dalam item_terfilter_external.
Memanggil tugas Endpoint REST

(Memanggil 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 contoh integrasi

Untuk memublikasikan integrasi, klik Publikasikan di toolbar editor integrasi.

Setelah berhasil memublikasikan integrasi, Anda dapat melihat dan memeriksa log eksekusi dari 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 contoh integrasi:

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

    Dialog 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 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 mengirimkan 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 serta melihat status dan payload integrasi yang diberikan:

  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 setiap upaya untuk menjalankan integrasi. Setiap entri menyertakan detail 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.