Panduan ini ditujukan untuk Tenant (penyewa agen AI) — owner bisnis, decision maker, non-IT. Untuk dokumentasi teknis lengkap (HMAC, JSON schema, code sample Node.js/Python), bagikan link berikut ke tim IT: Panduan Integrasi API (Teknis)

01 Untuk Siapa Panduan Ini

Panduan ini ditujukan kepada Tenant (penyewa agen AI) yang berlangganan paket berikut:

  • EMBAN Customer Service (CS) — agen AI yang melayani customer Bapak/Ibu di WhatsApp/Telegram/Email
  • EMBAN Admin Toko Online (SA) — agen AI yang membantu Bapak/Ibu mengelola operasional toko (stock, order, finance internal)

⚠️ Penting: Fitur integrasi API ini HANYA tersedia untuk paket EMBAN Customer Service dan EMBAN Admin Toko Online. Paket EMBAN Personal Assistant (PA Basic / PA Pro) tidak memiliki fitur integrasi API ke sistem eksternal — paket PA fokus pada produktivitas pribadi (catatan, pengingat, finansial pribadi).

Kalau Bapak/Ibu belum yakin paket yang digunakan, tanyakan langsung ke agent EMBAN:

"Paket saya yang mana ya?"

Atau cek di email konfirmasi pendaftaran tenant.

02 Apa Itu Integrasi API

Analogi Sederhana

Bayangkan toko Bapak/Ibu punya dua "ruangan":

  • Ruangan depan: tempat customer datang (chat WhatsApp/TG/Email yang ditangani EMBAN)
  • Ruangan belakang: sistem internal Bapak/Ibu (ERP, CRM, WMS, dashboard admin, atau Excel digital)

Tanpa integrasi, kedua ruangan tidak terhubung. Customer minta info, agent EMBAN hanya bisa jawab dari SOP yang Bapak/Ibu upload (mis. PDF FAQ produk). Kalau customer tanya "stok kemeja merah size M tinggal berapa?", agent terpaksa bilang "saya cek dulu, mohon tunggu" lalu Bapak/Ibu manual cek di sistem.

Dengan integrasi API, agent bisa langsung "ngintip" ke sistem belakang Bapak/Ibu dan jawab data live. Customer dapat jawaban dalam hitungan detik, Bapak/Ibu tidak perlu intervensi manual.

Manfaat Integrasi

  • Kecepatan: customer dapat info real-time tanpa menunggu admin online
  • Konsistensi: data yang sama di sistem internal sama dengan yang dijawab agent
  • Skalabilitas: 100 customer chat bersamaan, agent handle semua tanpa Bapak/Ibu intervensi
  • Audit trail: semua interaksi tercatat di sistem EMBAN + sistem internal Bapak/Ibu
  • Eskalasi terstruktur: keluhan customer otomatis masuk ke sistem ticketing internal, bukan tersebar di chat pribadi admin

Glossary Singkat

IstilahArti sederhana
APICara dua sistem komputer "ngobrol" otomatis tanpa manusia
EndpointAlamat URL khusus di sistem Bapak/Ibu yang EMBAN panggil
WebhookKebalikan endpoint — URL di sistem Bapak/Ibu yang menerima kiriman dari EMBAN
Tech contact emailAlamat email tim IT atau partner developer Bapak/Ibu
SecretPassword rahasia yang dipakai sistem untuk verifikasi pengirim — dipegang tim IT
Claim linkLink sekali pakai untuk tim IT mengambil secret dari email
HMACCara verifikasi keaslian pengirim (otomatis ditangani sistem, Bapak/Ibu tidak perlu pahami)
JSONFormat teks terstruktur yang dipakai sistem komputer untuk tukar data

03 Kapan TIDAK Perlu Integrasi API

Banyak tenant tidak membutuhkan integrasi API sama sekali. Berikut use case yang bisa di-handle EMBAN tanpa integrasi:

A. Jawab FAQ produk / kebijakan

  • Upload PDF/Word berisi FAQ ke EMBAN sebagai SOP
  • Agent otomatis cari dan jawab dari isi PDF tsb
  • Tidak perlu API — cukup upload dokumen

B. Catat keuangan harian (untuk paket Admin Toko Online)

  • Bapak/Ibu chat ke agent: "catat penjualan hari ini Rp 5 juta dari 12 transaksi"
  • Agent simpan di database internal EMBAN
  • Bisa minta laporan bulanan, P&L, balance sheet — semua tanpa integrasi

C. Eskalasi sederhana ke admin manusia

  • Kalau customer minta admin, agent bisa diset untuk forward chat ke nomor WA / email Bapak/Ibu langsung
  • Tidak perlu sistem ticketing internal — cukup notifikasi WA/email

D. Catat reminder, kontak, notes

  • Built-in tools EMBAN sudah handle ini tanpa integrasi

