Xero

Konektor ini menyediakan akses SQL ke backend Xero Anda.

Sebelum memulai

Sebelum menggunakan konektor Xero, lakukan tugas berikut:

  • Di project Google Cloud Anda:
    • Berikan peran IAM roles/connectors.admin kepada pengguna yang mengonfigurasi konektor.
    • Berikan peran IAM berikut ke akun layanan yang ingin Anda gunakan untuk konektor:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Akun layanan adalah jenis Akun Google khusus yang dimaksudkan untuk mewakili pengguna non-manusia yang perlu melakukan autentikasi dan diberi otorisasi untuk mengakses data di Google API. Jika tidak memiliki akun layanan, Anda harus membuat akun layanan. Untuk mengetahui informasi selengkapnya, lihat Membuat akun layanan.

    • Aktifkan layanan berikut:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      Untuk memahami cara mengaktifkan layanan, lihat Mengaktifkan layanan.

    Jika layanan atau izin ini belum diaktifkan untuk project Anda sebelumnya, Anda akan diminta untuk mengaktifkannya saat mengonfigurasi konektor.

Mengonfigurasi konektor

Mengonfigurasi konektor mengharuskan Anda membuat koneksi ke sumber data (sistem backend). Koneksi bersifat khusus untuk sumber data. Artinya, jika memiliki banyak sumber data, Anda harus membuat koneksi terpisah untuk setiap sumber data. Untuk membuat koneksi, lakukan langkah-langkah berikut:

  1. Di Konsol Cloud, buka halaman Integration Connectors > Connections, lalu pilih atau buat project Google Cloud.

    Buka halaman Connections

  2. Klik + Create new untuk membuka halaman Create Connection.
  3. Di bagian Lokasi, pilih lokasi untuk koneksi.
    1. Region: Pilih lokasi dari menu drop-down.

      Region yang didukung untuk konektor mencakup:

      Untuk mengetahui daftar semua wilayah yang didukung, lihat Lokasi.

    2. Klik Next.
  4. Di bagian Connection Details, selesaikan tindakan berikut:
    1. Konektor: Pilih Xero dari menu drop-down Konektor yang tersedia.
    2. Versi konektor: Pilih versi Konektor dari menu drop-down versi yang tersedia.
    3. Di kolom Connection Name, masukkan nama untuk instance Connection.

      Nama koneksi harus memenuhi kriteria berikut:

      • Nama koneksi dapat menggunakan huruf, angka, atau tanda hubung.
      • Huruf harus kecil.
      • Nama koneksi harus dimulai dengan huruf dan diakhiri dengan huruf atau angka.
      • Nama koneksi tidak boleh lebih dari 63 karakter.
    4. Secara opsional, masukkan Deskripsi untuk instance koneksi.
    5. Akun Layanan: Pilih akun layanan yang memiliki peran yang diperlukan.
    6. Secara opsional, konfigurasikan Setelan node koneksi:

      • Jumlah minimum node: Masukkan jumlah minimum node koneksi.
      • Jumlah maksimum node: Masukkan jumlah maksimum node koneksi.

      {i>Node<i} adalah unit (atau replika) koneksi yang memproses transaksi. Lebih banyak node diperlukan untuk memproses lebih banyak transaksi untuk sebuah koneksi dan sebaliknya, lebih sedikit node diperlukan untuk memproses transaksi yang lebih sedikit. Untuk memahami pengaruh node terhadap harga konektor Anda, lihat Harga untuk node koneksi. Jika Anda tidak memasukkan nilai apa pun, secara default node minimum akan ditetapkan ke 2 (untuk ketersediaan yang lebih baik) dan node maksimum ditetapkan ke 50.

    7. Skema: Xero API yang ingin Anda akses sebagai skema database.
    8. Tenant: Menetapkan organisasi Xero yang akan dihubungkan. Dapat berupa nama atau ID tenant.
    9. Tingkat Verbositas: Tingkat panjang untuk koneksi, bervariasi dari 1-5. Tingkat panjang yang lebih tinggi akan mencatat semua detail komunikasi (sertifikat permintaan,respons & SSL).
    10. Secara opsional, klik + Add label untuk menambahkan label ke Connection dalam bentuk key-value pair.
    11. Klik Next.
  5. Di bagian Authentication, masukkan detail autentikasi.
    1. Pilih Jenis autentikasi, lalu masukkan detail yang relevan.

      Jenis autentikasi berikut didukung oleh koneksi Xero:

      • Kredensial Klien OAuth 2.0
      • Pemberian Kode Autentikasi OAuth 2.0
    2. Untuk memahami cara mengonfigurasi jenis autentikasi ini, lihat Mengonfigurasi autentikasi.

    3. Klik Next.
  6. Tinjau: Tinjau detail koneksi dan autentikasi Anda.
  7. Klik Create.

