API Kepegawaian (Simpeg) v1
Layanan integrasi data ASN di lingkungan Pemerintah Kota Denpasar. API ini mencakup otentikasi (SSO) dan akses data profil pegawai.
Base URL: https://dev.denpasarkota.go.id/api
1. Authentication
Sebelum mengakses data pegawai, Anda harus mendapatkan akses token. Endpoint ini menjembatani sistem otentikasi legacy (Fusio).
Login (Get Token)
Menukar Username & Password akun SPLP dengan Access Token (JWT).
- Endpoint:
/v1/simpeg/auth/login - Method:
POST - Content-Type:
application/json
Request Body:
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
username | string | Ya | User SPLP / NIP (tergantung konfigurasi akun) |
password | string | Ya | Password akun |
Contoh Request:
{
"username": "user_splp",
"password": "password_rahasia"
}
Response Sukses (200 OK):
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"expires_in": 1751178433,
"refresh_token": "d12f062ecf6526a9f363...",
"scope": "backend consumer default"
}
Refresh Token
Memperbarui token yang kedaluwarsa tanpa login ulang.
- Endpoint:
/v1/simpeg/auth/refresh - Method:
POST - Content-Type:
application/x-www-form-urlencoded
Request Body:
| Parameter | Tipe | Wajib | Nilai / Contoh |
|---|---|---|---|
grant_type | string | Ya | refresh_token |
refresh_token | string | Ya | Token refresh dari response login |
2. Data Pegawai
Semua endpoint di bawah ini memerlukan Header Authorization:
Authorization: Bearer <ACCESS_TOKEN>
Get Auth Ticket
Mendapatkan Tiket Sesi yang diperlukan untuk melihat detail profil pegawai. Ini adalah langkah validasi NIP sebelum mengambil data sensitif.
- Endpoint:
/v1/simpeg/tiket - Method:
GET - Tujuan Upstream:
/index.php/dev/simpeg/auth
Query Parameters:
| Parameter | Wajib | Deskripsi |
|---|---|---|
user | Ya | Fixed value: servicelogin |
username | Ya | NIP Pegawai target |
pass | Ya | Password/Passphrase NIP |
Contoh Response:
{
"tiket": "2cf4f71f916ec4e6484e3955927c25fc"
}
Get List Pegawai (Pencarian)
Mencari daftar pegawai berdasarkan filter NIP atau Nama. Endpoint ini mengembalikan data ringkas.
- Endpoint:
/v1/simpeg/pegawai - Method:
GET - Tujuan Upstream:
/index.php/dev/simpeg/pegawai
Query Parameters:
| Parameter | Wajib | Default Value | Deskripsi |
|---|---|---|---|
pagetype | Ya | serviceauth | Tipe halaman layanan |
page | Ya | Web-Service-WBS | Nama layanan |
action | Ya | getPegawai | Aksi yang dilakukan |
nip | Opsional | - | Cari berdasarkan NIP |
nama | Opsional | - | Cari berdasarkan Nama |
Contoh Request:
curl -X GET "[https://dev.denpasarkota.go.id/v1/simpeg/pegawai?pagetype=serviceauth&page=Web-Service-WBS&action=getPegawai&nip=1996xxxx](https://dev.denpasarkota.go.id/v1/simpeg/pegawai?pagetype=serviceauth&page=Web-Service-WBS&action=getPegawai&nip=1996xxxx)" \
-H "Authorization: Bearer <TOKEN>"
Contoh Response:
{
"status": "success",
"result": [
{
"peg_nip_baru": "1996040xxxxxx",
"peg_nama": "xxx AGUNG PRIxxxxA",
"jab_name": "Pranata Komputer - Terampil",
"uk_nama": "Dinas Komunikasi, Informatika dan Statistik"
}
]
}
Get Detail Pegawai (Profil Lengkap)
Mengambil data lengkap (Jabatan, Kepangkatan, Foto) menggunakan Tiket.
- Endpoint:
/v1/simpeg/pegawai - Method:
GET
Query Parameters:
| Parameter | Wajib | Nilai Tetap | Deskripsi |
|---|---|---|---|
page | Ya | sso | - |
action | Ya | getDataPegawai | - |
tiket | Ya | - | Tiket dari endpoint Get Auth Ticket |
Contoh Response:
{
"status": "success",
"message": "Data Ditemukan",
"result": {
"pegawai": {
"peg_nama": "xxx AGUNG PRIxxxxA",
"peg_nip": "1996xxxxx",
"url_photo": "[https://simpeg.denpasarkota.go.id/files/pegawai/foto/PEGxxxx.jpg](https://simpeg.denpasarkota.go.id/files/pegawai/foto/PEGxxxx.jpg)"
},
"jabatan": [
{
"unit_name": "Dinas Komunikasi, Informatika dan Statistik",
"jab_name": "Pranata Komputer - Terampil",
"status_menjabat": "y"
}
],
"kepangkatan": [
{
"golongan": "VII",
"pangkat": " "
}
]
}
}