Pertimbangkan integrasi API kalau:

  • Bapak/Ibu sudah punya sistem ERP/WMS/CRM/dashboard internal yang Bapak/Ibu mau EMBAN sync dari sana
  • Customer sering tanya info real-time (stock, status order, jadwal servis) yang berubah cepat
  • Bapak/Ibu mau structured ticketing untuk keluhan customer (SLA, prioritas, follow-up bertingkat)
  • Volume customer cukup besar (>50 chat/hari) sehingga manual intervensi tidak feasible

04 Enam Jenis Integrasi yang Tersedia

💡 Tip cara nyebut agen di prompt: Tenant biasanya panggil agen-nya pakai sapaan singkat seperti "Hi [Nama Agen]" atau langsung "[Nama Agen]" saja (mis. "Hi Asri, saya mau aktifkan Ticketing API..."). Contoh prompt di section ini disederhanakan tanpa kata sapaan supaya fokus ke struktur kalimat utama — Bapak/Ibu boleh tambah sapaan sesuai kebiasaan.

4.1 Tabel Perbandingan Singkat

⚠️ Eligibility paket: Keenam fitur di bawah tersedia untuk paket EMBAN Customer Service dan EMBAN Admin Toko Online. Tidak tersedia untuk paket Personal Assistant.

#FiturApa yang EMBAN lakukanYang Bapak/Ibu siapkanUse case typical
1Ticketing APIForward chat customer ke sistem tenant sebagai tiketURL endpoint terima ticketEskalasi keluhan customer ke admin
2Query Product InfoTanya info produk by ID/SKU/namaEndpoint return product detailCustomer tanya "stok kemeja merah?"
3Business MetricHitung satu angka (sum, count, avg)Endpoint return number"Sales hari ini berapa?"
4Business ListList resource paginatedEndpoint return array"List 10 order pending"
5Business SearchFree-text searchEndpoint return matches"Cari order pak Budi"
6Custom ActionWorkflow custom apapun (input → process → output)Endpoint + spesifikasi fieldBooking servis, lookup invoice, register member

💡 Tip: Bapak/Ibu tidak harus aktifkan semua sekaligus. Mulai dari yang paling urgent (biasanya Ticketing untuk CS, atau Business Metric untuk Admin), lalu tambahkan satu per satu.

4.2 Ticketing API

Apa fungsinya?

Setiap kali agent EMBAN dapat chat customer yang perlu eskalasi ke admin manusia (mis. customer marah, complain produk rusak, atau minta sesuatu di luar wewenang agent), agent otomatis kirim data customer + ringkasan masalah ke sistem ticketing internal Bapak/Ibu via API. Tim admin Bapak/Ibu menerima ticket di dashboard internal seperti biasa, bisa balas dari sana, dan balasan otomatis dikirim balik ke chat customer (di channel yang sama: WA / TG / email).

Kapan dipakai?

  • Bapak/Ibu sudah punya sistem ticketing internal (Freshdesk, Zendesk, internal CRM, atau custom)
  • Mau struktur eskalasi rapi: SLA per prioritas, tim split per kategori, audit trail
  • Volume keluhan tinggi sehingga tidak bisa di-handle ad-hoc via chat WA pribadi admin

Apa yang Bapak/Ibu siapkan?

  • URL endpoint webhook yang siap terima POST request dari EMBAN (tim IT siapkan)
  • Tech email aktif untuk terima claim link secret
  • (Opsional) format response yang Bapak/Ibu mau EMBAN kirim balik ke customer ("ticket sudah dibuat, nomor #12345")

Contoh prompt ke agent:

"Saya mau aktifkan Ticketing API. Tech email tim IT saya: [email protected]. URL endpoint webhook: https://erp.toko.com/emban/ticket"

Yang akan terjadi:

  1. Agent simpan info Bapak/Ibu, kirim notifikasi ke ops Rental AI Indonesia
  2. Ops verify info + generate secret di admin dashboard, claim link otomatis dikirim ke tech email Bapak/Ibu
  3. Tim IT klik claim link → dapat secret → deploy ke environment backend
  4. Test ticket end-to-end dengan customer dummy
  5. Production-ready

4.3 Query Product Info

Apa fungsinya?

Saat customer tanya info spesifik tentang satu produk (harga, stok, deskripsi, varian, foto), agent EMBAN panggil endpoint Bapak/Ibu untuk dapat data live. Customer dapat jawaban real-time tanpa Bapak/Ibu manual cek.

Kapan dipakai?

  • Bapak/Ibu punya katalog produk yang sering update (harga berubah, stok dinamis, varian baru)
  • Customer sering tanya tentang produk spesifik
  • Bapak/Ibu pakai sistem inventaris atau e-commerce platform yang expose API produk

Apa yang Bapak/Ibu siapkan?

  • Endpoint backend yang return data produk berdasarkan ID/SKU/nama
  • Decision: format response yang konsisten (price, stock, description, image_url, dll)

Contoh prompt:

"Saya mau aktifkan Query Product Info. Tim IT saya akan siapkan endpoint backend di https://api.toko.com/products. Tech email: [email protected]"

Yang akan terjadi:

  1. Agent simpan info, kirim notifikasi ke ops Rental AI Indonesia
  2. Ops verify + generate secret, claim link ke tech email
  3. Tim IT deploy secret + endpoint
  4. Customer chat "stok kemeja merah size M berapa?" → agent panggil endpoint Bapak/Ibu → return jumlah stok → agent jawab natural ke customer