Mengonfigurasi autentikasi

Masukkan detail berdasarkan autentikasi yang ingin Anda gunakan.

  • Kredensial Klien OAuth 2.0
    • Client-ID: Client ID yang diberikan oleh konektor untuk aplikasi yang Anda buat.
    • Rahasia Klien: Secret Manager yang berisi rahasia klien untuk aplikasi terhubung yang Anda buat.
  • Pemberian Kode Autentikasi OAuth 2.0
    • Token akses: Token akses yang digunakan untuk mengautentikasi permintaan dengan koneksi berbasis alur kode autentikasi.
    • Client-ID: Client-ID yang digunakan untuk meminta token akses.
    • Rahasia klien: Rahasia klien yang digunakan untuk meminta token akses.

Entitas, operasi, dan tindakan

Semua Integration Connectors menyediakan lapisan abstraksi untuk objek aplikasi yang terhubung. Anda hanya dapat mengakses objek aplikasi melalui abstraksi ini. Abstraksi ditampilkan kepada Anda sebagai entity, operasi, dan tindakan.

  • Entity: Entity dapat dianggap sebagai objek, atau kumpulan properti, dalam aplikasi atau layanan yang terhubung. Definisi entity berbeda dari konektor ke konektor. Misalnya, pada konektor database, tabel adalah entity, pada konektor server file, folder adalah entity, dan di konektor sistem pesan, antrean adalah entity.

    Namun, mungkin saja konektor tidak mendukung atau memiliki entitas, dalam hal ini daftar Entities akan kosong.

  • Operasi: Operasi adalah aktivitas yang dapat Anda lakukan pada entity. Anda dapat melakukan salah satu operasi berikut pada entitas:

    Memilih entity dari daftar yang tersedia akan menghasilkan daftar operasi yang tersedia untuk entity tersebut. Untuk deskripsi operasi secara mendetail, lihat operasi entity tugas Konektor. Namun, jika konektor tidak mendukung salah satu operasi entity, operasi yang tidak didukung tersebut tidak akan dicantumkan dalam daftar Operations.

  • Tindakan: Tindakan adalah fungsi kelas pertama yang tersedia untuk integrasi melalui antarmuka konektor. Tindakan memungkinkan Anda membuat perubahan pada satu atau beberapa entitas, dan bervariasi dari satu konektor ke konektor lainnya. Namun, mungkin saja konektor tidak mendukung tindakan apa pun, dalam hal ini daftar Actions akan kosong.

Menggunakan koneksi Xero dalam integrasi

Keterbatasan sistem

Konektor Xero dapat memproses 5 transaksi per detik, per node, dan men-throttle setiap transaksi di luar batas ini. Namun, jumlah transaksi yang dapat diproses oleh konektor Xero juga bergantung pada batasan yang diberlakukan oleh instance Xero. Untuk mengetahui informasi selengkapnya, lihat Batas kapasitas Xero API. Secara default, Integration Connectors mengalokasikan 2 node (untuk ketersediaan yang lebih baik) untuk satu koneksi.

Untuk informasi tentang batas yang berlaku untuk Konektor Integrasi, lihat Batas.

Tindakan

Bagian ini mencantumkan beberapa tindakan yang didukung oleh konektor. Untuk memahami cara mengonfigurasi tindakan, lihat Contoh tindakan.

Tindakan DownloadLampiran

Tindakan ini akan mendownload lampiran.

Parameter input tindakan DownloadLampiran

