Portal Developer
Naskah
· surat & dokumen dinas| Nama | Tipe | Keterangan |
|---|---|---|
| status | string opsional | konsep · alur · dirilis · diarsipkan |
| klasifikasi | string opsional | kode klasifikasi arsip, mis. KP.01.01 |
| unit | string opsional | kode unit pengolah |
| page | integer opsional | halaman, mulai 1 (default 1, ukuran 25) |
GET /v1/naskah?status=dirilis&page=1 Host: api.documa.kotacontoh.go.id Authorization: Bearer dpat_live_3f9aK2… Accept: application/json
{
"data": [
{
"id": "nsk_01HZ7Q8M3K",
"nomor": "005/ST/KP.04.02/DISKOMINFO/2026",
"jenis": "surat_tugas",
"perihal": "Penugasan Bimtek SPBE",
"status": "dirilis",
"klasifikasi": "KP.04.02",
"dibuat": "2026-05-28T10:14:32+07:00"
}
],
"meta": { "page": 1, "total": 312 }
}| Nama | Tipe | Keterangan |
|---|---|---|
| jenis | string wajib | surat_tugas · nota_dinas · sk · undangan |
| perihal | string wajib | perihal / hal naskah |
| klasifikasi | string wajib | kode klasifikasi arsip |
| unit | string opsional | unit pengolah (default: unit pengguna) |
POST /v1/naskah
Authorization: Bearer dpat_live_3f9aK2…
Content-Type: application/json
{
"jenis": "nota_dinas",
"perihal": "Permohonan data kepegawaian",
"klasifikasi": "KP.00.00"
}{
"id": "nsk_01HZ9F2T0X",
"nomor": null,
"status": "konsep",
"jenis": "nota_dinas",
"perihal": "Permohonan data kepegawaian",
"dibuat": "2026-06-04T09:12:00+07:00",
"_links": { "ambil_nomor": "/v1/penomoran/ambil-nomor" }
}| Nama | Tipe | Keterangan |
|---|---|---|
| id | string wajib | ID naskah, mis. nsk_01HZ7Q8M3K |
{
"id": "nsk_01HZ7Q8M3K",
"nomor": "005/ST/KP.04.02/DISKOMINFO/2026",
"jenis": "surat_tugas",
"perihal": "Penugasan Bimtek SPBE",
"status": "dirilis",
"ttd": { "status": "ditandatangani", "metode": "BSrE/QR" },
"_links": { "berkas": "/v1/naskah/nsk_01HZ7Q8M3K/berkas" }
}| Kode | Tipe | Keterangan |
|---|---|---|
| 200 | application/pdf | aliran biner berkas (versi terkini) |
| 404 | application/json | naskah atau berkas tidak ditemukan |
Disposisi
· instruksi & tindak lanjut| Nama | Tipe | Keterangan |
|---|---|---|
| naskah_id | string opsional | saring berdasarkan naskah |
| status | string opsional | baru · diproses · selesai |
{
"data": [
{
"id": "dsp_01J0A1B2C3",
"naskah_id": "nsk_01HZ7Q8M3K",
"tujuan": "kabag.kepegawaian",
"instruksi": "Tindak lanjuti & laporkan",
"sifat": "segera",
"status": "baru",
"dibuat": "2026-06-04T08:40:00+07:00"
}
]
}| Nama | Tipe | Keterangan |
|---|---|---|
| naskah_id | string wajib | naskah yang didisposisikan |
| tujuan | string[] wajib | username / unit penerima |
| instruksi | string wajib | arahan tindak lanjut |
| sifat | string opsional | biasa · penting · segera · rahasia |
POST /v1/disposisi
Authorization: Bearer dpat_live_3f9aK2…
Content-Type: application/json
{
"naskah_id": "nsk_01HZ7Q8M3K",
"tujuan": ["kabag.kepegawaian"],
"instruksi": "Tindak lanjuti & laporkan",
"sifat": "segera"
}{
"id": "dsp_01J0A1B2C3",
"naskah_id": "nsk_01HZ7Q8M3K",
"status": "baru",
"dibuat": "2026-06-04T09:12:11+07:00"
}Arsip
· inaktif & statis (JRA)| Nama | Tipe | Keterangan |
|---|---|---|
| jra | string opsional | aktif · inaktif · permanen · musnah |
| tahun | integer opsional | tahun penciptaan, mis. 2024 |
{
"data": [
{
"id": "ars_01HX0021AA",
"naskah_id": "nsk_01H9KLMN77",
"klasifikasi": "KU.01.02",
"jra": "inaktif",
"retensi_sisa_tahun": 3,
"lokasi": "Records Center / R-12"
}
]
}Penomoran
· ambil nomor naskah otomatis| Nama | Tipe | Keterangan |
|---|---|---|
| jenis | string wajib | kode jenis naskah (mis. ST, ND, SK) |
| unit | string wajib | kode unit pengolah |
| tanggal | string opsional | tanggal naskah (ISO-8601, default hari ini) |
| naskah_id | string opsional | tautkan nomor ke naskah yang sudah ada |
POST /v1/penomoran/ambil-nomor
Authorization: Bearer dpat_live_3f9aK2…
Content-Type: application/json
{
"jenis": "ST",
"unit": "DISKOMINFO",
"naskah_id": "nsk_01HZ9F2T0X"
}{
"nomor": "094/ST/KP.04.02/DISKOMINFO/2026",
"urut": 94,
"kaidah": "default-2026",
"tanggal": "2026-06-04",
"terpakai": true
}Nomor bersifat sekuensial & tidak dapat dipakai ulang; gunakan sekali per naskah.
Tanda Tangan (TTD)
· TTE tersertifikasi BSrE| Nama | Tipe | Keterangan |
|---|---|---|
| naskah_id | string wajib | naskah yang ditandatangani |
| penandatangan_nik | string wajib | NIK penandatangan terdaftar (status ISSUE) |
| tampilan | string opsional | VISIBLE (QR) · INVISIBLE (default VISIBLE) |
| passphrase | string wajib | passphrase sertifikat penandatangan |
POST /v1/ttd
Authorization: Bearer dpat_live_3f9aK2…
Content-Type: application/json
{
"naskah_id": "nsk_01HZ7Q8M3K",
"penandatangan_nik": "3171••••••007123",
"tampilan": "VISIBLE",
"passphrase": "••••••••"
}{
"naskah_id": "nsk_01HZ7Q8M3K",
"ttd_status": "ditandatangani",
"format": "PKCS7-T",
"link_qr": "https://documa.kotacontoh.go.id/verifikasi/nsk_01HZ7Q8M3K",
"ditandatangani": "2026-06-04T09:13:40+07:00"
}Menyalurkan ke Esign Client BSrE (lihat Integrasi → BSrE). Penandatangan harus berstatus ISSUE.
Webhooks
· kelola langganan peristiwa{
"data": [
{
"id": "whk_01J2M0P9QR",
"url": "https://otomasi.diskominfo.go.id/hooks/documa",
"events": ["naskah.masuk", "disposisi.dibuat"],
"status": "aktif"
}
]
}| Nama | Tipe | Keterangan |
|---|---|---|
| url | string wajib | HTTPS endpoint penerima |
| events | string[] wajib | naskah.masuk · disposisi.dibuat · ttd.selesai · arsip.disusutkan |
{
"id": "whk_01J2M0P9QR",
"url": "https://otomasi.diskominfo.go.id/hooks/documa",
"events": ["naskah.masuk", "disposisi.dibuat"],
"secret": "whsec_4Kd9…",
"status": "aktif"
}Simpan secret untuk verifikasi tanda tangan X-Documa-Signature (HMAC-SHA256).
Token Akses Pribadi (PAT)
| Nama | Cakupan | Dibuat | Terakhir dipakai | Status | Aksi |
|---|---|---|---|---|---|
CI/CD Persuratan dpat_live_••••3f9a |
naskah:bacanaskah:tulis |
12 Mei 2026 | 2 jam lalu | Aktif | |
Integrasi Arsip Nightly dpat_live_••••8c2b |
naskah:bacaarsip |
3 Mar 2026 | Kemarin 23.00 | Aktif | |
Skrip Migrasi (2025) dpat_live_••••1d77 |
admin |
14 Mar 2025 | 14 Mar 2025 | Kedaluwarsa | |
Webhook Relay dpat_live_••••a043 |
disposisi |
2 Feb 2026 | 28 Apr 2026 | Dicabut |
Token mewakili identitas & izin Anda. Perlakukan seperti kata sandi — jangan tanam di repositori publik. Awalan dpat_live_ = produksi, dpat_test_ = sandbox.
Langganan Webhook
Contoh muatan pengiriman
event: naskah.masukDocuma mengirim POST JSON ke endpoint Anda, dengan header tanda tangan X-Documa-Signature: sha256=… dan X-Documa-Event: naskah.masuk. Balas 2xx dalam 10 detik; jika gagal, dicoba ulang dengan backoff hingga 3×.
{
"id": "evt_01J3KQ7M0Z",
"event": "naskah.masuk",
"created": "2026-06-04T09:15:02+07:00",
"data": {
"naskah_id": "nsk_01HZAB12CD",
"nomor": "120/UND/PW.01.01/PEMKOT/2026",
"jenis": "undangan",
"asal": "Sekretariat Daerah",
"perihal": "Undangan Rapat Koordinasi SPBE",
"sifat": "segera"
}
}Mode Sandbox
https://sandbox.api.documa.kotacontoh.go.id/v1
Sandbox berisi naskah, disposisi, dan arsip contoh yang disetel ulang setiap malam. TTE memakai sertifikat uji (bukan BSrE produksi).
Batas Laju & Kuota
Setiap respons menyertakan X-RateLimit-Limit, X-RateLimit-Remaining, dan X-RateLimit-Reset (epoch detik). Saat melebihi batas, API membalas 429 Too Many Requests dengan header Retry-After.
Integrasi Sistem Pemerintah
Portal Developer ini melayani API Documa (REST first-party). Untuk konektor antar-sistem pemerintah — SPLP/SRIKANDI (interoperabilitas naskah), BSrE (TTE), LDAP, dan SSO — kelola di halaman Integrasi.
SPLP / SRIKANDI & BSrE Konektor interoperabilitas & tanda tangan elektronikMockup · Portal Developer · semua layar