4.4 Business Metric

Apa fungsinya?

Bapak/Ibu (sebagai tenant) bisa tanya satu angka tunggal ke agent — count, sum, average, percentage, atau duration — yang dihitung dari sistem internal Bapak/Ibu. Agent panggil backend, dapat angka, jawab natural.

Kapan dipakai?

  • Bapak/Ibu sering butuh quick metric untuk decision-making (sales hari ini, jumlah order pending, rata-rata waktu resolusi tiket)
  • Sistem backend Bapak/Ibu sudah ada query untuk metric tsb (atau gampang dibuat)
  • Bapak/Ibu mau dapat angka tanpa buka dashboard manual

Apa yang Bapak/Ibu siapkan?

  • Endpoint backend yang terima metric_name (string) + opsional filter_period (today, this_week, this_month, dll)
  • Endpoint return JSON sederhana: { metric_name, value, value_type, label, as_of }
  • Daftar metric yang Bapak/Ibu mau expose (mis. total_sales_today, orders_pending, average_resolution_time_hours)

Contoh prompt:

"Saya mau aktifkan Business Metric. Tim IT saya akan setup endpoint untuk metric sales harian, jumlah order pending, dan rata-rata waktu resolusi tiket. Endpoint URL: https://api.toko.com/emban/metric. Tech email: [email protected]"

Yang akan terjadi:

  1. Setup standar (info → ops → secret → tim IT deploy)
  2. Tim IT register satu action business_metric (template generic, satu kali setup untuk semua metric)
  3. Bapak/Ibu chat "berapa sales hari ini?" → agent invoke query_business_metric(metric_name="total_sales_today", filter_period="today") → backend return angka → agent jawab "Sales hari ini Rp 12.500.000 dari 47 transaksi (per jam 14:30 WIB)"

4.5 Business List

Apa fungsinya?

Bapak/Ibu bisa minta agent list resource dari sistem internal — daftar order, daftar produk, daftar customer, daftar invoice unpaid, dll. Agent panggil backend, dapat array data, sajikan paginated (default 20 per halaman).

Kapan dipakai?

  • Bapak/Ibu butuh quick lookup daftar entity (mis. cek 10 order terakhir, list customer top spender)
  • Tidak butuh detail lengkap per item — cukup overview (id, title, summary)
  • Backend Bapak/Ibu sudah ada endpoint listing dengan pagination

Apa yang Bapak/Ibu siapkan?

  • Endpoint backend yang terima resource (string) + limit + opsional cursor (untuk pagination)
  • Endpoint return JSON: { resource, items: [{id, title, summary?, as_of?}], next_cursor?, total? }
  • Daftar resource yang Bapak/Ibu mau expose (mis. order_pending, top_customer_30d, low_stock_product)

Contoh prompt:

"Saya mau Business List untuk lihat daftar order pending, customer top 10 bulan ini, dan produk yang stoknya tinggal sedikit. Endpoint: https://api.toko.com/emban/list. Tech email: [email protected]"

Yang akan terjadi:

  1. Setup standar
  2. Tim IT register action business_list (template generic) + satu endpoint backend yang handle semua resource
  3. Bapak/Ibu chat "list 5 order pending" → agent invoke query_business_list(resource="order_pending", limit=5) → backend return 5 item → agent jawab natural dengan daftar yang formatted

4.6 Business Search

Apa fungsinya?

Bapak/Ibu bisa minta agent cari entity di sistem internal pakai kata kunci bebas — cari produk by nama, cari customer by nama/nomor, cari order by deskripsi, dll. Agent panggil backend search engine, dapat hasil ranked, sajikan ke Bapak/Ibu.

Kapan dipakai?

  • Bapak/Ibu sering pakai search untuk lookup ad-hoc (cari produk yang Bapak/Ibu tidak ingat ID-nya, cari customer berdasarkan nama)
  • Backend sudah ada full-text search engine (Elasticsearch, MeiliSearch, Algolia, atau database FTS)
  • User flow: tipikal "cari [resource] dengan kata [query]"

Apa yang Bapak/Ibu siapkan?

  • Endpoint backend yang terima resource + query (string bebas) + limit
  • Endpoint return: { resource, query, items: [{id, title, summary?, score?}], total_matched?, limit? }
  • Daftar resource yang searchable (mis. product, customer, order)

Contoh prompt:

"Saya mau Business Search untuk cari produk by nama, cari customer by nama atau nomor HP. Endpoint: https://api.toko.com/emban/search. Tech email: [email protected]"

Yang akan terjadi:

  1. Setup standar
  2. Tim IT register action business_search (template generic) + satu endpoint backend
  3. Bapak/Ibu chat "cari produk kemeja batik" → agent invoke query_business_search(resource="product", query="kemeja batik") → backend return matches → agent jawab "Saya temukan 3 produk: (1) Kemeja Batik Tulis, (2) Kemeja Batik Cap Pria, (3) ..."