Nama parameter Jenis data Diperlukan Deskripsi
Nama file String Tidak Nama lampiran untuk didownload.
Tabel String Tidak Nama tabel tempat kita harus mendownload lampiran.
ObjectId String Tidak ObjectId lampiran.

Parameter output tindakan DownloadLampiran

Tindakan ini akan menampilkan status 200 (OK) jika download berhasil.

Untuk memahami cara mengonfigurasi tindakan DownloadAttachment, lihat Contoh tindakan.

Tindakan Upload lampiran

Tindakan ini akan memungkinkan Anda mengupload lampiran.

Parameter input tindakan UploadLampiran

Nama parameter Jenis data Diperlukan Deskripsi
Nama file String Tidak Nama lampiran yang akan diupload.
ObjectId String Tidak ObjectId lampiran.
ContentType String Tidak Jenis konten lampiran.
Tabel String Tidak Nama tabel tempat lampiran harus diupload.
Konten String Tidak Konten lampiran

Parameter output tindakan UploadLampiran

Tindakan ini akan menampilkan status 200 (OK) jika upload objek berhasil.

Untuk memahami cara mengonfigurasi tindakan UploadAttachment, lihat Contoh tindakan.

Tindakan ListLampiran

Tindakan ini memungkinkan Anda menampilkan daftar semua lampiran tabel.

Parameter input tindakan ListLampiran

Nama parameter Jenis data Diperlukan Deskripsi
ObjectId String Tidak ID objek lampiran.
Tabel String Tidak Nama tabel tempat lampiran harus dicantumkan.

Parameter output tindakan ListLampiran

Tindakan ini akan menampilkan status 200 (OK) jika penghapusan berhasil.

Untuk memahami cara mengonfigurasi tindakan ListAttachment, lihat Contoh tindakan.

Tindakan SendInvoiceMail

Tindakan ini memungkinkan Anda mengirim email ke invoicer.

Masukkan parameter tindakan SendInvoiceMail

Nama parameter Jenis data Diperlukan Deskripsi
InvoiceId String Tidak ID invoice yang menjadi tujuan pengiriman email.

Parameter output tindakan SendInvoiceMail

Tindakan ini akan menampilkan status 200 (OK) jika operasi pemindahan berhasil.

Untuk memahami cara mengonfigurasi tindakan SendInvoiceMail, lihat Contoh tindakan.

Tindakan UploadFile

Tindakan ini memungkinkan Anda mengupload file.

Parameter input tindakan UploadFile

Nama parameter Jenis data Diperlukan Deskripsi
Nama String Tidak Nama file yang akan diupload.
Konten String Tidak Konten file yang akan diupload.

Parameter output tindakan UploadFile

Tindakan ini akan menampilkan status 200 (OK) jika upload objek berhasil.

Untuk memahami cara mengonfigurasi tindakan UploadFile, lihat Contoh tindakan.

Contoh tindakan

Bagian ini menjelaskan cara melakukan beberapa tindakan dalam konektor ini.

Contoh - Download lampiran

Contoh ini mendownload lampiran.

  1. Dalam dialog Configure connector task, klik Actions.
  2. Pilih tindakan DownloadAttachment, lalu klik Done.
  3. Di bagian Task Input pada tugas Connectors, klik connectorInputPayload, lalu masukkan nilai yang mirip dengan berikut di kolom Default Value:
    {
    "Filename": "Xero_Test.txt",
    "Table": "Contacts",
    "ObjectId": "6a92a3ab-87cf-4f2f-8beb-ecb4f8ae4d41"
    }
  4. Jika tindakan tersebut berhasil, parameter respons connectorOutputPayload tugas DownloadAttachment akan memiliki nilai yang mirip dengan yang berikut:

    [{
    "Success": "True",
    "Content": "Test content"
    }]

Contoh - Upload lampiran

