# Rekam Draft CK-1C

## Introduction

* Purpose: API ini digunakan untuk rekam draft CK1-C modul pelunasan
* Overview: Proses rekam draft CK-1C mensyaratkan 2 object data dalam bentuk JSON yaitu Header dan Detail

## Path API

<mark style="color:green;">`POST`</mark> `{API_URL}/ck1c/draft/rekam-ck1c`

## Authorization

<table><thead><tr><th width="181">Name</th><th width="126">Type </th><th>Description</th></tr></thead><tbody><tr><td>Authorization</td><td>String</td><td>Bearer Token yang didapatkan dari hasil otorisasi</td></tr></tbody></table>

## Request Structure

Top-Level Object: Struktur data Dalam Bentuk Top Level JSON Schema

```
{
  "header": { ... },
  "details": [ ... ]
}
```

### Header Section

<table><thead><tr><th width="244">Parameter Name</th><th width="101">Type</th><th>Description</th><th>Example Value</th></tr></thead><tbody><tr><td>kodeKantor</td><td>String</td><td>Kode unik yang mewakili kantor bea cukai yang menangani proses ini</td><td>150300</td></tr><tr><td>namaKantor</td><td>String</td><td>Nama kantor</td><td>KPPBC TMP A TANGERANG</td></tr><tr><td>idNppbkc</td><td>String</td><td>Identifikasi unik untuk nomor pokok pengusaha barang kena cukai (NPPBKC)</td><td>126b1230-0162-c3f4-e064-0208207a4329</td></tr><tr><td>nppbkc</td><td>String</td><td>Nomor pokok pengusaha barang kena cukai (NPPBKC)</td><td>0014539407415000150312</td></tr><tr><td>npwp</td><td>String</td><td>Nomor Pokok Wajib Pajak (NPWP) perusahaan</td><td>14539407415000</td></tr><tr><td>namaPerusahaan</td><td>String</td><td>Nama perusahaan</td><td>PANJANG JIWO, PT.</td></tr><tr><td>alamatPerusahaan</td><td>String</td><td>Alamat lengkap perusahaan</td><td>Jalan Yos Sudarso No.147 RT 004 RW 002 Kel. Kebon Besar Kec. Batu Ceper Kota Tangerang, Banten</td></tr><tr><td>caraBayar</td><td>String</td><td>Metode pembayaran yang digunakan</td><td>K (contoh: Kartu Kredit, Transfer Bank)</td></tr><tr><td>flagBatal</td><td>String</td><td>Indikator apakah dokumen ini dibatalkan atau tidak (N berarti tidak dibatalkan, Y berarti dibatalkan)</td><td>N</td></tr><tr><td>namaPemohon</td><td>String</td><td>Nama pemohon yang mengajukan permohonan</td><td>HENDRY</td></tr><tr><td>status</td><td>String</td><td>Status dokumen atau transaksi ini</td><td>K</td></tr><tr><td>flagFinal</td><td>String</td><td>Indikator apakah dokumen ini sudah final (N berarti belum final, Y berarti final).</td><td>N</td></tr><tr><td>flagInhouse</td><td>String</td><td>Indikator apakah proses ini dilakukan di Inhouse</td><td>N</td></tr><tr><td>jumlahCukaiPembulatan</td><td>Integer</td><td>Jumlah cukai setelah pembulatan</td><td>0</td></tr><tr><td>jumlahCukaiDibayar</td><td>Integer</td><td>Jumlah cukai yang telah dibayarkan</td><td>0</td></tr></tbody></table>

### Detail Section