4.7 Custom Action

Apa fungsinya?

Custom Action adalah slot bebas untuk workflow yang tidak masuk kategori 1-5. Bapak/Ibu mendefinisikan: input apa yang dikumpulkan dari customer/owner, validasi field, endpoint backend yang ditembak, dan format response yang dijawab balik. Sangat fleksibel — cocok untuk fitur unik bisnis Bapak/Ibu.

Contoh use case yang sering pakai Custom Action:

  • Booking servis (terima nama, nomor, jenis servis, tanggal → POST ke booking system → return nomor booking)
  • Cek invoice / status pembayaran (terima nomor invoice → query → return status)
  • Register member baru (terima nama, email, nomor, alamat → POST ke CRM → return member ID)
  • Lookup waybill / nomor resi (terima resi → query courier API → return status pengiriman)
  • Submit klaim garansi (terima detail produk, foto bukti, deskripsi → POST ke claim system → return tracking)

Kapan dipakai?

  • Workflow Bapak/Ibu spesifik dan tidak match dengan template generic (metric/list/search)
  • Bapak/Ibu mau control penuh atas field yang dikumpulkan + format response
  • Tim IT siap menulis JSON definition + endpoint backend custom

Dua Opsi Setup:

Opsi 1: Hanya deskripsi natural — Bapak/Ibu kasih deskripsi awam, lalu agent kasih panduan ke tim IT untuk siapkan JSON definition lengkap. Cocok kalau Bapak/Ibu belum tahu detail teknis.

Opsi 2: Deskripsi + JSON definition lengkap — Tim IT Bapak/Ibu sudah siapkan JSON action definition (lihat panduan teknis untuk tim IT section "Action Engine"). Bapak/Ibu paste langsung ke chat, agent register tanpa perlu klarifikasi.

Contoh prompt — Variasi 1: Booking servis (natural)

"Saya mau bikin custom action untuk booking servis motor. Customer akan kasih: nama, nomor HP, jenis servis (servis ringan / servis besar / ganti oli), dan tanggal yang diinginkan. Backend tim IT saya akan terima request ini di https://bengkel.toko.com/api/booking. Tech email: [email protected]"

Agent akan respon kira-kira: "Baik Pak. Saya akan teruskan ke tim ops Rental AI Indonesia. Untuk action ini, tim IT Bapak perlu siapkan endpoint POST yang terima JSON dengan field nama, nomor HP, jenis servis (enum), tanggal. Saya kirim panduan teknis JSON definition ke [email protected] supaya tim IT bisa langsung implement..."

Contoh prompt — Variasi 2: Cek invoice (natural)

"Saya mau action untuk cek status invoice. Customer kasih nomor invoice, agent panggil sistem akunting saya, return status (lunas / belum lunas / overdue) plus tanggal jatuh tempo. URL endpoint: https://akunting.toko.com/api/invoice-status. Tech email: [email protected]"

Contoh prompt — Variasi 3: Text + paste JSON definition

Kalau tim IT Bapak/Ibu sudah siapkan JSON, Bapak/Ibu cukup paste:

"Saya mau register action booking servis. Berikut JSON definition dari tim IT saya: [paste JSON]. Tech email: [email protected]"

Contoh JSON definition booking servis:

{
  "name": "book_service",
  "description": "Booking servis motor untuk customer bengkel.",
  "schema_version": "1.0",
  "trigger_hints": ["booking", "servis", "service"],
  "fields": {
    "service_type": {
      "type": "enum_single",
      "required": true,
      "ask": { "id": "Jenis servis yang diinginkan?" },
      "options": [
        { "value": "ringan", "label": { "id": "Servis Ringan" } },
        { "value": "besar", "label": { "id": "Servis Besar" } },
        { "value": "ganti_oli", "label": { "id": "Ganti Oli Saja" } }
      ]
    },
    "service_date": {
      "type": "date",
      "required": true,
      "ask": { "id": "Tanggal servis? (YYYY-MM-DD)" }
    },
    "customer_phone": { "type": "phone", "autofill": "$sender.platform_id" },
    "customer_name": {
      "type": "text",
      "required": true,
      "ask": { "id": "Nama Bapak/Ibu?" }
    }
  },
  "endpoint": {
    "method": "POST",
    "url": "https://bengkel.toko.com/api/booking",
    "auth": { "type": "hmac_sha256", "secret_env": "EMBAN_BOOK_SERVICE_SECRET" },
    "timeout_ms": 8000,
    "retry": { "max": 3, "backoff": "exponential" }
  },
  "response": {
    "mode": "async",
    "immediate_ack": { "id": "Booking sedang diproses, mohon tunggu sebentar..." },
    "success_template": { "id": "OK Pak/Bu! Booking #{{booking_id}} dikonfirmasi untuk {{service_date}}." },
    "error_templates": {
      "fully_booked": { "id": "Maaf, slot {{service_date}} sudah penuh. Mau coba tanggal lain?" },
      "default": { "id": "Maaf ada error: {{error_message}}. Coba lagi atau hubungi admin." }
    }
  }
}

