{"id":783,"date":"2026-05-30T17:31:42","date_gmt":"2026-05-30T10:31:42","guid":{"rendered":"https:\/\/intisakurasolutions.com\/?p=783"},"modified":"2026-05-30T17:31:45","modified_gmt":"2026-05-30T10:31:45","slug":"studi-kasus-asisten-ai-whatsapp-untuk-sebuah-toko-retail-di-bandung-indonesia","status":"publish","type":"post","link":"https:\/\/intisakurasolutions.com\/ja\/studi-kasus-asisten-ai-whatsapp-untuk-sebuah-toko-retail-di-bandung-indonesia\/","title":{"rendered":"\u5c0e\u5165\u4e8b\u4f8b\uff1a\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2\u30fb\u30d0\u30f3\u30c9\u30f3\u306e\u5c0f\u58f2\u5e97\u5411\u3051 WhatsApp AI\u30a2\u30b7\u30b9\u30bf\u30f3\u30c8"},"content":{"rendered":"\n<p><strong>Tipe:<\/strong>&nbsp;AI Chatbot \u00b7 Integrasi WhatsApp<br><strong>Status:<\/strong>&nbsp;Prototipe (live, dalam pengujian)<br><strong>Stack:<\/strong>&nbsp;Claude API \u00b7 Supabase \u00b7 Twilio \u00b7 Python \u00b7 Railway<br><strong>Waktu Pengerjaan:<\/strong>&nbsp;Mei 2026<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Masalah<\/h4>\n\n\n\n<p>Sebuah toko retail di Bandung yang menjual produk plastik rumah tangga \u2014 kursi, jerigen, dan berbagai produk sejenis \u2014 dengan lebih dari 3.000 item di inventaris.<\/p>\n\n\n\n<p>Setiap hari, pelanggan mengirim pesan WhatsApp ke toko dengan dua pertanyaan yang selalu sama:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>&#8220;Berapa harga kursi merk \u25cb\u25cb?&#8221;<\/em><\/li>\n\n\n\n<li><em>&#8220;Ada stok jerigen 20 liter?&#8221;<\/em><\/li>\n<\/ul>\n\n\n\n<p>Karyawan menghabiskan banyak waktu untuk menjawab pertanyaan berulang ini secara manual. Di sisi lain, harga barang sering berubah \u2014 dengan ribuan item, mudah sekali bagi staf untuk memberikan harga yang sudah tidak berlaku.<\/p>\n\n\n\n<p><strong>Dampaknya:<\/strong>&nbsp;waktu karyawan terbuang untuk tugas bernilai rendah, dan kadang pelanggan mendapat informasi harga yang salah.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Solusi<\/h2>\n\n\n\n<p>Asisten WhatsApp bertenaga AI yang menjawab pertanyaan harga dan stok secara otomatis, dengan mengambil data langsung dari database inventaris toko secara real-time.<\/p>\n\n\n\n<p>Pelanggan tetap mengirim pesan ke nomor WhatsApp toko seperti biasa. Asisten menjawab secara instan, 24\/7, dengan data yang selalu akurat.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"665\" height=\"1024\" src=\"https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/wa-screenshot-665x1024.png\" alt=\"\" class=\"wp-image-786\" style=\"aspect-ratio:0.6494265243996187;width:330px;height:auto\" srcset=\"https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/wa-screenshot-665x1024.png 665w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/wa-screenshot-195x300.png 195w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/wa-screenshot-768x1182.png 768w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/wa-screenshot-998x1536.png 998w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/wa-screenshot-8x12.png 8w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/wa-screenshot.png 1206w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/figure>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Cara Kerja<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>Pelanggan mengirim pesan WhatsApp\n        \u2193\nTwilio menerima pesan, meneruskan ke aplikasi Python (hosting di Railway)\n        \u2193\nAplikasi Python memanggil Claude API dengan pesan pelanggan\n        \u2193\nClaude memutuskan tool mana yang dipanggil:\n  \u2192 get_item_info(item_name)   \u2014 untuk pertanyaan harga\n  \u2192 get_stock(item_name)       \u2014 untuk pertanyaan stok\n        \u2193\nTool mengambil data dari database Supabase secara live\n        \u2193\nClaude menerima hasil, menyusun balasan yang natural\n        \u2193\nBalasan dikirim ke pelanggan via Twilio \u2192 WhatsApp<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Detail Teknis<\/h2>\n\n\n\n<p><strong>Model AI:<\/strong>&nbsp;Claude API (Anthropic) dengan tool use \/ function calling<br><strong>Database:<\/strong>&nbsp;Supabase (PostgreSQL) \u2014 data inventaris real-time<br><strong>Pesan:<\/strong>&nbsp;Twilio WhatsApp API<br><strong>Backend:<\/strong>&nbsp;Python, hosting di Railway<br><strong>Pencarian:<\/strong>&nbsp;Fuzzy search case-insensitive (<code>ilike<\/code>) \u2014 menangani nama produk yang tidak lengkap<\/p>\n\n\n\n<p>Claude menggunakan&nbsp;<strong>tool use<\/strong>&nbsp;(function calling) \u2014 Claude sendiri yang memutuskan kapan dan apa yang perlu dicari di database, bukan menerima semua data sekaligus. Ini membuat sistem lebih akurat, hemat biaya, dan skalabel seiring bertambahnya inventaris.<\/p>\n\n\n\n<p>System prompt menggunakan XML tags terstruktur untuk membatasi perilaku Claude: hanya menjawab pertanyaan terkait toko, membalas dalam bahasa pelanggan (Indonesia atau Inggris), dan memberikan respons fallback yang sopan ketika item tidak ditemukan.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"684\" src=\"https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/image-1024x684.png\" alt=\"\" class=\"wp-image-789\" srcset=\"https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/image-1024x684.png 1024w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/image-300x200.png 300w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/image-768x513.png 768w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/image-1536x1026.png 1536w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/image-18x12.png 18w, https:\/\/intisakurasolutions.com\/wp-content\/uploads\/2026\/05\/image.png 1788w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Hasil<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Karyawan tidak lagi menghabiskan waktu menjawab pertanyaan harga\/stok yang berulang via WhatsApp<\/li>\n\n\n\n<li>Akurasi harga meningkat \u2014 jawaban diambil langsung dari database, bukan dari ingatan staf<\/li>\n\n\n\n<li>Tersedia 24\/7 \u2014 pelanggan mendapat balasan instan di luar jam toko<\/li>\n\n\n\n<li>Saat ini dalam tahap prototipe \u2014 sedang diuji dengan traffic pelanggan nyata<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Yang Saya Pelajari<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tool use adalah pola yang tepat untuk chatbot berbasis database<\/strong>&nbsp;\u2014 bukan prompt stuffing. Claude yang memutuskan kapan query dijalankan, lebih bersih dan lebih andal.<\/li>\n\n\n\n<li><strong>Struktur system prompt sangat penting.<\/strong>&nbsp;Menggunakan XML tags (<code>&lt;role&gt;<\/code>,&nbsp;<code>&lt;scope&gt;<\/code>,&nbsp;<code>&lt;fallback&gt;<\/code>) membuat perilaku bot jauh lebih konsisten dan mudah di-debug.<\/li>\n\n\n\n<li><strong>Data nyata itu berantakan.<\/strong>&nbsp;3.000 SKU dengan kode singkatan adalah keterbatasan yang diketahui \u2014 kolom keywords\/alias direncanakan untuk meningkatkan pencocokan bahasa natural.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Keterbatasan Saat Ini<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pencocokan nama produk mengandalkan pencarian teks parsial \u2014 SKU yang disingkat bisa membingungkan pertanyaan dalam bahasa natural (perbaikan sudah dalam backlog)<\/li>\n\n\n\n<li>Tahap prototipe \u2014 belum menangani edge case seperti pemesanan massal atau harga khusus<\/li>\n\n\n\n<li>Belum ada memori percakapan antar sesi<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><em>Dibuat oleh developer AI independen berbasis di Bandung, Indonesia. Tersedia untuk proyek serupa \u2014 [hubungi Inti Sakura Solutions untuk detil lebih lanjut].<\/em><a href=\"\/project\/019e432e-8586-7603-8550-54cdbfcaeb89\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tipe:&nbsp;AI Chatbot \u00b7 Integrasi WhatsAppStatus:&nbsp;Prototipe (live, dalam pengujian)Stack:&nbsp;Claude API \u00b7 Supabase \u00b7 Twilio \u00b7 Python \u00b7 RailwayWaktu Pengerjaan:&nbsp;Mei 2026 Masalah Sebuah toko retail di Bandung yang menjual produk plastik rumah tangga \u2014 kursi, jerigen, dan berbagai produk sejenis \u2014 dengan lebih dari 3.000 item di inventaris. Setiap hari, pelanggan mengirim pesan WhatsApp ke toko dengan dua pertanyaan yang selalu sama: Karyawan menghabiskan banyak waktu untuk menjawab pertanyaan berulang ini secara manual. Di sisi lain, harga barang sering berubah \u2014 dengan ribuan item, mudah sekali bagi staf untuk memberikan harga yang sudah tidak berlaku. Dampaknya:&nbsp;waktu karyawan terbuang untuk tugas bernilai rendah, dan kadang pelanggan mendapat informasi harga yang salah. Solusi Asisten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[16,18,22,21,17],"class_list":["post-783","post","type-post","status-publish","format-standard","hentry","category-blog","tag-ai","tag-claude","tag-supabase","tag-twilio","tag-whatsapp"],"_links":{"self":[{"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/posts\/783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/comments?post=783"}],"version-history":[{"count":6,"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/posts\/783\/revisions"}],"predecessor-version":[{"id":792,"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/posts\/783\/revisions\/792"}],"wp:attachment":[{"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/media?parent=783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/categories?post=783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/intisakurasolutions.com\/ja\/wp-json\/wp\/v2\/tags?post=783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}