API to API
Customer
Provision account warung/cabang dan ambil profile customer mitra.
Customer
Customer pada API-to-API mewakili warung atau cabang yang bertransaksi lewat mitra. Identifier utama saat provisioning adalah phone_number + mitra dari secret key.
Provision Account
Endpoint ini membuat akun customer baru atau login ke akun yang sudah ada.
POST /client/v2/customer/provision_account
Authorization: Bearer {access_token}
X-SECRET-KEY: {partner_secret_key}
Content-Type: application/json
{
"name": "Toko Koffiesoft",
"email": "toko-koffiesoft@koffiesoft.com",
"phone_number": "082340378888"
}
Catatan:
phone_numberdipakai sebagai identifier warung/cabang di bawah mitra.emailtetap divalidasi agar tidak dipakai customer lain.identity_numbertidak dipakai pada provisioning account.
Provision Response
{
"status": true,
"message": "Akun berhasil disinkronisasi.",
"data": {
"customer_id": 62207,
"token": "customer_access_token"
}
}
Customer Profile
Endpoint ini dipakai untuk mengambil data profile customer yang sedang aktif.
GET /client/v2/customer/profile
Authorization: Bearer {access_token}
X-SECRET-KEY: {partner_secret_key}
Response profile dipakai mitra untuk validasi akun, saldo, dan data customer sebelum transaksi.
{
"status": true,
"message": "OK",
"data": {
"customer": {
"id": 62207,
"name": "Toko Koffiesoft",
"email": "toko-koffiesoft@koffiesoft.com",
"phone_number": "082340378888",
"identity_number": null,
"level": 2,
"referral_code": "wPkCpA0",
"registered_at": "2026-07-21 09:16:22"
},
"balance": {
"available": 100000
},
"coin": {
"note": "Konversi koin: 2 koin = Rp1.",
"available": 20,
"available_value": 10
}
}
}
Error Conditions
| HTTP | Kondisi | Message |
|---|---|---|
400 | Data provisioning tidak lengkap. | Data tidak lengkap. |
400 | Email sudah dipakai customer lain. | Email yang digunakan sudah terdaftar pada akun lain. Silakan gunakan email yang berbeda. |
401 | Secret key/token salah. | Akses ditolak..., Token wajib diisi., atau Token tidak valid. |
401 | Token bukan milik mitra dari secret key. | Token tidak sesuai dengan Secret Key. |
500 | Profile gagal memuat coin. | Profil belum dapat dimuat. Silakan coba lagi nanti. |