Yang akan terjadi:

  1. Agent baca JSON, validate schema (kalau ada error, agent kasih tahu Bapak/Ibu)
  2. Action ter-register di sistem EMBAN
  3. Tim IT dapat email claim link untuk secret
  4. Tim IT deploy secret ke env backend (EMBAN_BOOK_SERVICE_SECRET di server bengkel)
  5. Test: customer chat "mau booking servis besar untuk Senin" → agent collect field → invoke action → backend respond → customer dapat konfirmasi nomor booking

💡 Catatan: Untuk Opsi 2 (paste JSON), kalau tim IT belum familiar dengan JSON definition, mereka bisa baca dulu panduan teknis untuk tim IT — ada section "Action Engine" + reference implementation Node.js + Python.

05 Alur Setup End-to-End

Dari sudut pandang Bapak/Ibu sebagai tenant:

  1. STEP 1: Bapak/Ibu chat ke agent
    "Saya mau setup [Ticketing/Product Info/dll]. Tech email: [email protected]. URL endpoint: https://..."
    Durasi: ~5 menit
  2. STEP 2: Agent persist info + notify ops Rental AI Indonesia via Telegram
    Otomatis. Bapak/Ibu tidak perlu lakukan apa-apa.
    Durasi: instan
  3. STEP 3: Ops Rental AI Indonesia verify + generate secret
    Tim ops cek info, klik tombol Generate ticket secret di admin dashboard. Claim link otomatis dikirim ke tech email Bapak/Ibu.
    Durasi: dalam 1 hari kerja (biasanya beberapa jam)
  4. STEP 4: Agent push notifikasi ke Bapak/Ibu di Telegram
    "Pak, secret sudah dikirim ke [email protected]. Tim IT klik link claim, deploy ke backend. Setelah itu ticket API siap test."
    Otomatis. Bapak/Ibu tahu progress tanpa polling.
  5. STEP 5: Tim IT Bapak/Ibu klik claim link, dapat secret
    Tim IT deploy secret ke environment variable backend toko Bapak/Ibu (mis. EMBAN_TICKET_WEBHOOK_SECRET).
    Durasi: 1-2 hari (tergantung availability tim IT + complexity)
  6. STEP 6: Test end-to-end
    Bapak/Ibu atau tim IT trigger test scenario (mis. customer dummy chat, tanya stok produk). Konfirmasi data ngalir benar. Production-ready.
    Durasi: 1-2 jam test

Estimasi total: 2-3 hari kerja dari pertama Bapak/Ibu chat sampai production-ready (asumsi tim IT responsif). Bisa lebih cepat (1 hari) kalau semua pihak available, atau lebih lama (1 minggu) kalau ada iterasi schema atau backend belum siap.

Kapan Bapak/Ibu perlu re-trigger / update?

  • Ganti URL endpoint: chat ke agent "update webhook URL ke https://..." — agent update otomatis, ops re-notify
  • Ganti tech email: sama, "update tech email ke ..." — agent update
  • Rotate secret (security best practice atau IT pindah server): minta ops via email/Telegram — ops klik tombol Rotate di dashboard, claim link baru dikirim, secret lama tetap valid 24 jam (grace period untuk deploy tanpa downtime)

06 Apa yang Perlu Disiapkan Sebelum Mulai

Sebelum chat ke agent untuk setup integrasi, pastikan Bapak/Ibu sudah punya:

A. Tim IT atau partner developer

Wajib. Integrasi API butuh tim IT yang bisa:

  • Tulis backend API endpoint yang menerima request HTTP POST
  • Verify HMAC signature (untuk security)
  • Deploy environment variable secret ke server

Kalau Bapak/Ibu belum punya tim IT:

  • Hubungi ops Rental AI Indonesia untuk rekomendasi partner developer lokal yang familiar dengan EMBAN integration
  • Atau pertimbangkan pakai platform no-code (Zapier, Make.com, n8n) — beberapa skenario sederhana bisa di-handle tanpa custom code

B. Tech contact email

Email aktif tim IT atau partner developer yang akan terima claim link secret. Pastikan inbox tsb di-monitor — claim link berlaku terbatas (default 7 hari, bisa expire kalau tidak diklik).

C. URL endpoint webhook (kalau pakai Ticketing API atau action)

URL HTTPS yang siap menerima POST request dari EMBAN. Tim IT setup ini di server backend Bapak/Ibu.

Format URL:

  • HARUS HTTPS (HTTP plain ditolak untuk security)
  • Public-accessible (bukan localhost atau IP private)
  • Stable (jangan ganti tiap deploy — kalau ganti, harus update ke EMBAN)

Contoh format yang valid:

  • https://api.toko.com/emban/ticket
  • https://erp.toko.com/integrations/emban/v1/incoming
  • https://app.toko.com/api/emban/webhook

D. Decision: fitur mana yang aktif

Lihat tabel di Section 4.1. Bapak/Ibu tidak harus aktifkan semua sekaligus — mulai dari 1-2 fitur paling urgent.

E. Backend tenant yang capable

