FA

Portal Developer

Referensi API, kunci akses (PAT), webhook, dan sandbox untuk integrasi mandiri dengan Documa. Mockup statis.
Base URL Produksi · API v1
https://api.documa.kotacontoh.go.id/v1
Auth: Bearer {token} Format: JSON Versi: v1 Hanya via JIP

Naskah

· surat & dokumen dinas
Parameter kueri
NamaTipeKeterangan
statusstring opsionalkonsep · alur · dirilis · diarsipkan
klasifikasistring opsionalkode klasifikasi arsip, mis. KP.01.01
unitstring opsionalkode unit pengolah
pageinteger opsionalhalaman, mulai 1 (default 1, ukuran 25)
Contoh permintaan
GET /v1/naskah?status=dirilis&page=1
Host: api.documa.kotacontoh.go.id
Authorization: Bearer dpat_live_3f9aK2…
Accept: application/json
Contoh respons · 200
{
  "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 }
}
Body (JSON)
NamaTipeKeterangan
jenisstring wajibsurat_tugas · nota_dinas · sk · undangan
perihalstring wajibperihal / hal naskah
klasifikasistring wajibkode klasifikasi arsip
unitstring opsionalunit pengolah (default: unit pengguna)
Contoh permintaan
POST /v1/naskah
Authorization: Bearer dpat_live_3f9aK2…
Content-Type: application/json

{
  "jenis": "nota_dinas",
  "perihal": "Permohonan data kepegawaian",
  "klasifikasi": "KP.00.00"
}
Contoh respons · 201
{
  "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" }
}
Parameter path
NamaTipeKeterangan
idstring wajibID naskah, mis. nsk_01HZ7Q8M3K
Contoh respons · 200
{
  "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" }
}
Respons
KodeTipeKeterangan
200application/pdfaliran biner berkas (versi terkini)
404application/jsonnaskah atau berkas tidak ditemukan

Disposisi

· instruksi & tindak lanjut
Parameter kueri
NamaTipeKeterangan
naskah_idstring opsionalsaring berdasarkan naskah
statusstring opsionalbaru · diproses · selesai
Contoh respons · 200
{
  "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"
    }
  ]
}
Body (JSON)
NamaTipeKeterangan
naskah_idstring wajibnaskah yang didisposisikan
tujuanstring[] wajibusername / unit penerima
instruksistring wajibarahan tindak lanjut
sifatstring opsionalbiasa · penting · segera · rahasia
Contoh permintaan
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"
}
Contoh respons · 201
{
  "id": "dsp_01J0A1B2C3",
  "naskah_id": "nsk_01HZ7Q8M3K",
  "status": "baru",
  "dibuat": "2026-06-04T09:12:11+07:00"
}

Arsip

· inaktif & statis (JRA)
Parameter kueri
NamaTipeKeterangan
jrastring opsionalaktif · inaktif · permanen · musnah
tahuninteger opsionaltahun penciptaan, mis. 2024
Contoh respons · 200
{
  "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
Body (JSON)
NamaTipeKeterangan
jenisstring wajibkode jenis naskah (mis. ST, ND, SK)
unitstring wajibkode unit pengolah
tanggalstring opsionaltanggal naskah (ISO-8601, default hari ini)
naskah_idstring opsionaltautkan nomor ke naskah yang sudah ada
Contoh permintaan
POST /v1/penomoran/ambil-nomor
Authorization: Bearer dpat_live_3f9aK2…
Content-Type: application/json

{
  "jenis": "ST",
  "unit": "DISKOMINFO",
  "naskah_id": "nsk_01HZ9F2T0X"
}
Contoh respons · 200
{
  "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
Body (JSON)
NamaTipeKeterangan
naskah_idstring wajibnaskah yang ditandatangani
penandatangan_nikstring wajibNIK penandatangan terdaftar (status ISSUE)
tampilanstring opsionalVISIBLE (QR) · INVISIBLE (default VISIBLE)
passphrasestring wajibpassphrase sertifikat penandatangan
Contoh permintaan
POST /v1/ttd
Authorization: Bearer dpat_live_3f9aK2…
Content-Type: application/json

{
  "naskah_id": "nsk_01HZ7Q8M3K",
  "penandatangan_nik": "3171••••••007123",
  "tampilan": "VISIBLE",
  "passphrase": "••••••••"
}
Contoh respons · 200
{
  "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
Contoh respons · 200
{
  "data": [
    {
      "id": "whk_01J2M0P9QR",
      "url": "https://otomasi.diskominfo.go.id/hooks/documa",
      "events": ["naskah.masuk", "disposisi.dibuat"],
      "status": "aktif"
    }
  ]
}
Body (JSON)
NamaTipeKeterangan
urlstring wajibHTTPS endpoint penerima
eventsstring[] wajibnaskah.masuk · disposisi.dibuat · ttd.selesai · arsip.disusutkan
Contoh respons · 201
{
  "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).

Mockup · Portal Developer · semua layar