<table><thead><tr><th width="213">Parameter Name</th><th width="123">Type</th><th>Description</th><th>Example Value</th></tr></thead><tbody><tr><td>key</td><td>Integer</td><td>Kunci atau identifikasi data detail dalam daftar</td><td>0</td></tr><tr><td>idMerk</td><td>String</td><td>Identifikasi unik untuk merek produk</td><td>1322b84f-3879-08af-e064-0208207a4329</td></tr><tr><td>Merek</td><td>String</td><td>Nama merek dari produk barang kena cukai</td><td>MIXMAX - ICE GLACIER</td></tr><tr><td>Jenis</td><td>String</td><td>Jenis atau kategori dari produk</td><td>Lainnya</td></tr><tr><td>IsiM</td><td>Integer</td><td>Kapasitas isi produk per kemasan dalam mililiter</td><td>275</td></tr><tr><td>IsiL</td><td>Float</td><td>Kapasitas isi produk per kemasan dalam liter</td><td>275</td></tr><tr><td>Tarif</td><td>Integer</td><td>Tarif cukai yang dikenakan per satuan produk</td><td>16500</td></tr><tr><td>jumlahKemasanValue</td><td>String</td><td>Jumlah kemasan produk dalam dokumen ini</td><td>200</td></tr><tr><td>JumlahKemasan</td><td>Object</td><td>Objek yang mewakili jumlah kemasan produk, mencakup informasi tambahan</td><td>{ "key": null, "ref": null, "props": { "children": { "key": null, ... } } }</td></tr><tr><td>AwalBerlaku</td><td>Date</td><td>Tanggal mulai berlakunya tarif cukai</td><td>2024-01-01</td></tr><tr><td>TujuanPemasaran</td><td>String</td><td>Tujuan atau area pemasaran</td><td>null</td></tr><tr><td>Cukai</td><td>Float</td><td>Jumlah total cukai yang harus dibayar</td><td>9.075.000.000.000.000</td></tr><tr><td>namaMerk</td><td>String</td><td>Nama merek dari produk</td><td>MIXMAX - ICE GLACIER</td></tr><tr><td>idJenisKemasan</td><td>Integer</td><td>Identifikasi jenis kemasan produk</td><td>1</td></tr><tr><td>namaJenisKemasan</td><td>String</td><td>Deskripsi jenis kemasan yang digunakan</td><td>Lainnya</td></tr><tr><td>jumlahKemasan</td><td>String</td><td>Jumlah kemasan produk</td><td>200</td></tr><tr><td>isiMililiter</td><td>Integer</td><td>Isi per kemasan dalam mililiter</td><td>275</td></tr><tr><td>jumlahMililiter</td><td>Integer</td><td>Total isi dalam mililiter</td><td>275</td></tr><tr><td>isiLiter</td><td>Float</td><td>Isi per kemasan dalam liter</td><td>275</td></tr><tr><td>jumlahLiter</td><td>Float</td><td>Total isi dalam liter</td><td>275</td></tr><tr><td>tarifCukai</td><td>Integer</td><td>Tarif cukai yang dikenakan</td><td>16500</td></tr><tr><td>jumlahCukai</td><td>Float</td><td>Jumlah total cukai yang harus dibayarkan</td><td>9.075.000.000.000.000</td></tr></tbody></table>

