Dokumentasi endpoint
Hanya pihak ketiga yang sudah terdaftar yang boleh memanggil API. Setiap request wajib menyertakan public key dan private key.
Autentikasi
Kirim kedua header berikut:
X-Public-Key: pk_...
X-Private-Key: sk_...
Keys didapat setelah registrasi atau di halaman API Keys.
GET /health
Status service. Tidak memerlukan API keys.
curl http://localhost:3000/health
{
"success": true,
"service": "TokoProAPI"
}
GET /api/v1/company/:id
Mengambil data perusahaan dari database klien TokoPro. Ganti :id dengan ID perusahaan, misalnya SFT.
Pihak ketiga mengajukan ID perusahaan di dashboard. ID harus ada di tbperusahaan, lalu menunggu konfirmasi pihak TokoPro sebelum API bisa diakses.
curl http://localhost:3000/api/v1/company/SFT -H "X-Public-Key: pk_..." -H "X-Private-Key: sk_..."
{
"success": true,
"data": {
"id": "SFT",
"namaPerusahaan": "PT Sumber Indo",
"alamatPerusahaan": "Jl. Contoh No. 1",
"kotaPerusahaan": "Pontianak"
}
}
GET /api/v1/company/:id/customers
Menampilkan daftar pelanggan dari tbpelanggan. Response list hanya berisi kode dan nama.
Gunakan parameter opsional q, kota, area, active, limit, dan cursor. Nilai limit default 50 dan maksimal 100.
curl "http://localhost:3000/api/v1/company/SFT/customers?q=SUMBER&area=AR01&active=1&limit=50" -H "X-Public-Key: pk_..." -H "X-Private-Key: sk_..."
{
"success": true,
"data": [
{
"kode": "CUST001",
"nama": "Toko Maju"
}
],
"pagination": {
"limit": 50,
"nextCursor": "CUST001"
}
}
Jika nextCursor tidak null, kirim nilainya pada request selanjutnya: ?cursor=CUST001&limit=50.
GET /api/v1/company/:id/customers/:kode
Mengambil detail satu pelanggan berdasarkan kode. Kode pada URL harus di-URL-encode jika mengandung karakter khusus.
curl http://localhost:3000/api/v1/company/SFT/customers/CUST001 -H "X-Public-Key: pk_..." -H "X-Private-Key: sk_..."
{
"success": true,
"data": {
"kode": "CUST001",
"nama": "Toko Maju",
"alamat": "Jl. Contoh No. 1",
"kota": "Pontianak",
"telp": "0561...",
"noHp": "08...",
"email": "customer@example.com",
"contactPerson": "Budi",
"kodeArea": "AR01",
"kodeRute": "R01",
"aktif": true
}
}
Status error
- 401 — public/private key tidak valid atau akun tidak aktif
- 403 — ID belum diizinkan atau belum dikonfirmasi TokoPro
- 400 — parameter, ID perusahaan, atau kode pelanggan tidak valid
- 404 — data perusahaan atau pelanggan tidak ditemukan
- 503 — database klien tidak dapat diakses
- 500 — kesalahan server