API mengirim data RENSTRA Pemda ke SIPD

Resource URL

POST https://sipd.go.id/run/serv/push_renstra?kodepemda={kodepemda}

Headers

NameValue
authentication Bearer [key]
content_type application/json

Parameters

ParameterDescriptionOptionalDefault
kodepemda Diisi dengan kode pemda

Request Parameter

Field Type Description Example
kodepemda String 4 digit kode pemda sesuai Permendagri 137/2017 9100
tahunmulai Integer tahun mulai tahun anngaran RPJMD 2019
tahunselesai Integer tahun selesai tahun anngaran RPJMD 2023
kodebidang String kode kidang SKPD 1.01
uraibidang String uraian bidang SKPD Pendidikan
kodeskpd String kode SKPD 1.01.0101
uraiskpd String uraian SKPD Dinas Pendidikan
pejabat Object data Pejabat
  kepalanip String NIP kepala (Object of pejabat) 19600000 000000 0 001
  kepalanama String nama kepala (Object of pejabat) Dr. Didik, M.Pd.
  kepalajabatan String jabatan kepala (Object of pejabat) Kepala Dinas Pendidikan
  kepalapangkat String pangkat Kepala (Object of pejabat) Pembina Tingkat I
pilihanbidang Array[] bidang urusan SKPD ["1.01", "1.06"]
uraiurusan String uraian urusan Urusan Wajib Pelayanan Dasar
program Object[] data program (Array of Object)
  kodebidang String kode bidang program 1.01
  kodeprogram String kode program 1.01-0001
  uraiprogram String uraian program Program Pelayanan Administrasi Perkantoran
  indikator Object[] indikator program (Array of Object)
      kodeindikator String kode indikator 1
      uraiindikator String uraian indikator Cakupan kabupaten/kota yang memiliki sarana dan prasarana perpustakaan yang berkualitas
      satuan String uraian satuan Unit
      status String status indikator komulatif / positif / negatif
      volume_t1 Numeric volume tahun 1 indikator program RPJMD 14.00
      volume_t2 Numeric volume tahun 2 indikator program RPJMD 15.00
      volume_t3 Numeric volume tahun 3 indikator program RPJMD 16.00
      volume_t4 Numeric volume tahun 4 indikator program RPJMD 17.00
      volume_t5 Numeric volume tahun 5 indikator program RPJMD 18.00
      pagu_t1 Numeric pagu tahun 1 indikator program RPJMD 1400000000.00
      pagu_t2 Numeric pagu tahun 2 indikator program RPJMD 1500000000.00
      pagu_t3 Numeric pagu tahun 3 indikator program RPJMD 1600000000.00
      pagu_t4 Numeric pagu tahun 4 indikator program RPJMD 1700000000.00
      pagu_t5 Numeric pagu tahun 5 indikator program RPJMD 1800000000.00
  kegiatan Object[] kegiatan (Array of Object)
      kodekegiatan String kode kegiatan 1.01-0001.0001
      uraikegiatan String uraian kegiatan Penyediaan jasa surat menyurat
      lokasi String urai lokasi Kantor lokasi ABC
    indikator Object[] indikator kegiatan (Array of Object)
      kodeindikator String kode indikator kegiatan 1
      tolokukur String tolok ukur indikator Jumlah surat yang disediakan
      satuan String satuan indikator Surat
      status String status indikator program RPJMD komulatif / positif / negatif
      volume_t1 Numeric volume tahun 1 indikator program RPJMD 14.00
      volume_t2 Numeric volume tahun 2 indikator program RPJMD 15.00
      volume_t3 Numeric volume tahun 3 indikator program RPJMD 16.00
      volume_t4 Numeric volume tahun 4 indikator program RPJMD 17.00
      volume_t5 Numeric volume tahun 5 indikator program RPJMD 18.00
      pagu_t1 Numeric pagu tahun 1 indikator program RPJMD 1400000000.00
      pagu_t2 Numeric pagu tahun 2 indikator program RPJMD 1500000000.00
      pagu_t3 Numeric pagu tahun 3 indikator program RPJMD 1600000000.00
      pagu_t4 Numeric pagu tahun 4 indikator program RPJMD 1700000000.00
      pagu_t5 Numeric pagu tahun 5 indikator program RPJMD 1800000000.00

Response Format

JSON

Example

POST https://sipd.go.id/run/serv/push_renstra?kodepemda=9100

Header

  authentication: Bearer [key]
content_type: application/json  