Contoh ini mengupload lampiran.

  1. Dalam dialog Configure connector task, klik Actions.
  2. Pilih tindakan UploadAttachment, lalu klik Done.
  3. Di bagian Task Input pada tugas Connectors, klik connectorInputPayload, lalu masukkan nilai yang mirip dengan berikut di kolom Default Value:
    {
    "Filename": "Xero_Test.txt",
    "ObjectId": "6a92a3ab-87cf-4f2f-8beb-ecb4f8ae4d41",
    "ContentType": "txt",
    "Table": "Contacts",
    "Content": "Test content upload attachment"
    }
  4. Jika tindakan tersebut berhasil, parameter respons connectorOutputPayload tugas UploadAttachment akan memiliki nilai yang mirip dengan yang berikut:

    [{
    "Success": null,
    "AttachmentId": "5ba982a6-9294-45a7-bdda-5f134b0d69d5",
    "FileName": "Xero_Test.txt",
    "URL": "https://api.xero.com/api.xro/2.0/Contacts/6a92a3ab-87cf-4f2f-8bwb-fcb4f8ae4d41/Attachments/Xero_Test.txt",
    "MimeType": "text/plain",
    "ContentLength": "27",
    "IncludeOnline": null,
    "_": ""
    }, {
    "Success": null,
    "AttachmentId": null,
    "FileName": null,
    "URL": null,
    "MimeType": null,
    "ContentLength": null,
    "IncludeOnline": null,
    "_": null
    }]

Contoh - Daftar lampiran

Contoh ini mencantumkan lampiran dari tabel yang ditentukan.

  1. Dalam dialog Configure connector task, klik Actions.
  2. Pilih tindakan ListAttachment, lalu klik Done.
  3. Di bagian Task Input pada tugas Connectors, klik connectorInputPayload, lalu masukkan nilai yang mirip dengan berikut di kolom Default Value:
    {
    "ObjectId": "6a92a3ab-87cf-4f2f-8beb-ecb4f8ae4d41",
    "Table": "Contacts"
    }
  4. Jika tindakan tersebut berhasil, parameter respons connectorOutputPayload tugas ListAttachment akan memiliki nilai yang mirip dengan yang berikut:

    [{
    "AttachmentId": "5ba982a6-9294-45a7-bdda-5f134b0d69d5",
    "FileName": "Xero_Limit_Testing.txt",
    "URL": "https://api.xero.com/api.xro/2.0/Contacts/6a92a3ab-87cf-4f2f-8bwb-fcb4f8ae4d41/Attachments/Xero_Test.txt",
    "MimeType": "text/plain",
    "ContentLength": "27"
    }]

Contoh - Mengirim email faktur

Contoh ini mengirim email untuk faktur yang telah ditentukan.

  1. Dalam dialog Configure connector task, klik Actions.
  2. Pilih tindakan SendInvoiceMail, lalu klik Done.
  3. Di bagian Task Input pada tugas Connectors, klik connectorInputPayload, lalu masukkan nilai yang mirip dengan berikut di kolom Default Value:
    {
    "InvoiceId": "016a64c7-be0b-45a2-acae-13057fdf1566"
    }
  4. Jika tindakan tersebut berhasil, parameter respons connectorOutputPayload tugas SendInvoiceMail akan memiliki nilai yang mirip dengan yang berikut:

    [{
    "Success": "true"
    }]

Contoh - Upload file

Contoh ini mengupload file.

  1. Dalam dialog Configure connector task, klik Actions.
  2. Pilih tindakan UploadFile, lalu klik Done.
  3. Di bagian Task Input pada tugas Connectors, klik connectorInputPayload, lalu masukkan nilai yang mirip dengan berikut di kolom Default Value:
    {
    "Name": "Sample1.txt",
    "Content": "This is a sample file"
    }
  4. Jika tindakan tersebut berhasil, parameter respons connectorOutputPayload tugas UploadFile akan memiliki nilai yang mirip dengan yang berikut:

    [{
    "Success": "true",
    "FileId": "09039c7b-35a2-473d-aa79-16fe00b8d460",
    "Name": "Sample1.txt",
    "FolderId": "36e5115d-a9b6-4c22-baf3-40a8b28ee71d",
    "MimeType": "text/plain",
    "Size": 26.0,
    "User_Id": "c1e33cc9-eb61-45cb-9e46-3ea4121cbdc6",
    "User_Name": "test_user_1@test.com",
    "User_FirstName": "John",
    "User_LastName": "Smith",
    "User_FullName": "John Smith",
    "Created": "2023-12-18 17:38:53.01",
    "Updated": "2023-12-18 17:38:53.01"
    }]

