> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docku.mertani.com/api-reference/overview/integration-method/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docku.mertani.com/_mcp/server. # Integration Method ## Overview Mertani menyediakan dua metode utama untuk integrasi data, yang dirancang untuk kebutuhan konsumsi data yang berbeda: 1. **REST API (Pull-Based)** → Client mengambil data dari Mertani 2. **Webhook API (Push-Based)** → Mertani mengirim data ke client Kedua metode ini berjalan di atas arsitektur yang sama, namun memiliki pola komunikasi yang berbeda. ## Alur utama: ### **Data Logger** mengumpulkan data dari sensor ### Data dikirim melalui **Gateway** ### Diterima oleh **Mertani Backend** ### Disimpan di **Database** ### Data dapat diakses melalui `REST API Mertani` --- ## 1. REST API (Pull-Based) Pada metode ini, client secara aktif mengambil data dari server Mertani melalui endpoint API. ### Cara Kerja * Client mengirim request ke endpoint API * Backend membaca data dari database * Data dikembalikan dalam format JSON ### Karakteristik * **Request-based (GET)** * Bersifat **pull** (client yang mengontrol pengambilan data) * Mendukung **data historis dan agregasi** * Tidak real-time (tergantung interval polling) ### Use Case * Dashboard monitoring * Data analytics * Reporting * Integrasi BI tools --- ## 2. Webhook API (Push-Based) Pada metode ini, Mertani akan secara otomatis mengirim data ke endpoint milik client setiap kali ada data baru. ### Cara Kerja * Device mengirim data ke backend * Backend memproses data * Backend melakukan HTTP **POST** ke endpoint client * Client menerima data secara langsung ### Karakteristik * **Event-driven (POST)** * Bersifat **push** (server yang mengirim data) * Mendukung **real-time data streaming** * Tidak memerlukan polling ### Use Case * Sistem notifikasi / alerting * Monitoring real-time * Integrasi event-driven system * Automation pipeline --- ## Perbandingan REST API vs Webhook | **Feature** | **REST API** | **Webhook API** | | ------------ | ----------------- | --------------------- | | Model | Pull | Push | | Trigger | Client request | Event dari sistem | | Real-time | Tidak langsung | Ya | | Beban Server | Di client | Di server penerima | | Kompleksitas | Lebih sederhana | Perlu endpoint publik | | Use Case | Dashboard, report | Alerting, automation | --- ## Behavior Sistem * Kedua metode membaca data dari sumber yang sama (**database Mertani**) * REST API tidak pernah mengambil data langsung dari device * Webhook hanya aktif jika dikonfigurasi * Data yang dikirim mengikuti interval dari device > **Note** > > REST API dan Webhook dapat digunakan bersamaan untuk kebutuhan yang berbeda, misalnya dashboard menggunakan REST API dan alert system menggunakan Webhook. --- ## Best Practice Integrasi Untuk implementasi optimal: ### REST API * Gunakan parameter **timestamp filter** untuk efisiensi * Hindari polling terlalu sering * Gunakan caching untuk performa ### Webhook * Pastikan endpoint memiliki **high availability** * Implementasikan retry mechanism * Validasi request (signature/token) untuk keamanan