## JSONSchema Rekam Draft CK-1C

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "Schema Rekam Draft CK-1C",
  "description": "JSON Schema untuk Rekam Draft CK-1C.",
  "properties": {
    "header": {
      "type": "object",
      "description": "Data header dokumen pabean.",
      "properties": {
        "kodeKantor": {
          "type": "string",
          "description": "Kode kantor pengirim."
        },
        "namaKantor": {
          "type": "string",
          "description": "Nama kantor pengirim."
        },
        "idNppbkc": {
          "type": "string",
          "format": "uuid",
          "description": "ID NPPBKC."
        },
        "nppbkc": {
          "type": "string",
          "description": "NPPBKC, harus terdiri dari 22 digit."
        },
        "npwp": {
          "type": "string",
          "description": "NPWP, harus terdiri dari 16 digit."
        },
        "namaPerusahaan": {
          "type": "string",
          "description": "Nama perusahaan."
        },
        "alamatPerusahaan": {
          "type": "string",
          "description": "Alamat perusahaan."
        },
        "caraBayar": {
          "type": "string",
          "description": "Cara bayar."
        },
        "flagBatal": {
          "type": "string",
          "description": "Flag batal."
        },
        "namaPemohon": {
          "type": "string",
          "description": "Nama pemohon."
        },
        "status": {
          "type": "string",
          "description": "Status."
        },
        "flagFinal": {
          "type": "string",
          "description": "Flag final."
        },
        "flagInhouse": {
          "type": "string",
          "description": "Flag inhouse."
        },
        "jumlahCukaiPembulatan": {
          "type": "number",
          "description": "Jumlah cukai pembulatan."
        },
        "jumlahCukaiDibayar": {
          "type": "number",
          "description": "Jumlah cukai yang dibayar."
        }
      },
      "required": [
        "kodeKantor",
        "namaKantor",
        "idNppbkc",
        "nppbkc",
        "npwp",
        "namaPerusahaan",
        "alamatPerusahaan",
        "caraBayar",
        "flagBatal",
        "namaPemohon",
        "status",
        "flagFinal",
        "flagInhouse",
        "jumlahCukaiPembulatan",
        "jumlahCukaiDibayar"
      ],
      "message": {
        "required": "Wajib mengisi semua field pada header."
      }
    },
    "details": {
      "type": "array",
      "description": "Data detil barang pada dokumen pabean.",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "integer",
            "description": "Key index untuk detil barang."
          },
          "idMerk": {
            "type": "string",
            "format": "uuid",
            "description": "ID merk barang."
          },
          "Merek": {
            "type": "string",
            "description": "Merek barang."
          },
          "Jenis": {
            "type": "string",
            "description": "Jenis barang."
          },
          "IsiM": {
            "type": "integer",
            "description": "Isi kemasan dalam mililiter."
          },
          "IsiL": {
            "type": "number",
            "description": "Isi kemasan dalam liter."
          },
          "Tarif": {
            "type": "integer",
            "description": "Tarif cukai per unit."
          },
          "jumlahKemasanValue": {
            "type": "string",
            "description": "Jumlah kemasan sebagai string."
          },
          "JumlahKemasan": {
            "type": "object",
            "description": "Jumlah kemasan yang didefinisikan dalam objek.",
            "properties": {
              "key": {
                "type": "integer",
                "description": "Key dari objek jumlah kemasan."
              },
              "ref": {
                "type": "string",
                "description": "Referensi objek jumlah kemasan"
              },
              "props": {
                "type": "object",
                "properties": {
                  "children": {
                    "type": "object",
                    "properties": {
                      "key": {
                        "type": "string",
                        "description": "Key dari anak objek"
                      },
                      "ref": {
                        "type": "string",
                        "description": "Referensi objek anak."
                      },
                      "props": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Tipe data."
                          },
                          "style": {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "string",
                                "description": "Lebar style."
                              }
                            },
                            "description": "Style objek."
                          },
                          "value": {
                            "type": "string",
                            "description": "Nilai kemasan sebagai string."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "AwalBerlaku": {
            "type": "string",
            "format": "date",
            "description": "Tanggal mulai berlaku."
          },
          "TujuanPemasaran": {
            "type": "string",
            "description": "Tujuan pemasaran, bisa null."
          },
          "Cukai": {
            "type": "number",
            "description": "Jumlah cukai."
          },
          "namaMerk": {
            "type": "string",
            "description": "Nama merk barang."
          },
          "idJenisKemasan": {
            "type": "integer",
            "description": "ID jenis kemasan."
          },
          "namaJenisKemasan": {
            "type": "string",
            "description": "Nama jenis kemasan."
          },
          "jumlahKemasan": {
            "type": "string",
            "description": "Jumlah kemasan sebagai string."
          },
          "isiMililiter": {
            "type": "integer",
            "description": "Isi kemasan dalam mililiter."
          },
          "jumlahMililiter": {
            "type": "integer",
            "description": "Jumlah mililiter."
          },
          "isiLiter": {
            "type": "number",
            "description": "Isi kemasan dalam liter."
          },
          "jumlahLiter": {
            "type": "number",
            "description": "Jumlah liter."
          },
          "tarifCukai": {
            "type": "integer",
            "description": "Tarif cukai per unit."
          },
          "jumlahCukai": {
            "type": "number",
            "description": "Jumlah cukai."
          }
        },
        "required": [
          "key",
          "idMerk",
          "Merek",
          "Jenis",
          "IsiM",
          "IsiL",
          "Tarif",
          "jumlahKemasanValue",
          "JumlahKemasan",
          "AwalBerlaku",
          "TujuanPemasaran",
          "Cukai",
          "namaMerk",
          "idJenisKemasan",
          "namaJenisKemasan",
          "jumlahKemasan",
          "isiMililiter",
          "jumlahMililiter",
          "isiLiter",
          "jumlahLiter",
          "tarifCukai",
          "jumlahCukai"
        ],
        "message": {
          "required": "Wajib mengisi semua field pada detil barang."
        }
      }
    }
  },
  "required": [
    "header",
    "details"
  ],
  "message": {
    "required": "Wajib mengisi data header dan details."
  }
}

