Logo JENA Coffee

API Bot JENA Coffee

Untuk bot WhatsApp, chatbot AI, atau sistem lain yang ingin membaca menu dan membuat invoice pesanan.

Cara memulai

  1. Pemilik membuka aplikasi JENA Coffee, menu Tim, kartu Bot WhatsApp & AI, lalu menekan Buat kunci.
  2. Kunci berbentuk jena_… dan hanya tampil sekali. Simpan di pengaturan rahasia bot, jangan di dalam pesan chat.
  3. Kirim kunci di setiap permintaan sebagai header Authorization: Bearer jena_…

Alamat dasar API:

1. Lihat menu & harga

GET/api/bot/menu

Daftar produk yang sedang dijual, kategori, dan rekening pembayaran.

curl BASE/api/bot/menu \
  -H "Authorization: Bearer jena_KUNCI_ANDA"
{
  "business": { "name": "JENA Coffee", "payment": { "bank": "BCA", "account_number": "0710511799", "account_name": "LARAS", "note": "Pesanan akan kami proses setelah pembayaran kami terima." } },
  "categories": ["Favorit", "Kopi", "Non-kopi", "Teh & segar"],
  "products": [ { "id": "p1", "name": "Ube Cream", "category": "Favorit", "price": 16000 } ]
}

2. Buat invoice dari pesanan

POST/api/bot/invoices

Harga selalu diambil dari menu JENA, bukan dari bot. Produk ditulis dengan name (nama persis seperti di menu) atau id. Invoice baru langsung muncul di menu Invoice aplikasi dengan status Belum lunas.

curl -X POST BASE/api/bot/invoices \
  -H "Authorization: Bearer jena_KUNCI_ANDA" \
  -H "Content-Type: application/json" \
  -d '{
    "customer": { "name": "Bu Rina", "phone": "081234567890", "address": "Jl. Merdeka 12" },
    "items": [ { "name": "Ube Cream", "qty": 10 }, { "name": "Americano", "qty": 5 } ],
    "note": "Diambil Sabtu pukul 10.00",
    "due_days": 1
  }'

Jawaban berisi nomor invoice, total, dan message: teks tagihan siap dikirim ke customer lewat WhatsApp.

{
  "no": "INV-2611-0007", "status": "belum_lunas", "total": 185000, "due": "2026-11-09",
  "payment": { "bank": "BCA", "account_number": "0710511799", "account_name": "LARAS" },
  "message": "Halo Bu Rina, ... *Total: Rp185.000* ..."
}
FieldWajibKeterangan
customer.nameYaNama customer, maks. 80 karakter.
customer.phoneTidakNomor WhatsApp, dipakai untuk cek status.
customer.addressTidakAlamat atau keterangan pengambilan.
items[]Ya1–50 produk, masing-masing name atau id, dan qty 1–999.
noteTidakCatatan yang tercetak di invoice.
due_daysTidakJatuh tempo, hari dari sekarang (0–30). Bawaan 1.

3. Cek status pembayaran

GET/api/bot/invoices/{no}

curl BASE/api/bot/invoices/INV-2611-0007 \
  -H "Authorization: Bearer jena_KUNCI_ANDA"

Nilai status: belum_lunas, lunas, atau dibatalkan. Status menjadi lunas setelah kasir atau pemilik menekan Tandai lunas di aplikasi.

GET/api/bot/invoices?phone=081234567890 menampilkan 20 invoice terakhir untuk nomor tersebut.

Kode kesalahan

KodeArti
400Isi permintaan salah, misalnya produk tidak ada di menu. Pesan error menjelaskan apa yang perlu diperbaiki.
401Kunci tidak dikirim, salah, atau sudah dicabut pemilik.
404Invoice atau alamat API tidak ditemukan.
500Gangguan di server. Coba lagi beberapa saat kemudian.

Keamanan