Pastikan backend Bapak/Ibu:

  • Bisa accept HTTPS POST request
  • Punya storage/database untuk simpan ticket / data dari EMBAN (kalau pakai Ticketing API)
  • Punya tim/proses yang akan respond ke ticket (kalau pakai Ticketing — EMBAN cuma forward, balesannya tetap dari tim Bapak/Ibu)

07 Cerita Use Case Konkret

Cerita 1: Pak Budi — Toko Online Fashion (paket CS)

Pak Budi punya toko online fashion. Setiap hari customer chat di WhatsApp:

  • Beberapa tanya FAQ (cara order, ongkir, return policy) → agent jawab dari SOP
  • Beberapa tanya stok produk spesifik → kalau gak ada integrasi, agent harus jawab "saya cek dulu"
  • Beberapa complain (barang sampai rusak, salah size) → harus diteruskan ke admin

Sebelum integrasi:

  • Pak Budi screen-by-screen monitor WA, manual cek stok, manual forward complain ke tim CS via grup WA
  • Customer tunggu rata-rata 2-3 jam untuk dapat balasan stok / complain ditangani
  • Tim CS Pak Budi tersebar di 3 grup WA, complain mudah hilang

Setelah integrasi (Ticketing API + Query Product Info):

  • Customer tanya "stok kemeja batik biru size L masih?" → agent panggil API toko Pak Budi → return "Stok 12 piece, harga Rp 250.000, free ongkir Jabodetabek" (3 detik)
  • Customer complain "barang sampai rusak" → agent invoke Ticketing API → ticket masuk dashboard internal Pak Budi, tim CS handle dari sana, balasan otomatis dikirim ke customer di WA
  • Pak Budi cuma cek dashboard internal seperti biasa, tidak perlu monitor WA satu-satu

Hasil: customer satisfaction naik (response time turun dari 3 jam ke <5 menit), Pak Budi bisa fokus strategi bisnis bukan firefighting.

Cerita 2: Bu Sari — Toko Sembako Online (paket Admin Toko Online)

Bu Sari punya toko sembako online. Operasional harian: track order, monitor stock, kelola customer loyalty, generate laporan.

Sebelum integrasi:

  • Pagi-pagi Bu Sari buka 3 tab dashboard (WMS, e-commerce platform, Excel keuangan) untuk dapat overview
  • Setiap minggu manual generate laporan sales + bandingkan vs target
  • Kalau mau cari order spesifik (mis. order pak Andi yang complain), harus search manual di dashboard e-commerce

Setelah integrasi (Business Metric + Business List + Business Search):

  • Pagi-pagi Bu Sari chat agent: "sales kemarin berapa? Berapa order pending? Stok beras 5kg tinggal berapa?" → agent panggil 3 endpoint, jawab semua dalam satu pesan
  • Mau cari order pak Andi: "cari order pak Andi" → agent invoke search → return 3 order terbaru pak Andi dengan ringkasan
  • Mau lihat 10 customer top spender: "list top 10 customer bulan ini" → agent invoke list → tampilkan ranked

Hasil: Bu Sari dapat overview operasional cuma dengan ngobrol sama agent, save 1-2 jam/hari dari manual checking.

Cerita 3: Toko Otomotif — Workshop Motor (paket CS + Custom Action)

Toko ini punya workshop servis motor. Customer sering booking servis via WA. Dulu manual: customer chat, admin balas, tanya tanggal, tanya jenis servis, catat di buku, balas konfirmasi. Repeat ratusan kali per minggu.

Setup: Custom Action book_service dengan field jenis servis (enum), tanggal, nama customer, nomor HP. Endpoint terhubung ke booking system internal.

Setelah integrasi:

  • Customer chat "booking servis besar untuk Senin depan, motor saya Vario" → agent collect field yang missing (cuma nomor HP kalau belum dapat) → invoke action → backend assign slot → customer dapat balasan "OK Pak! Booking #BK-2345 dikonfirmasi untuk Senin 12 Mei jam 09:00. Mohon datang 15 menit sebelum jadwal."
  • Tim mekanik lihat dashboard internal dengan booking yang sudah ter-organize per slot waktu

Hasil: booking tidak ada yang tercecer, slot terisi optimal, admin tidak perlu manual transcribe chat.

08 Privacy & Security

Apa yang EMBAN kirim ke sistem Bapak/Ibu?

Hanya yang relevan dengan request. Contoh:

  • Untuk Ticketing API: customer chat content + customer ID (WA number / TG handle / email) + ringkasan masalah
  • Untuk Query Product Info: kata kunci pencarian / ID produk
  • Untuk Business Metric: nama metric + filter period
  • Untuk Custom Action: hanya field yang Bapak/Ibu definisikan di JSON action

EMBAN TIDAK kirim:

  • Data customer lain yang tidak relevan
  • Data tenant Rental AI Indonesia lain
  • Internal AI processing data

Apa yang EMBAN TIDAK akses dari sistem Bapak/Ibu?

