PETA POHON API

Dokumentasi Public REST API untuk mengambil data tagging dan eksekusi ROW berdasarkan rentang tanggal, wilayah, penyulang, zona, dan pagination.

https://apis.pendekarcikupa.com/api/v1

Authentication

Semua request membutuhkan API Key melalui HTTP header X-API-Key.

X-API-Key: YOUR_API_KEY
Penting: Jangan menaruh API Key di URL atau frontend yang dapat dilihat publik.

Quick Start

1. Siapkan API Key

Gunakan API Key yang diberikan administrator API.

2. Gunakan endpoint

Endpoint utama untuk data tagging adalah GET /tagging.

3. Wajib isi tanggal

Request harus mempunyai start_date dan end_date dengan format YYYY-MM-DD. Rentang maksimum adalah 31 hari.

4. Gunakan pagination

Default limit adalah 100 data dan maksimum 1000 data per request.

Tagging

GET/tagging

Mengambil data tagging berdasarkan rentang tanggal. Filter wilayah, penyulang, dan zona bersifat opsional.

Request

curl -X GET \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://apis.pendekarcikupa.com/api/v1/tagging?start_date=2026-09-01&end_date=2026-09-30&page=1&limit=100"
Catatan: start_date dan end_date wajib dikirim. Selisih tanggal tidak boleh lebih dari 31 hari.

Query Parameters

ParameterTypeRequiredDefaultKeterangan
start_datestringYa-Tanggal awal, format YYYY-MM-DD.
end_datestringYa-Tanggal akhir, format YYYY-MM-DD.
wilayahstringTidak-Filter berdasarkan wilayah.
rayonstringTidak-Filter berdasarkan penyulang.
zonastringTidak-Filter berdasarkan zona.
pageintegerTidak1Nomor halaman, minimal 1.
limitintegerTidak100Jumlah data per halaman, maksimum 1000.

Response

Response berhasil mengembalikan informasi filter, pagination, dan array data.

{
  "success": true,
  "filters": {
    "start_date": "2026-09-01",
    "end_date": "2026-09-30",
    "wilayah": null,
    "rayon": null,
    "zona": null
  },
  "pagination": {
    "page": 1,
    "limit": 100,
    "total": 1250,
    "total_pages": 13
  },
  "data": [
    {
      "idTagging": 5239,
      "idUser": 10,
      "tanggal": "2026-09-01",
      "wilayah": "CIKUPA",
      "jenis": "TAGGING",
      "latitude": "0.507068",
      "longitude": "101.447779",
      "rayon": "KALIMUTU",
      "keterangan": "Contoh keterangan",
      "foto": "foto.jpg",
      "kategori": "A",
      "status": "OPEN",
      "tanggalperawatan": "2026-09-02",
      "fotohasil": "",
      "inspektor": "Inspektor",
      "eksekutor": "Eksekutor",
      "kode": "K001",
      "siklus": "1",
      "zona": "ZONA 1",
      "potensi": "5",
      "jumlahtebang": 0,
      "ups": "UP3 CIKUPA",
      "tanggalapprovetl": "2026-09-02",
      "tanggalapprovemulp": "2026-09-02",
      "approve1": "",
      "approve2": "",
      "updateby": "",
      "segmen": ""
    }
  ]
}

Eksekusi ROW

GET/eksekusi

Mengambil data eksekusi ROW berdasarkan rentang tanggal. Filter wilayah, penyulang, dan zona bersifat opsional.

Request

curl -X GET \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://apis.pendekarcikupa.com/api/v1/eksekusi?start_date=2026-09-01&end_date=2026-09-30&page=1&limit=100"
Catatan: start_date dan end_date wajib dikirim. Selisih tanggal tidak boleh lebih dari 31 hari.

Query Parameters

