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

FieldTipeWajibKeterangan
namestringYaNama customer/warung/cabang.
phone_numberstringYaNomor telepon unik customer pada mitra.
emailstringYaEmail customer. Harus valid dan unik per mitra.
device_idstringTidakID device/aplikasi mitra. Default client-api-pos.

Success Response

{
  "status": true,
  "message": "Akun berhasil disinkronisasi.",
  "data": {
    "customer_id": 62211,
    "token": "o8coocg8k0ss4wcgk0o8........"
  }
}

Response Codes

HTTPEndpointKondisiMessage
200ProfileProfil berhasil dimuat.OK
200ProvisionAkun sudah ada dan berhasil disinkronkan.Akun berhasil disinkronisasi.
201ProvisionAkun baru berhasil dibuat.Akun berhasil disinkronisasi.
400ProvisionField wajib kosong.Data tidak lengkap.
400ProvisionEmail dipakai akun lain.Email yang digunakan sudah terdaftar pada akun lain. Silakan gunakan email yang berbeda.
401SemuaSecret key/token salah.Akses ditolak..., Token wajib diisi., atau Token tidak valid.
500ProfileSaldo/koin belum dapat dimuat.Profil belum dapat dimuat. Silakan coba lagi nanti.