EMBAN hanya akses yang Bapak/Ibu explicitly expose lewat endpoint. Bapak/Ibu control 100%:

  • Kalau Bapak/Ibu cuma expose endpoint product search → EMBAN cuma bisa search produk, tidak bisa baca order, customer, dll
  • EMBAN tidak punya credential database Bapak/Ibu
  • EMBAN tidak install agent/plugin di server Bapak/Ibu
  • Setiap call ke endpoint Bapak/Ibu ada audit log di sisi Bapak/Ibu (siapa, kapan, request body)

Bagaimana memastikan request beneran dari EMBAN?

Setiap call dari EMBAN ke endpoint Bapak/Ibu di-sign dengan HMAC signature menggunakan secret rahasia yang HANYA Bapak/Ibu (via tim IT) yang punya. Tim IT Bapak/Ibu verify signature di endpoint sebelum proses request — kalau invalid (request palsu dari attacker), backend reject otomatis.

Detail teknis di panduan untuk tim IT section "Authentication".

Apa yang terjadi kalau secret bocor?

  • Hubungi ops Rental AI Indonesia segera
  • Ops klik Rotate ticket secret di admin dashboard
  • Secret baru dikirim ke tech email Bapak/Ibu via claim link
  • Tim IT deploy secret baru
  • Secret lama tetap valid 24 jam (grace period untuk deploy tanpa downtime)
  • Setelah 24 jam, secret lama auto-invalid

Data customer kemana?

  • Customer chat → EMBAN process via LLM (model AI yang Rental AI Indonesia sediakan)
  • Beberapa info di-forward ke endpoint Bapak/Ibu sesuai action yang ter-trigger
  • Conversation history disimpan per-tenant DB (di server Rental AI Indonesia), terisolasi dari tenant lain
  • Bapak/Ibu bisa request export atau delete data via ops Rental AI Indonesia sesuai PDP Indonesia (Undang-undang Pelindungan Data Pribadi)

09 FAQ Tenant

Q1: Saya gak punya tim IT. Gimana?

Beberapa opsi:

  1. Hubungi ops Rental AI Indonesia untuk rekomendasi partner developer lokal yang familiar dengan EMBAN integration
  2. Pakai platform no-code seperti Zapier, Make.com, atau n8n — bisa terima webhook EMBAN, route ke berbagai sistem (Google Sheets, Slack, Notion, dll) tanpa coding. Cocok untuk Ticketing API skenario sederhana
  3. Mulai dari fitur tanpa integrasi — upload SOP, pakai built-in tools (record_sale, dll). Tunggu sampai Bapak/Ibu siap invest tim IT

Q2: Berapa biaya integrasi API?

API call dari EMBAN ke endpoint Bapak/Ibu gratis (sudah include dalam paket). Bapak/Ibu bayar untuk:

  • Hosting backend: server tempat endpoint Bapak/Ibu berjalan (Bapak/Ibu sudah punya kalau sudah punya ERP/website)
  • Tim IT / partner developer: jasa setup awal (one-time + maintenance kalau ada)

Tidak ada per-call charge atau hidden cost dari Rental AI Indonesia.

Q3: Berapa lama sampai production-ready?

Estimasi 2-3 hari kerja dari pertama chat ke agent sampai siap production. Detail breakdown ada di section 5. Faktor yang mempengaruhi:

  • Availability tim IT (kalau slot dev banyak, bisa 1 hari)
  • Complexity action (Ticketing simpler vs Custom Action multi-field complex)
  • Iterasi schema (kalau response format perlu adjust setelah test)

Q4: Bisa pakai integrasi dengan Shopify / Tokopedia / Shopee / Lazada?

Tergantung platform. Shopify support custom webhook dengan API yang fleksibel, biasanya bisa setup. Tokopedia/Shopee/Lazada lebih restricted (marketplace dengan API terbatas) — perlu konsultasi case-by-case dengan ops Rental AI Indonesia.

Kalau Bapak/Ibu pakai marketplace, fitur yang biasanya bisa dipakai:

  • Ticketing API — kalau marketplace expose webhook untuk message, bisa di-bridge
  • Query Product Info — kalau marketplace expose product API

Yang biasanya TIDAK bisa:

  • Modify order langsung (marketplace control checkout)
  • Update inventaris real-time (marketplace cache stok)

Q5: Kalau ada error / spec berubah, gimana?

Workflow update:

  • Update URL endpoint: chat agent "update webhook URL ke https://..." — agent panggil tool, otomatis update
  • Update tech email: sama, "update tech email ke ..."
  • Update field action: tim IT update JSON definition, paste ulang ke chat. Agent register version baru, version lama auto-archive
  • Rotate secret: hubungi ops via Telegram, ops klik Rotate, claim link baru dikirim, secret lama valid 24 jam grace

Custom Action support versioning — setiap re-register bumps version. Tim IT bisa rollback ke version lama kalau perlu (via tool activate_tenant_action ke ID lama).

Q6: Apakah customer tahu kalau request mereka di-forward ke sistem saya?

Customer dapat balasan dari agent EMBAN seperti biasa. Dari sudut pandang customer, tidak ada perubahan UX — agent jawab natural. Yang berbeda hanya kecepatan dan akurasi balasan (karena data live dari sistem Bapak/Ibu).

