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_number dipakai sebagai identifier warung/cabang di bawah mitra.
  • email tetap divalidasi agar tidak dipakai customer lain.
  • identity_number tidak 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

HTTPKondisiMessage
400Data provisioning tidak lengkap.Data tidak lengkap.
400Email sudah dipakai customer lain.Email yang digunakan sudah terdaftar pada akun lain. Silakan gunakan email yang berbeda.
401Secret key/token salah.Akses ditolak..., Token wajib diisi., atau Token tidak valid.
401Token bukan milik mitra dari secret key.Token tidak sesuai dengan Secret Key.
500Profile gagal memuat coin.Profil belum dapat dimuat. Silakan coba lagi nanti.