ParameterTypeRequiredDefaultKeterangan
start_datestringYa-Tanggal awal, format YYYY-MM-DD.
end_datestringYa-Tanggal akhir, format YYYY-MM-DD.
wilayahstringTidak-Filter berdasarkan wilayah.
rayonstringTidak-Filter berdasarkan penyulang.
zonastringTidak-Filter berdasarkan zona.
pageintegerTidak1Nomor halaman, minimal 1.
limitintegerTidak100Jumlah data per halaman, maksimum 1000.

Response

Response berhasil mengembalikan informasi filter, pagination, dan array data.

{
  "success": true,
  "filters": {
    "start_date": "2026-09-01",
    "end_date": "2026-09-30",
    "wilayah": null,
    "rayon": null,
    "zona": null
  },
  "pagination": {
    "page": 1,
    "limit": 100,
    "total": 1250,
    "total_pages": 13
  },
  "data": [
    {
      "idEksekusi": 5239,
      "idUser": 10,
      "tanggal": "2026-09-01",
      "wilayah": "CIKUPA",
      "jenis": "TAGGING",
      "latitude": "0.507068",
      "longitude": "101.447779",
      "rayon": "KALIMUTU",
      "keterangan": "Contoh keterangan",
      "foto": "foto.jpg",
      "fotohasil": "foto1.jpg",
      "kategori": "Prioritas 1",
      "status": "",
      "tanggalperawatan": "2026-09-02",
      "fotohasil": "",
      "inspektor": "Inspektor",
      "eksekutor": "Eksekutor",
      "kode": "K001",
      "siklus": "1",
      "zona": "ZONA 1",
      "potensi": "5",
      "jumlahtebang": 0,
      "ups": "UP3 CIKUPA",
      "tanggalapprovetl": "2026-09-02",
      "tanggalapprovemulp": "2026-09-02",
      "approve1": "",
      "approve2": "",
      "updateby": "",
      "segmen": ""
    }
  ]
}

HTTP Status & Errors

StatusKeterangan
200Request berhasil.
401API Key tidak ada atau tidak valid.
405HTTP method tidak didukung.
422Parameter tanggal/pagination tidak valid atau rentang tanggal lebih dari 31 hari.
429Rate limit terlampaui.
500Internal server error.

Contoh error tanggal

{
  "success": false,
  "message": "start_date and end_date are required"
}

Rate Limit

Rate limit diterapkan secara terpusat pada API. Jika batas request terlampaui, API mengembalikan HTTP 429.

{
  "success": false,
  "message": "Rate limit exceeded",
  "retry_after_seconds": 42
}

Tunggu sesuai nilai retry_after_seconds sebelum melakukan request berikutnya.

Code Examples

JavaScript

const url =
  "https://apis.pendekarcikupa.com/api/v1/tagging" +
  "?start_date=2026-09-01" +
  "&end_date=2026-09-30" +
  "&page=1&limit=100";

fetch(url, {
  method: "GET",
  headers: {
    "X-API-Key": "YOUR_API_KEY"
  }
})
.then(response => response.json())
.then(data => console.log(data));

PHP

<?php

$url = "https://apis.pendekarcikupa.com/api/v1/tagging"
     . "?start_date=2026-09-01"
     . "&end_date=2026-09-30"
     . "&page=1&limit=100";

$ch = curl_init($url);

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "X-API-Key: YOUR_API_KEY"
    ]
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);

Python

import requests

url = "https://apis.pendekarcikupa.com/api/v1/tagging"

params = {
    "start_date": "2026-09-01",
    "end_date": "2026-09-30",
    "page": 1,
    "limit": 100
}

headers = {
    "X-API-Key": "YOUR_API_KEY"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())

Security

API Key adalah credential. Jangan memasukkannya ke URL, Git repository publik, screenshot, atau frontend JavaScript yang dapat dilihat user.
  • Gunakan HTTPS.
  • Simpan API Key di environment/config private.
  • Jangan commit API Key ke repository public.
  • Jika key bocor, kami akan segera menonaktifkan dan request key baru.
  • Jangan mengirim API Key melalui query string.