Untuk Ticketing API, customer tahu masalahnya "diteruskan ke admin" karena agent bilang "Saya teruskan ke tim admin, mohon ditunggu balasannya dalam beberapa jam" — itu UX standar ticketing.

Q7: Apakah saya bisa nonaktifkan integrasi sementara?

Ya. Beberapa cara:

  • Soft-disable per fitur: chat agent "archive action [nama]" — action ter-archive, tidak bisa dipanggil customer/owner sampai re-activate
  • Clear webhook URL: chat agent "hapus webhook URL" (kosongkan field) — Ticketing API tidak fire sampai URL di-set lagi
  • Hard-disable: hubungi ops Rental AI Indonesia minta disable temporarily

Setelah ready re-enable, cukup minta agent re-config (URL + activate action) — secret tetap valid (kecuali Bapak/Ibu rotate).

Q8: Apakah saya bisa lihat log API call?

  • Sisi Bapak/Ibu: tim IT setup logging di backend, lihat semua incoming request dari EMBAN di sana
  • Sisi EMBAN: ops Rental AI Indonesia punya dashboard internal yang track action submission status (delivered / failed / retried). Kalau perlu detail debug, hubungi ops dengan reference ID action

Untuk audit lengkap, recommended Bapak/Ibu enable structured logging di backend tim IT.

Q9: Saya pakai paket Personal Assistant. Bisa pakai integrasi API?

Tidak. Fitur integrasi API HANYA tersedia untuk paket EMBAN Customer Service dan EMBAN Admin Toko Online. PA fokus pada produktivitas pribadi (catatan, pengingat, finansial pribadi, image generation untuk PA Pro) dan tidak punya use case yang butuh integrasi ke sistem business eksternal.

Kalau Bapak/Ibu owner UMKM yang sudah pakai PA dan ingin upgrade ke business plan, hubungi ops Rental AI Indonesia untuk konsultasi paket yang sesuai.

Q10: Saya cek dashboard ops, kenapa info saya belum kelihatan?

Beberapa kemungkinan:

  • Submit info sukses tapi notifikasi ke ops tertunda (Telegram bot delay) — ops biasanya cek dashboard 1-2 hari kerja
  • URL atau email yang Bapak/Ibu submit format invalid — agent kasih tahu langsung kalau invalid (cek balasan agent terakhir)
  • Ada bug — hubungi ops Rental AI Indonesia dengan timestamp + nama tenant Bapak/Ibu

Untuk cek status, chat agent: "cek status integrasi saya" — agent invoke check_integration_status, return state lengkap (incomplete / awaiting_ops / ready) + nilai field saat ini.

10 Quick-start Checklist

Sebelum chat ke agent untuk setup integrasi, pastikan:

  • Paket: Saya pakai EMBAN Customer Service atau EMBAN Admin Toko Online
  • Decision: Saya sudah pilih fitur yang mau aktif (lihat tabel section 4.1)
  • Tim IT: Saya punya tim IT atau partner developer yang siap setup
  • Tech email: Saya punya email aktif tim IT yang siap terima claim link
  • URL endpoint: Tim IT sudah siapkan URL HTTPS endpoint backend (atau siap setup)
  • Backend ready: Backend siap accept HTTPS POST + verify HMAC signature
  • Storage/proses: Tim Bapak/Ibu siap handle data yang masuk (mis. balas ticket dari dashboard internal)

Setelah semua ✓, chat agent dengan template:

"Saya mau aktifkan [nama fitur, mis. Ticketing API]. Tech email: [email protected]. URL endpoint: https://api.toko.com/emban/[fitur]. Notes: [optional context, mis. 'kami pakai HTTPS dengan TLS 1.3', 'staging dulu sebelum prod', dll]"

Agent akan panggil submit_integration_info, persist ke database, notify ops Rental AI Indonesia. Lanjutkan ke step 3+ alur setup.

11 Referensi untuk Tim IT Bapak/Ibu

Bagikan link berikut ke tim IT atau partner developer:

Doc tsb berisi:

  • HMAC signature computation (Node.js + Python sample)
  • JSON action definition schema lengkap
  • Callback API spec (untuk async response)
  • Ticketing API contract
  • Action engine deep-dive
  • File delivery API
  • Error code mapping
  • Reference implementation Node.js Express

Tim IT cukup baca section yang relevan dengan fitur yang Bapak/Ibu aktifkan — biasanya 2-3 jam reading + 1-2 hari coding untuk setup pertama kali.

Bantuan & Kontak

  • Rental AI Indonesia: https://www.rentalai.id
  • Ops support: hubungi via channel yang sudah disediakan saat onboarding tenant
  • Pertanyaan integrasi: chat ke agent EMBAN Bapak/Ibu — "saya mau tanya tentang integrasi API" — agent akan kasih panduan atau eskalasi ke ops kalau perlu
  • Email: [email protected]
  • WhatsApp: +62 813-2049-505

Versi: 1.0 (Mei 2026). Dokumen ini akan di-update saat ada fitur integrasi baru atau perubahan alur setup.