Request

  [
 {
     "kodepemda": "9100",
     "tahunmulai": "2019",
     "tahunselesai": "2023",
     "kodebidang": "2.17",
     "uraibidang": "Perpustakaan",
     "kodeskpd": "1.01.0101",
     "uraiskpd": "Dinas perpustakaan",
     "pejabat": {
         "kepalanip": "",
         "kepalanama": "",
         "kepalajabatan": "",
         "kepalapangkat": ""
     },
     "pilihanbidang": [
         "2.17"
     ],
     "uraiurusan": "Urusan Wajib Pelayanan Dasar",
     "program": [
         {
             "kodebidang": "2.17",
             "kodeprogram": "22",
             "uraiprogram": "PENINGKATAN SARANA DAN PRASARANA PERPUSTAKAAN",
             "indikator": [
               {
                 "kodeindikator": "1",
                 "uraiindikator": "Cakupan kabupaten/kota yang memiliki sarana dan prasarana perpustakaan yang berkualitas",
                 "satuan": "jumlah",
                 "status": "positif",
                 "volume_n1": "17.00",
                 "volume_n2": "19.00",
                 "volume_n3": "21.00",
                 "volume_n4": "23.00",
                 "volume_n5": "26.00",
                 "pagu_n1": "1000000",
                 "pagu_n2": "1200000",
                 "pagu_n3": "1100000",
                 "pagu_n4": "1400000",
                 "pagu_n5": "1500000"
               }
             ],
             "kegiatan": [
                 {
                     "kodekegiatan": "1.01-0001.0001",
                     "uraikegiatan": "Penyediaan jasa surat menyurat",
                     "lokasi": "Kantor lokasi ABC ",
                     "indikator": [
                         {
                             "kodeindikator": "1",
                             "tolokukur": "Jumlah surat yang disediakan",
                             "satuan": "Surat",
                             "volume_n1": "17.00",
                             "volume_n2": "19.00",
                             "volume_n3": "21.00",
                             "volume_n4": "23.00",
                             "volume_n5": "26.00",
                             "pagu_n1": "1000000",
                             "pagu_n2": "1200000",
                             "pagu_n3": "1100000",
                             "pagu_n4": "1400000",
                             "pagu_n5": "1500000"
                         }
                     ],
                     "subkegiatan": [
                        {
                          "kodesubkegiatan": "1.01-01.01.01",
                          "uraisubkegiatan": "Penyediaan Jasa Surat Menyurat 2",
                          "lokasi": "Kantor lokasi DEF ",
                          "indikator": [
                               {
                                   "kodeindikator": "1",
                                   "tolokukur": "Jumlah surat yang disediakan 2",
                                   "satuan": "Surat",
                                   "volume_n1": "17.00",
                                   "volume_n2": "19.00",
                                   "volume_n3": "21.00",
                                   "volume_n4": "23.00",
                                   "volume_n5": "26.00",
                                   "pagu_n1": "1000000",
                                   "pagu_n2": "1200000",
                                   "pagu_n3": "1100000",
                                   "pagu_n4": "1400000",
                                   "pagu_n5": "1500000"
                               }
                            ]
                        }
                     ]
                 }
             ]
         }
     ]
 }]  

Response

  {
"code": 200,
"msg": "Sukses menyimpan 3729 byte",
"log": [
    "2019.9901.2.Urusan Wajib Pelayanan Dasar",
    "2019.9901.1.01.0101.Dinas perpustakaan",
    "2019.9901.1.01.0101.Dinas perpustakaan",
    "22 PENINGKATAN SARANA DAN PRASARANA PERPUSTAKAAN",
    "22(1) Cakupan kabupaten/kota yang memiliki sarana dan prasarana perpustakaan yang berkualitas",
    "1 TARGET Cakupan kabupaten/kota yang memiliki sarana dan prasarana perpustakaan yang berkualitas",
    "1.01-0001.0001 Penyediaan jasa surat menyurat",
    "1.01-0001.0001(1) Jumlah surat yang disediakan",
    "1 TARGET Jumlah surat yang disediakan",
    "1.01-01.01.01 Penyediaan Jasa Surat Menyurat 2",
    "1.01-01.01.01(1) Jumlah surat yang disediakan 2",
    "1 TARGET Jumlah surat yang disediakan 2",
    "Exe time: 0.012991905212402 detik"
]}  

Error Response

  {
  "code": 200,
  "msg": "Sukses menyimpan 3475 byte",
  "log": [
      "ERROR: kodepemda 6500 tidak sama dengan APIkey-nyaExe time: 0.0079441070556641 detik"
]}  

Code Usage Examples

PHP

  function postBangda($postdata,$bearer,$tahun,$kodepemda){
    $opts = array(
      'ssl' => array(
        'verify_peer' => false,
      ),
      'http'=>array(
        'ignore_errors' => true,
        'method'=>  "POST",
        'header'=>  "Accept: application/json\r\n" .
              "Authorization: Bearer {$bearer}\r\n" .
              "Content-Type: application/json\r\n",
        'content' => $postdata
      )
    );


    $context = stream_context_create($opts);
    $result = file_get_contents('https://sipd.go.id/run/serv/push_renstra?kodepemda={$kodepemda}', false, $context);
    $result = json_encode($http_response_header,JSON_FORCE_OBJECT|JSON_PRETTY_PRINT)."\n".$result;
    return $result;
  }  

PHP with cURL

  $curl = curl_init();
  curl_setopt_array($curl, array(
   CURLOPT_URL => "https://sipd.go.id/run/serv/push_renstra?kodepemda=".$kodepemda,
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_POST => true,
   CURLOPT_SSL_VERIFYHOST => false,
   CURLOPT_SSL_VERIFYPEER => false,
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 30,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_POSTFIELDS => $postdata,
   CURLOPT_HTTPHEADER => array(
      "Content-Type: application/json",
      "Authorization: Bearer ".$APIKEY,
    )
  ));
  $response = curl_exec($curl);
  curl_close($curl);  