```

## JSON Example : Rekam Draft CK-1C

```json
{
  "header": {
    "kodeKantor": "150300",
    "namaKantor": "KPPBC TMP A TANGERANG",
    "idNppbkc": "126b1230-0162-c3f4-e064-0208207a4329",
    "nppbkc": "0014539407415000150312",
    "npwp": "0014539407415000",
    "namaPerusahaan": "PANJANG JIWO, PT.",
    "alamatPerusahaan": "Jalan Yos Sudarso No.147 RT 004 RW 002 Kel. Kebon Besar Kec. Batu Ceper Kota Tangerang, Banten",
    "caraBayar": "K",
    "flagBatal": "N",
    "namaPemohon": "HENDRY",
    "status": "K",
    "flagFinal": "N",
    "flagInhouse": "N",
    "jumlahCukaiPembulatan": 0,
    "jumlahCukaiDibayar": 0
  },
  "details": [
    {
      "key": 0,
      "idMerk": "1322b84f-3879-08af-e064-0208207a4329",
      "Merek": "MIXMAX - ICE GLACIER",
      "Jenis": "Lainnya",
      "IsiM": 275,
      "IsiL": 0.275,
      "Tarif": 16500,
      "jumlahKemasanValue": "200",
      "JumlahKemasan": {
        "key": null,
        "ref": null,
        "props": {
          "children": {
            "key": null,
            "ref": null,
            "props": {
              "type": "number",
              "style": {
                "width": "100%"
              },
              "value": "200"
            },
            "_owner": null
          }
        },
        "_owner": null
      },
      "AwalBerlaku": "2024-01-01",
      "TujuanPemasaran": "null",
      "Cukai": 907500.0000000001,
      "namaMerk": "MIXMAX - ICE GLACIER",
      "idJenisKemasan": 1,
      "namaJenisKemasan": "Lainnya",
      "jumlahKemasan": "200",
      "isiMililiter": 275,
      "jumlahMililiter": 275,
      "isiLiter": 0.275,
      "jumlahLiter": 0.275,
      "tarifCukai": 16500,
      "jumlahCukai": 907500.0000000001
    }
  ]
}
```

## Validation Rules

| Field                 | Rules                            |
| --------------------- | -------------------------------- |
| idNppbkc              | Harus merupakan UUID yang valid. |
| jumlahCukaiPembulatan | Harus berupa angka positif       |
| jumlahCukaiDibayar    | Harus berupa angka positif       |
| idMerk                | Harus merupakan UUID yang valid. |
| IsiM                  | Harus berupa angka positif       |
| IsiL                  | Harus berupa angka positif       |
| Tarif                 | Harus berupa angka positif       |
| jumlahKemasanValue    | Harus berupa angka positif       |
| JumlahKemasan         | Harus berupa angka positif       |
| AwalBerlaku           | Harus dalam format YYYY-MM-DD    |
| Cukai                 | Harus berupa angka positif       |
| jumlahKemasan         | Harus berupa angka positif       |
| isiMililiter          | Harus berupa angka positif       |
| jumlahMililiter       | Harus berupa angka positif       |
| isiLiter              | Harus berupa angka positif       |
| jumlahLiter           | Harus berupa angka positif       |
| tarifCukai            | Harus berupa angka positif       |
| jumlahCukai           | Harus berupa angka positif       |

## Response

{% tabs %}
{% tab title="200" %}

```json
{
  "message": "Success",
  "status": true,
  "data": null
}
```

{% endtab %}
{% endtabs %}

## Potential Error

<table><thead><tr><th width="189">Status Code</th><th width="213">Description</th><th>Reason</th></tr></thead><tbody><tr><td>400 Bad Request</td><td>Permintaan tidak valid</td><td>Parameter tidak lengkap atau format tidak sesuai</td></tr><tr><td>401 Unauthorized</td><td>Otentikasi gagal</td><td>Bearer Token tidak valid atau tidak disertakan dalam header permintaan</td></tr><tr><td>404 Not Found</td><td>Dokumen tidak ditemukan</td><td>Data tidak ditemukan berdasarkan parameter yang diberikan</td></tr></tbody></table>
