Dokumen ini menjelaskan mekanisme callback event Alibaba Cloud IDaaS dan menyediakan panduan komprehensif bagi pengembang untuk mengintegrasikan sinkronisasi aplikasi, mencakup kategori parameter event dan alur pemrosesannya guna mendukung integrasi sistem yang efisien.
Informasi dasar
Bagian ini menjelaskan parameter event dan kategorinya. Untuk informasi lebih lanjut mengenai prinsip integrasi dan alur panggilan, lihat Ikhtisar sinkronisasi akun.
Test event
Setelah administrator mengonfigurasi sinkronisasi aplikasi, mereka dapat mengklik tombol The test is successful. untuk memvalidasi konfigurasi. Tindakan ini memicu test event. Aplikasi harus menerima dan memproses event ini guna mengonfirmasi bahwa konfigurasi telah benar.
Incremental event
Incremental event dipicu secara otomatis ketika terjadi perubahan pada buku alamat internal IDaaS. Event ini digunakan untuk pembaruan dan sinkronisasi data berkelanjutan antara IDaaS dan aplikasi pihak ketiga. Dengan mendengarkan event ini, Anda dapat menjaga konsistensi data antara kedua sistem—sangat berguna dalam skenario yang memerlukan sinkronisasi data real-time atau near-real-time.
Full event
Full event adalah operasi sinkronisasi yang dipicu secara manual oleh administrator melalui antarmuka IDaaS. Tujuannya adalah mengimpor seluruh data dari IDaaS ke aplikasi target sekaligus. Jenis sinkronisasi ini biasanya digunakan untuk integrasi awal atau skenario yang memerlukan pembaruan data lengkap.
Daftar periksa event
Modul event | Jenis peristiwa | Kode tipe |
Test event | urn:alibaba:idaas:app:event:common:test | |
Buku alamat incremental events | urn:alibaba:idaas:app:event:ud:user:create | |
urn:alibaba:idaas:app:event:ud:user:delete | ||
urn:alibaba:idaas:app:event:ud:user:update_info | ||
urn:alibaba:idaas:app:event:ud:user:update_password | ||
urn:alibaba:idaas:app:event:ud:user:disable | ||
urn:alibaba:idaas:app:event:ud:user:enable | ||
urn:alibaba:idaas:app:event:ud:user:lock | ||
urn:alibaba:idaas:app:event:ud:user:unlock | ||
urn:alibaba:idaas:app:event:ud:user:update_primary_ou | ||
urn:alibaba:idaas:app:event:ud:organizational_unit:create | ||
urn:alibaba:idaas:app:event:ud:organizational_unit:delete | ||
urn:alibaba:idaas:app:event:ud:organizational_unit:update | ||
urn:alibaba:idaas:app:event:ud:organizational_unit:update_parent_organizational_unit | ||
urn:alibaba:idaas:app:event:ud:group:create | ||
urn:alibaba:idaas:app:event:ud:group:update | ||
urn:alibaba:idaas:app:event:ud:group:delete | ||
urn:alibaba:idaas:app:event:ud:group:add_user | ||
urn:alibaba:idaas:app:event:ud:group:remove_user | ||
Buku alamat full events | urn:alibaba:idaas:app:event:ud:organizational_unit:push | |
urn:alibaba:idaas:app:event:ud:user:push | ||
urn:alibaba:idaas:app:event:ud:group:push |
Untuk semua event akun dan organisasi, IDaaS mengirimkan informasi akun atau organisasi lengkap sebagai parameter ke pendengar event. Jika data berisi informasi sensitif, Anda dapat menggunakan saluran terenkripsi HTTPS atau memilih Business Data Encryption untuk melindungi data selama transmisi.
Test event
Test connection
Event ini menguji konektivitas informasi konfigurasi serta memvalidasi kemampuan verifikasi signature dan enkripsi.
Test event menggunakan tipe subscription event khusus: urn:alibaba:idaas:app:event:common:test.
Event ini hanya dapat dipicu melalui uji satu klik di Konsol dan tidak mendukung panggilan API.
Berikut adalah contoh payload setelah signature parameter permintaan diverifikasi:
{
"iss": "urn:alibaba:idaas:app:event",
"sub": "idaas_rhhoqmlnyu3cv7ow657gyvurky",
"aud": "app_mjavzivahje6zxkbc4i2bierdu",
"exp": 1648711369,
"iat": 1648709570,
"jti": "bNRrCYrqXjqe8B1xweqlZw",
"dataEncrypted": false,
"cipherData": "",
"plainData": {
"instanceId": "idaas_rhhoqmlnyu3cv7ow657gyvurky",
"aliUid": 151971404963****,
"eventVersion": "V1.0",
"eventData": [
{
"eventId":"evnt_aaaac766x2somw2ptotoyk6ag6bmfkt5xpqprpq",
"eventType":"urn:alibaba:idaas:app:event:common:test",
"eventTime":"1648709509849",
"bizId":"evnt_aaaac766x2somw2ptotoyk6ag6bmfkt5xpqprpq",
"bizData":"{\"bizData\":\"req_xxxxxxxxxxsdfsdfsfd\"}"
}
]
}
}Aplikasi harus mengembalikan respons setelah berhasil menerima event. Pastikan eventId dalam bidang successEvents pada respons sesuai dengan `eventId` dari permintaan.
Jika tidak, permintaan uji gagal.
{
"successEvents": [
{
"eventId": "evnt_aaaac766x2somw2ptotoyk6ag6bmfkt5xpqprpq",
"eventCode": "SUCCESS",
"eventMessage": "SUCCESS"
}
],
"skippedEvents": [
{
"eventId": "",
"eventCode": "",
"eventMessage": ""
}
],
"failedEvents": [
{
"eventId": "",
"eventCode": "",
"eventMessage": ""
}
],
"retriedEvents": [
{
"eventId": "",
"eventCode": "",
"eventMessage": ""
}
]
}Address book incremental events
User events
Account creation
Anda dapat berlangganan event ini untuk menangani onboarding karyawan.
Jenis event: urn:alibaba:idaas:app:event:ud:user:create.
Contoh
bizDatayang telah diurai:{ "password": "ssGp96", "userId": "user_4alcbywzc7jyl23lu2srljsw7i", "username": "zhangsan", "displayName": "Zhang San", "passwordSet": true, "phoneRegion": "", "phoneNumber": "155****5620", "phoneVerified": false, "email":"zh***@163.com", "emailVerified": false, "userExternalId": "user_4alcbywzc7jyl23lu2srljsw7i", "userSourceType": "build_in", "userSourceId": "idaas_rhhoqmlnyu3cv7ow657gyvurky", "status": "enabled", "accountExpireTime": "-1", "registerTime": "1648531553621", "lockExpireTime": "-1", "createTime": "1648531553621", "updateTime": "1648531553621", "description": "", "customFields": [ { "fieldName": "test_custom_field", "fieldValue": "test_value" } ], "primaryOrganizationalUnitId": "ou_bvluxnp2ef36uupdwob6km34a4", "organizationalUnits": [ { "organizationalUnitId": "ou_bvluxnp2ef36uupdwob6km34a4", "organizationalUnitName": "R&D Department", "primary": true } ] }Deskripsi parameter:
Parameter
Tipe data
Deskripsi
userId
String
ID pengguna unik.
username
String
Username.
displayName
String
Nama tampilan. Biasanya nama lengkap pengguna.
passwordSet
boolean
Menunjukkan apakah kata sandi telah diatur.
phoneRegion
String
Kode area untuk nomor telepon.
phoneNumber
String
Nomor telepon.
phoneVerified
boolean
Menunjukkan apakah nomor telepon telah diverifikasi. Verifikasi saat ini tidak dilakukan.
email
String
Kotak surat.
emailVerified
boolean
Menunjukkan apakah kotak surat telah diverifikasi. Verifikasi saat ini tidak dilakukan.
userExternalId
String
ID eksternal. Jika merupakan akun yang dibuat sendiri, ID ini sama dengan `userId`. Jika merupakan akun yang disinkronkan dari sumber eksternal, ini adalah ID pengguna dari sumber tersebut. Misalnya, jika sumbernya adalah DingTalk, ini adalah `userId` DingTalk.
userSourceType
String
Tipe sumber untuk akun yang dibuat sendiri adalah "build_id".
userSourceId
String
ID tipe sumber.
password
String
Password. Nilai ini dikirimkan jika sinkronisasi password diaktifkan untuk aplikasi dan pengguna telah mengatur password.
status
String
Status. `enabled` menunjukkan akun diaktifkan. `disabled` menunjukkan akun dinonaktifkan.
accountExpireTime
Long
Waktu kedaluwarsa pengguna.
registerTime
Long
Waktu pendaftaran.
lockExpireTime
Long
Waktu kedaluwarsa kunci. Akun akan dibuka kuncinya pada waktu ini.
createTime
Long
Waktu pembuatan.
updateTime
Long
Waktu modifikasi.
description
String
Deskripsi.
customFields
List
Daftar bidang ekstensi.
-fieldName
String
Identitas nama bidang.
-fieldValue
String
Nilai bidang.
primaryOrganizationalUnitId
String
Unit organisasi utama tempat pengguna bernaung.
organizationalUnits
List
Organisasi yang berafiliasi
-organizationalUnitId
String
ID unik unit organisasi.
-organizationalUnitName
String
Nama unit organisasi.
-primary
boolean
Unit organisasi utama. `true` menunjukkan ini adalah unit organisasi utama. `false` menunjukkan bukan.
Account deletion
Ketika seorang karyawan berhenti, informasi akunnya di buku alamat berubah. Anda dapat berlangganan event ini untuk menerima pembaruan tersebut.
Jenis event: urn:alibaba:idaas:app:event:ud:user:delete.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Account basic information update
Jika informasi dasar karyawan, seperti nomor telepon, kotak surat, atau nama, berubah, aplikasi perlu segera menerima informasi yang diperbarui. Anda dapat berlangganan event ini untuk menerima pembaruan tersebut.
Jenis event: urn:alibaba:idaas:app:event:ud:user:update_info.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Account password update
Ketika password akun berubah—misalnya saat administrator meresetnya atau pengguna mengubahnya—aplikasi dapat berlangganan event ini untuk menerima password baru.
PentingUntuk berlangganan event ini, Anda juga harus mengonfigurasi cakupan sinkronisasi agar langganan berlaku. Jika tidak, sinkronisasi tidak akan terjadi. Untuk informasi lebih lanjut, lihat Sinkronisasi Akun – Sinkronisasi dari IDaaS ke Aplikasi.
Jenis event: urn:alibaba:idaas:app:event:ud:user:update_password.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Account enable
Event ini dipicu ketika status akun berubah dari dinonaktifkan menjadi diaktifkan. Anda dapat berlangganan event ini untuk menerima notifikasi perubahan ini.
Jenis event: urn:alibaba:idaas:app:event:ud:user:enable.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Account disable
Event ini dipicu ketika status akun berubah dari diaktifkan menjadi dinonaktifkan. Anda dapat berlangganan event ini untuk menerima notifikasi perubahan ini.
Jenis event: urn:alibaba:idaas:app:event:ud:user:disable.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Account lock
Event ini dipicu ketika status akun berubah menjadi terkunci. Misalnya, jika pengguna memasukkan password yang salah berkali-kali, akun akan dikunci dan menjadi sementara tidak tersedia. Anda dapat berlangganan event ini untuk menerima notifikasi perubahan ini.
Jenis event: urn:alibaba:idaas:app:event:ud:user:lock.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Account unlock
Event ini dipicu ketika status akun berubah dari terkunci menjadi normal. Anda dapat berlangganan event ini untuk menerima notifikasi perubahan ini.
Jenis event: urn:alibaba:idaas:app:event:ud:user:unlock.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Account shift
Event ini dipicu ketika unit organisasi utama suatu akun berubah. Anda dapat berlangganan event ini untuk menerima notifikasi perubahan ini.
Jenis event: urn:alibaba:idaas:app:event:ud:user:update_primary_ou.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.
Organizational unit (OU) events
Organization creation
Anda dapat berlangganan event ini untuk menangani pembuatan unit organisasi.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:create.
Contoh
bizDatayang telah diurai:{ "organizationalUnitId": "ou_dqdvxesykpfhig2kvgrzpeoeyu", "organizationalUnitName": "Organization Department", "parentId": "ou_dqdvxesykpdfasdfaseoeyu", "organizationalUnitExternalId": "ou_dqdvxesykpfhig2kvgrzpeoeyu", "organizationalUnitSourceType": "build_in", "organizationalUnitSourceId": "idaas_rhhoqmlnyu3cv7ow657gyvurky", "createTime": "1648451475209", "updateTime": "1648451475209", "description":"Self-built" }Deskripsi parameter:
Parameter
Tipe data
Deskripsi
organizationalUnitId
String
ID organisasi unik.
organizationalUnitName
String
Nama organisasi.
parentId
String
ID unit organisasi induk.
organizationalUnitExternalId
String
ID eksternal untuk organisasi yang dikelola sendiri.
organizationalUnitId. Jika disinkronkan dari sumber eksternal, seperti DingTalk, ini adalah ID departemen dari DingTalk.
organizationalUnitSourceType
String
Tipe sumber.
organizationalUnitSourceId
String
ID tipe sumber.
createTime
Long
Waktu pembuatan.
updateTime
Long
Waktu modifikasi. Sama dengan lastUpdatedTime.
description
String
Deskripsi.
Organization deletion
Anda dapat menggunakan langganan event ini untuk menghapus organisasi.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:delete.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan organisasi.Organization update
Anda dapat berlangganan event ini untuk menangani pembaruan informasi dasar unit organisasi, seperti nama organisasi.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:update.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan organisasi.Organization shift
Anda dapat berlangganan event ini untuk menangani perubahan organisasi induk suatu unit organisasi.
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:update_parent_organizational_unit.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan organisasi.
Group events
Group creation
Anda dapat membuatnya di kelompok langganan event ini.
Jenis event: urn:alibaba:idaas:app:event:ud:group:create.
Contoh
bizDatayang telah diurai:{ "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024", "groupExternalId": "test_2024" }Deskripsi parameter:
Parameter
Tipe data
Deskripsi
groupId
String
Identitas grup unik.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
allMembers
List
Semua anggota grup saat ini.
memberId
String
Identitas pengguna unik.
memberName
String
Nama tampilan pengguna.
Group basic information update
Anda dapat memperbarui informasi dasar untuk kelompok langganan event.
Jenis event: urn:alibaba:idaas:app:event:ud:group:update.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan grup.Group deletion
Anda dapat menghapus kelompok langganan event ini.
Jenis event: urn:alibaba:idaas:app:event:ud:group:delete.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan grup.Add member to group
Anda dapat menambahkan anggota ke grup melalui langganan event ini.
Jenis event: urn:alibaba:idaas:app:event:ud:group:add_user.
Contoh
bizDatayang telah diurai:{ "addedMembers": [ { "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4", "memberName": "Xiao Ming" } ], "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024_test", "groupExternalId": "test_2024" }Deskripsi parameter:
Parameter
Tipe data
Deskripsi
groupId
String
Identitas grup unik.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
addedMembers
List
Anggota yang akan ditambahkan.
-memberId
String
Identitas pengguna unik.
-memberName
String
Nama tampilan pengguna.
Remove member from group
Anda dapat menghapus anggota dari grup melalui langganan event ini.
Jenis event: urn:alibaba:idaas:app:event:ud:group:remove_user.
Contoh
bizDatayang telah diurai:{ "removedMembers": [ { "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4", "memberName": "Xiao Ming" } ], "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024_test", "groupExternalId": "test_2024" }Deskripsi parameter:
Parameter
Tipe data
Deskripsi
groupId
String
Identitas grup unik.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
removedMembers
List
Anggota yang akan dihapus.
-memberId
String
Identitas pengguna unik.
-memberName
String
Nama tampilan pengguna.
Address book full events
Full push events
Full push of organizational units
Jenis event: urn:alibaba:idaas:app:event:ud:organizational_unit:push.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan organisasi.Full push of accounts
Jenis event: urn:alibaba:idaas:app:event:ud:user:push.
Contoh
bizDatayang telah diurai: Sama seperti untuk pembuatan akun.Full push of groups
Anda dapat berlangganan event ini untuk menangani full push grup.
Jenis event: urn:alibaba:idaas:app:event:ud:group:push.
Contoh
bizDatayang telah diurai:{ "allMembers": [ { "memberId": "user_zakg7oeeaftqqff2bzcv7wpqs4", "memberName": "Xiao Ming" }, { "memberId": "user_zakg7oeea1234ff2bzcexample", "memberName": "Zhang San" } ], "groupId": "group_yvx3ugdi3yzaehnsd3uqzb4xha", "groupName": "test_2024", "groupExternalId": "test_2024" }Deskripsi parameter:
Parameter
Tipe data
Deskripsi
groupId
String
Identitas grup unik.
groupName
String
Nama tampilan grup.
groupExternalId
String
ID eksternal grup.
allMembers
List
Semua anggota grup saat ini.
-memberId
String
Identitas pengguna unik.
-memberName
String
Nama tampilan pengguna.