KopiBot AI / Dokumentasi HTML
Semua Dokumen GitHub Repo Kembali ke Landing Page
☕ AI Agent Coffee Shop Commerce Platform

Platform AI untuk otomatisasi order, customer service, loyalty customer, Customer CRM, Customer Portal, dan manajemen multi cabang coffee shop.

🚀 Features

  • AI Chatbot Order Menu
  • WhatsApp / Telegram / Discord Integration
  • Multi Branch Management
  • AI Upselling & Promo Recommendation
  • Order via Website & Chat Apps
  • Variant Product & Topping Support
  • Loyalty Point, Customer CRM, dan Customer Portal
  • Multi Currency, Tax & Timezone
  • AI Customer Interaction Automation

💻 Tech Stack

PHP Native • MySQL • OpenAI • Anthropic
WhatsApp Gateway • REST API • LLM AI

☕ Suitable For

Coffee Shop • Cafe • Restaurant • Bakery • Beverage Store

Dibuat & Dikembangkan oleh

Kukuh TW

📧 Email: kukuhtw@gmail.com

📱 WhatsApp: wa.me/628129893706

🌄 Instagram: @kukuhtw

X/Twitter: @kukuhtw

Facebook: facebook.com/kukuhtw

LinkedIn: linkedin.com/in/kukuhtw

GitHub: github.com/kukuhtw/toko_kopi

🌐 Demo: botlelang.com/toko_kopi

© 2026 Kukuh TW. All rights reserved.

Markdown ke HTML

Dokumen ini menjelaskan cara memakai plugin `sirclo-full-connector` yang sudah disiapkan di proyek ini untuk fondasi integrasi order, produk, dan customer ke ekosistem SIRCLO.

Tutorial Integrasi SIRCLO dengan Sirclo Full Connector

Dokumen ini menjelaskan cara memakai plugin sirclo-full-connector yang sudah disiapkan di proyek ini untuk fondasi integrasi order, produk, dan customer ke ekosistem SIRCLO.

Catatan: - Nama plugin di source code memakai kata Sirclo agar konsisten dengan slug folder yang sudah dibuat. - Brand/platform yang dimaksud di dokumen ini adalah SIRCLO. - Versi plugin saat ini adalah scaffold integrasi: konfigurasi, dashboard, queue log, dan snapshot data sudah siap, tetapi request HTTP real ke API SIRCLO belum diimplementasikan.


Tujuan Plugin

Plugin ini dibuat untuk menjadi fondasi integrasi tiga arah utama:

  1. Order sync

Mencatat event order.created, order.status_changed, dan order.payment_updated agar nantinya bisa dikirim ke API SIRCLO.

  1. Product sync

Menyiapkan snapshot katalog produk per cabang dari menu_items, kategori, dan availability override.

  1. Customer sync

Menyiapkan snapshot customer aktif per cabang berdasarkan histori order.


File yang Terlibat

Struktur file plugin:

plugins/sirclo-full-connector/
|-- plugin.php
|-- SircloFullConnectorPlugin.php
|-- SircloConnectorRepository.php
`-- SircloConnectorService.php

Halaman dashboard:

public/dashboard/branch/sirclo.php
public/dashboard/super/sirclo.php

Cara Kerja Singkat

Saat plugin dimuat:

Saat order berubah:

Untuk sinkronisasi manual:


Aktivasi Plugin

Plugin sudah ditambahkan ke:

plugins/plugins.json

dan dalam state saat ini sudah aktif:

"sirclo-full-connector": {
  "active": true
}

Kalau ingin menonaktifkan sementara, ubah nilai active menjadi false.


Pengaturan yang Perlu Diisi

Masuk ke salah satu halaman berikut:

Lalu isi field berikut:

Field Fungsi
API Base URL base endpoint API SIRCLO
Store ID identitas store/cabang di SIRCLO
API Key credential utama API
API Secret secret tambahan jika dibutuhkan integrasi
Webhook Secret secret validasi webhook inbound
Order Status Mapping pemetaan status lokal ke status SIRCLO
Aktifkan konektor menghidupkan plugin untuk cabang
Sinkronkan order / produk / customer memilih domain sinkronisasi yang aktif

Pengaturan global tambahan:

Field Fungsi
Connection Mode sandbox atau production
Timeout batas waktu request HTTP nanti
Batch Limit batas item per batch sync

Halaman Dashboard Plugin

Branch Dashboard

Halaman:

/dashboard/branch/sirclo.php

Fungsi utama:

Super Admin Dashboard

Halaman:

/dashboard/super/sirclo.php

Fungsi utama:


Tabel Log Sinkronisasi

Plugin membuat tabel:

sirclo_sync_logs

Kolom penting:

Kolom Fungsi
branch_id cabang asal
entity_type order, product, atau customer
direction arah sync, default outbound
event_name nama event pemicu
status pending, success, failed, atau config_missing
reference_id order number atau penanda referensi
payload_preview snapshot payload JSON
response_preview response/stub result

Status config_missing berarti plugin aktif, tetapi konfigurasi wajib seperti base_url, store_id, atau api_key belum lengkap.


Event yang Sudah Tersambung

Hook yang sudah dipakai plugin:

Hook Kegunaan
dashboard.nav_items menambah menu sidebar
settings.sections menambah form settings di cabang
super.settings.sections menambah form settings di super admin
order.created antre sinkronisasi order baru
order.status_changed antre sinkronisasi perubahan status
order.payment_updated antre sinkronisasi pembayaran

Keterbatasan Versi Saat Ini

Versi yang ada sekarang belum:

Artinya plugin ini aman dipakai sebagai fondasi internal, tetapi belum final sebagai konektor produksi penuh.


Langkah Lanjutan untuk Menjadi Integrasi Produksi

Jika ingin melanjutkan sampai benar-benar terhubung ke SIRCLO, langkah berikut biasanya diperlukan:

  1. Dapatkan dokumentasi resmi API SIRCLO:

endpoint order, catalog, customer, webhook, auth, dan rate limit.

  1. Tentukan arah integrasi:

push-only, pull-only, atau two-way sync.

  1. Implementasikan HTTP client di SircloConnectorService.php.
  2. Tambahkan endpoint webhook:

misalnya public/api/plugins/sirclo/webhook.php.

  1. Tambahkan retry policy dan dead-letter handling untuk sync gagal.
  2. Tambahkan mapping field final:

SKU, external product ID, branch/store code, customer external ID, payment state, fulfillment state, dan inventory state.


Skenario Implementasi yang Disarankan

Untuk rollout yang aman, lakukan bertahap:

  1. Tahap 1

Aktifkan hanya sync_orders, cek log payload, dan finalkan mapping status.

  1. Tahap 2

Tambahkan sync_products, terutama SKU, harga, dan availability.

  1. Tahap 3

Tambahkan sync_customers, lalu sinkronkan identifier eksternal.

  1. Tahap 4

Baru aktifkan webhook inbound dan retry production.


Referensi Cepat