Contoh operasi entitas

Bagian ini menunjukkan cara melakukan beberapa operasi entity di konektor ini.

Contoh - Menampilkan daftar semua catatan

Contoh ini mencantumkan semua data dalam entity Accounts.

  1. Dalam dialog Configure connector task, klik Entities.
  2. Pilih Accounts dari daftar Entity.
  3. Pilih operasi List, lalu klik Done.
  4. Secara opsional, di bagian Task Input pada tugas Connectors, Anda dapat memfilter kumpulan hasil dengan menentukan klausa filter. Contohnya, City='Bangalore' Anda juga dapat menentukan beberapa kondisi filter menggunakan operator logika. Sebagai contoh, City='Bangalore' and region='asia-south2'

Contoh - Dapatkan faktur

Contoh ini mendapatkan invoice dengan ID yang ditentukan dari entity Invoices.

  1. Dalam dialog Configure connector task, klik Entities.
  2. Pilih Invoices dari daftar Entity.
  3. Pilih operasi Get, lalu klik Done.
  4. Di bagian Task Input pada tugas Connectors, klik EntityId lalu masukkan 1|016a64c7-be0b-45a2-acae-13057fdf1566 di kolom Default Value.

    Di sini, 1|016a64c7-be0b-45a2-acae-13057fdf1566 adalah nilai kunci utama dalam entity Invoices.

Contoh - Membuat invoice

Contoh ini membuat invoice dalam entity Invoices.

  1. Dalam dialog Configure connector task, klik Entities.
  2. Pilih Invoices dari daftar Entity.
  3. Pilih operasi Create, lalu klik Done.
  4. Di bagian Task Input pada tugas Connectors, klik connectorInputPayload, lalu masukkan nilai yang mirip dengan berikut di kolom Default Value:
    {
    "Type": "ACCPAY",
    "ContactName": "ContactName1",
    "LineItem_Description": "LineItemDescription"
    }

    Jika integrasi berhasil, kolom connectorOutputPayload tugas konektor Anda akan memiliki nilai yang mirip dengan berikut ini:

    {
    "Id": "1|7b29efe9-dacd-47bb-85a6-0c0640ce25de"
    }

Contoh - Memperbarui data

Contoh ini memperbarui data dalam entity AssetTypes.

  1. Dalam dialog Configure connector task, klik Entities.
  2. Pilih AssetTypes dari daftar Entity.
  3. Pilih operasi Update, lalu klik Done.
  4. Di bagian Task Input pada tugas Connectors, klik connectorInputPayload, lalu masukkan nilai yang mirip dengan berikut di kolom Default Value:
    {
    "BookDepreciationSetting_DepreciationRate": 10.0
    }
  5. Klik entityId, lalu masukkan f8d43548-25b0-4cc3-8f59-d97106974fe8 di kolom Nilai Default.

    Jika integrasi berhasil, kolom connectorOutputPayload tugas konektor Anda akan memiliki nilai yang mirip dengan berikut ini:

    {
    "AssetTypeId": "f8d43548-25b0-4cc3-8f59-d97106974fe8"
    }

Contoh - Menghapus file

Contoh ini menghapus file dengan ID yang ditentukan dari entity Files.

  1. Dalam dialog Configure connector task, klik Entities.
  2. Pilih Files dari daftar Entity.
  3. Pilih operasi Delete, lalu klik Done.
  4. Di bagian Task Input pada tugas Connectors, klik entityId, lalu masukkan 421c82f0-38fb-4074-a679-63b04c0d8832 di kolom Default Value.

Setelah Anda membuat koneksi, koneksi tersebut akan tersedia di Apigee Integration dan Application Integration. Anda dapat menggunakan koneksi dalam integrasi melalui tugas Konektor.

  • Untuk memahami cara membuat dan menggunakan tugas Konektor di Integrasi Apigee, lihat Tugas konektor.
  • Untuk memahami cara membuat dan menggunakan tugas Konektor dalam Application Integration, lihat tugas konektor.

Dapatkan bantuan dari komunitas Google Cloud

Anda dapat memposting pertanyaan dan mendiskusikan konektor ini di komunitas Google Cloud di Cloud Forums.

Langkah selanjutnya