Java

  String TAHUN = "2019";
  String KODEPEMDA = "9100";
  String APIKEY = "diisiapikey";

  // Create a trust manager that does not validate certificate chains
  TrustManager[] trustAllCerts = new TrustManager[]{
      new X509TrustManager() {
          public java.security.cert.X509Certificate[] getAcceptedIssuers() {
              return null;
          }
          public void checkClientTrusted(
              java.security.cert.X509Certificate[] certs, String authType) {
          }
          public void checkServerTrusted(
              java.security.cert.X509Certificate[] certs, String authType) {
          }
      }
  };

  // Install the all-trusting trust manager
  try {
      SSLContext sc = SSLContext.getInstance("SSL");
      sc.init(null, trustAllCerts, new java.security.SecureRandom());
      HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
  } catch (Exception e) {
  }

  URL bangdaurl = new URL("https://sipd.go.id/run/serv/push_renstra?kodepemda="+kodepemda);
  HttpsURLConnection con = (HttpsURLConnection)bangdaurl.openConnection();
  con.setRequestMethod("POST");
  con.setRequestProperty("Content-Type","application/json");
  con.setRequestProperty("Accept","application/json");
  con.setRequestProperty("Authorization","Bearer "+APIKEY);
  con.setDoOutput(true);
  con.setDoInput(true);
  DataOutputStream output = new DataOutputStream(con.getOutputStream());
  output.writeBytes(JSONDATA);
  output.close();

  DataInputStream input = new DataInputStream( con.getInputStream() );
  for( int c = input.read(); c != -1; c = input.read() )
  System.out.print( (char)c );
  input.close();
  System.out.println("Resp Code:"+con .getResponseCode());
  System.out.println("Resp Message:"+ con .getResponseMessage());  

Python

  import requests
  tahun = "2019"
  kodepemda = "9100"
  APIKEY = "APIKEY"
  postdata = "isijsonsesuaiformat"

  headers = {
      "authorization": "Bearer: "+APIKEY,
      "accept": "application/json",
      "content-type": "application/json"
  }
  requests.packages.urllib3.disable_warnings()
  r = requests.post("'https://sipd.go.id/run/serv/push_renstra?kodepemda="+kodepemda, data=postdata, headers=headers, verify=False)
  print(r.text)  

C#

  private static void postBangda(string tahun,string kodepemda,string json){

  HttpClientHandler handler = new HttpClientHandler();
  handler.ClientCertificateOptions = ClientCertificateOption.Manual;
  handler.ServerCertificateCustomValidationCallback = (httpRequestMessage, cert, cetChain, policyErrors) => { return true; };

  HttpClient client = new HttpClient(handler);
  client.DefaultRequestHeaders.Accept.Clear();
  client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
  client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "APIKEY");
  StringContent postdata = new StringContent(json, Encoding.UTF8, "application/json");
  var res = client.PostAsync("https://sipd.go.id/run/serv/push_renstra?kodepemda="+kodepemda, postdata);

    try
    {
        res.Result.EnsureSuccessStatusCode();

        Console.WriteLine("Response " + res.Result.Content.ReadAsStringAsync().Result);

    }
    catch (Exception ex)
    {
        Console.WriteLine("Error " + res + " Error " + ex.ToString());
    }
  }  

Delphi/Pascal

  uses IdHTTP, IdSSLOpenSSL;

  function postHTTP(tahun,kodepemda,apikey:string;postdata:TStringStream):string;
  var IdHTTP1 : TIdHTTP;
      IdSSLIOHandlerSocket1 : TIdSSLIOHandlerSocket;
      Url : string;
  begin
    //require libeay32.dll dan libssl32.dll

    Url := 'https://sipd.go.id/run/serv/push_renstra?kodepemda='+kodepemda;
    IdSSLIOHandlerSocket1 := TIdSSLIOHandlerSocket.Create(nil);
    IdHTTP1 := TIdHTTP.Create(nil);
    try
      with IdSSLIOHandlerSocket1 do
      begin
        SSLOptions.Method := sslvTLSv1;
        SSLOptions.Mode := sslmClient;
        SSLOptions.VerifyMode := [];
        SSLOptions.VerifyDepth := 0;
      end;
      with IdHTTP1 do
      begin
        IOHandler := IdSSLIOHandlerSocket1;
        HandleRedirects := True;
        AllowCookies := True;
        Request.ContentType := 'application/json';
        Request.Accept := 'application/json';
        Request.CustomHeaders.Values['Authorization'] := 'Bearer '+apikey;
        HTTPOptions := [hoForceEncodeParams];
      end;
      try
        IdHTTP1.Head(Url);
      except
        //mancing IOHandler dan OpenSSL e baku tukar key
      end;
      try
        Result := IdHTTP1.Post(Url,postdata);
      except
        raise;
      end;
      IdSSLIOHandlerSocket1.Close;
    finally
      IdHTTP1.Free;
      IdSSLIOHandlerSocket1.Free;
    end;
  end;