Lewati ke konten utama

Pendahuluan

Modul IntegrationCollections menyimpan data yang digunakan untuk mengintegrasikan berbagai layanan dan sistem.

Untuk mengintegrasikan layanan pihak ketiga, Anda perlu membuat dan mengonfigurasi koleksi terlebih dahulu.

Informasi lebih lanjut tentang antarmuka pengguna modul ini https://doc.oneentry.cloud/docs/category/integration-collections


🎯 Apa yang dilakukan modul ini?

Modul IntegrationCollections memungkinkan Anda untuk membaca dan mengelola koleksi — tabel terstruktur dari catatan yang digunakan untuk mengintegrasikan OneEntry dengan layanan dan sistem eksternal. Setiap koleksi didefinisikan oleh sebuah formulir (skema); setiap catatan (baris) menyimpan formData yang dikirimkan.

Tentukan sebuah koleksi dan formulirnya di panel admin, kemudian ambil, buat, perbarui, dan hapus barisnya dari aplikasi Anda.

🚀 Memulai dengan Cepat

Inisialisasi modul dari defineOneEntry:


const { IntegrationCollections } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);

Ambil semua koleksi dan baca bidang-bidangnya:

// Returns an array of collections (langCode defaults to the configured language).
const collections = await IntegrationCollections.getICollections("en_US");

collections.forEach((collection) => {
console.log(collection.id, collection.identifier, collection.formId);
});

✨ Konsep Kunci

Koleksi vs. Baris

  • Koleksi (ICollectionEntity) — wadah/skema. Ini merujuk pada sebuah formulir (formId) dan satu set atribut, serta membawa informasi yang dilokalisasi.
  • Baris (ICollectionRow) — sebuah catatan tunggal di dalam koleksi, menyimpan formData (sebuah array dari { marker, type, value }), cap waktu, dan entitas terkait opsional (entityType / entityId).

Struktur Koleksi

{
id: 1,
identifier: 'collection1',
formId: 1234,
localizeInfos: { title: 'Admins text' },
attributeSetId: 1234,
selectedAttributeMarkers: 'collection_marker'
}

Struktur Baris

{
id: 1,
createdDate: '2025-06-06T19:08:54.616Z',
updatedDate: '2025-06-06T19:08:54.616Z',
collectionId: 1,
formData: [
{ marker: 'name_1', type: 'string', value: 'Value' }
],
entityType: null,
entityId: null,
attributeSetIdentifier: null
}

Membuat atau memperbarui baris

Kirimkan objek formulir (ICollectionFormObject) dengan pengidentifikasi formulir dan nilai bidang:

const body = {
formIdentifier: 'collection-form',
formData: [
{ marker: 'collection_marker', type: 'string', value: 'Collection marker' }
]
};

await IntegrationCollections.createICollectionRow('collection1', body);

📋 Apa yang Perlu Anda Ketahui

Koleksi didefinisikan di panel admin

Koleksi dan formulirnya dibuat dan dikonfigurasi di panel admin OneEntry. SDK digunakan untuk membaca koleksi dan mengelola barisnya (buat / perbarui / hapus).

Menghapus baris memerlukan izin

deleteICollectionRowByMarkerAndId() memerlukan hak collections.row.delete; tanpa itu, penghapusan akan gagal.


📊 Tabel Referensi Cepat

MetodeDeskripsi
getICollections()Ambil semua koleksi.
getICollectionById()Ambil satu koleksi berdasarkan id.
getICollectionRowsById()Ambil semua baris dari sebuah koleksi berdasarkan id koleksi.
getICollectionRowsByMarker()Ambil semua baris dari sebuah koleksi berdasarkan penanda.
getICollectionRowByMarkerAndId()Ambil satu baris berdasarkan penanda koleksi dan id baris.
validateICollectionMarker()Periksa apakah penanda koleksi ada.
createICollectionRow()Buat sebuah baris dalam koleksi.
updateICollectionRow()Perbarui sebuah baris dalam koleksi.
deleteICollectionRowByMarkerAndId()Hapus sebuah baris koleksi (memerlukan hak collections.row.delete).

❓ Pertanyaan Umum (FAQ)

Di mana koleksi dibuat?

Koleksi dan formulirnya dibuat dan dikonfigurasi di panel admin OneEntry. SDK digunakan untuk membaca koleksi dan mengelola barisnya (buat / perbarui / hapus).


Apa perbedaan antara koleksi dan baris koleksi?

Sebuah koleksi adalah definisi tabel (skema formulir dan metadata-nya). Sebuah baris koleksi adalah catatan tunggal yang disimpan dalam koleksi tersebut, membawa nilai formData-nya.


🎓 Praktik Terbaik

  • Tentukan koleksi di panel admin - SDK membaca koleksi dan mengelola barisnya, bukan skemanya.
  • Validasi penanda sebelum digunakan - Gunakan validateICollectionMarker() untuk mengonfirmasi bahwa penanda koleksi ada.
  • Sesuaikan bidang formulir dengan skema - Penanda/tipe formData harus sesuai dengan formulir koleksi.
  • Pastikan izin hapus - deleteICollectionRowByMarkerAndId() memerlukan hak collections.row.delete.

🔗 Dokumentasi Terkait