API to API
Customer
Profile dan provisioning akun customer/warung/cabang mitra.
Customer
Terakhir diperbarui: 19 Agustus 2026.
Customer mewakili akun yang akan bertransaksi. Di sisi mitra, akun ini bisa disebut warung, outlet, cabang, kasir, atau anak mitra.
Get Profile
Endpoint ini mengambil profil akun dari token yang sedang dipakai.
GET /client/v2/customer/profile
Authorization: Bearer o8coocg8k0ss4wcgk0o8........
X-SECRET-KEY: {partner_secret_key}
Success Response
{
"status": true,
"message": "OK",
"data": {
"customer": {
"id": 62211,
"name": "Toko Koffiesoft",
"email": "[email protected]",
"phone_number": "082340378657",
"identity_number": null,
"level": 2,
"referral_code": "ABC1234",
"registered_at": "2026-08-18 10:00:00"
},
"balance": {
"available": 80000
},
"coin": {
"note": "Konversi koin: 2 koin = Rp1.",
"available": 20000,
"available_value": 10000
}
}
}
Provision Account
Endpoint ini membuat atau menyinkronkan akun customer/warung/cabang di bawah mitra. Jika phone_number sudah ada pada mitra yang sama, endpoint mengembalikan token untuk akun tersebut.
POST /client/v2/customer/provision_account
X-SECRET-KEY: {partner_secret_key}
Content-Type: application/json
{
"name": "Toko Koffiesoft",
"phone_number": "082340378657",
"email": "[email protected]",
"device_id": "web-pos-01"
}
Field
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
name | string | Ya | Nama customer/warung/cabang. |
phone_number | string | Ya | Nomor telepon unik customer pada mitra. |
email | string | Ya | Email customer. Harus valid dan unik per mitra. |
device_id | string | Tidak | ID device/aplikasi mitra. Default client-api-pos. |
Success Response
{
"status": true,
"message": "Akun berhasil disinkronisasi.",
"data": {
"customer_id": 62211,
"token": "o8coocg8k0ss4wcgk0o8........"
}
}
Response Codes
| HTTP | Endpoint | Kondisi | Message |
|---|---|---|---|
200 | Profile | Profil berhasil dimuat. | OK |
200 | Provision | Akun sudah ada dan berhasil disinkronkan. | Akun berhasil disinkronisasi. |
201 | Provision | Akun baru berhasil dibuat. | Akun berhasil disinkronisasi. |
400 | Provision | Field wajib kosong. | Data tidak lengkap. |
400 | Provision | Email dipakai akun lain. | Email yang digunakan sudah terdaftar pada akun lain. Silakan gunakan email yang berbeda. |
401 | Semua | Secret key/token salah. | Akses ditolak..., Token wajib diisi., atau Token tidak valid. |
500 | Profile | Saldo/koin belum dapat dimuat. | Profil belum dapat dimuat. Silakan coba lagi nanti. |