# Simpan P3C Pengecualian

## Introduction

* Purpose: API ini digunakan untuk simpan P3C pengecualian
* Overview: Proses simpan P3C pengecualian mensyaratkan 2 object data dalam bentuk JSON yaitu Header dan Detail

## Path API

<mark style="color:green;">`POST`</mark> `{API_URL}/perekaman-p3c-pengecualian/h2h/simpanP3cPengecualian`

## 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 (saveHeaderPojo)

<table><thead><tr><th width="219">Parameter Name</th><th width="113">Type</th><th>Description</th><th>Example Value</th></tr></thead><tbody><tr><td>alamatPerusahaan</td><td>String</td><td>Alamat dari perusahaan</td><td>-</td></tr><tr><td>ambilPitaCukai</td><td>String</td><td>Tipe pengambilan pita cukai</td><td>KP</td></tr><tr><td>bulanPersediaan</td><td>String</td><td>Bulan persediaan barang kena cukai</td><td>82023</td></tr><tr><td>idJenisBkc</td><td>String</td><td>ID jenis barang kena cukai</td><td>3</td></tr><tr><td>idJenisPeriodeP3c</td><td>String</td><td>ID jenis periode pelaporan P3C</td><td>1</td></tr><tr><td>idNppbkc</td><td>String</td><td>ID NPPBKC (Nomor Pokok Pengusaha Barang Kena Cukai)</td><td>fe3c9198-1065-05e6-e054-0021f60abd54</td></tr><tr><td>kodeKantor</td><td>String</td><td>Kode kantor</td><td>70600</td></tr><tr><td>namaJenisBkc</td><td>String</td><td>Nama jenis barang kena cukai</td><td>HT</td></tr><tr><td>namaJenisPeriodeP3C</td><td>String</td><td>Nama jenis periode pelaporan P3C</td><td>Awal</td></tr><tr><td>namaKantor</td><td>String</td><td>Nama kantor</td><td>KPPBC TMC MALANG</td></tr><tr><td>namaPejabat</td><td>String</td><td>Nama pejabat yang berwenang</td><td>ALOYSIUS RADJA SINGAL BBPS</td></tr><tr><td>namaPerusahaan</td><td>String</td><td>Nama perusahaan yang melaporkan</td><td>BENTOEL PRIMA, PT</td></tr><tr><td>nomorP3C</td><td>String</td><td>Nomor P3C</td><td>123</td></tr><tr><td>nppbkc</td><td>String</td><td>Nomor Pokok Pengusaha Barang Kena Cukai</td><td>0015866924651000070623</td></tr><tr><td>npwp</td><td>String</td><td>Nomor Pokok Wajib Pajak</td><td>15866924651000</td></tr><tr><td>status</td><td>String</td><td>Status pelaporan</td><td>-</td></tr><tr><td>tanggalP3C</td><td>Date</td><td>Tanggal pelaporan P3C</td><td>2023-08-21</td></tr><tr><td>tanggalPermohonan</td><td>Date</td><td>Tanggal permohonan pelaporan</td><td>2023-08-21</td></tr></tbody></table>

### Detail Section (savePitaCukaiDto)

<table><thead><tr><th width="223">Parameter Name</th><th width="124">Type</th><th>Description</th><th>Example Value</th></tr></thead><tbody><tr><td>hje</td><td>String</td><td>Harga Jual Eceran</td><td>25101</td></tr><tr><td>idGolonganBkc</td><td>String</td><td>ID golongan barang kena cukai</td><td>3</td></tr><tr><td>idJenisPitaCukai</td><td>String</td><td>ID jenis pita cukai</td><td>c9a4e440-811b-4073-81e8-f85d0bc85560</td></tr><tr><td>idJenisProduksiBkc</td><td>String</td><td>ID jenis produksi barang kena cukai</td><td>6</td></tr><tr><td>idSeripita</td><td>String</td><td>ID seri pita</td><td>3</td></tr><tr><td>isiVolume</td><td>String</td><td>Volume isi per kemasan</td><td>25</td></tr><tr><td>jumlahCukai</td><td>String</td><td>Jumlah cukai yang dikenakan</td><td>0</td></tr><tr><td>jumlahPesan</td><td>String</td><td>Jumlah pesan pita cukai</td><td>212</td></tr><tr><td>jumlahRekomendasi</td><td>String</td><td>Jumlah rekomendasi pengambilan pita cukai</td><td>0</td></tr><tr><td>kodeJenisProduksiBkc</td><td>String</td><td>Kode jenis produksi barang kena cukai</td><td>SKM</td></tr><tr><td>kodeWarna</td><td>String</td><td>Kode warna pita cukai</td><td>JI</td></tr><tr><td>maksimalPesan</td><td>String</td><td>Jumlah maksimal pesan pita cukai</td><td>0</td></tr><tr><td>namaGolonganBkc</td><td>String</td><td>Nama golongan barang kena cukai</td><td>III</td></tr><tr><td>namaSeripita</td><td>String</td><td>Nama seri pita</td><td>-</td></tr><tr><td>personalisasi</td><td>String</td><td>Kode personalisasi untuk produk</td><td>BINSAYIN00</td></tr><tr><td>tahunPita</td><td>String</td><td>Tahun pita cukai</td><td>2023</td></tr><tr><td>tarif</td><td>String</td><td>Tarif cukai</td><td>669</td></tr><tr><td>warna</td><td>String</td><td>Warna pita cukai</td><td>JINGGA</td></tr><tr><td>flagKawasanBebas</td><td>String</td><td>Indikator apakah kawasan bebas</td><td>N</td></tr><tr><td>kodeSatuan</td><td>String</td><td>Satuan volume barang kena cukai</td><td>btg</td></tr></tbody></table>

## JSONSchema Simpan P3C Pengecualian

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "Schema Simpan P3C Pengecualian",
  "description": "JSON Schema untuk Simpan P3C Pengecualian.",
  "properties": {
    "saveHeaderPojo": {
      "type": "object",
      "description": "Data header dokumen pabean.",
      "properties": {
        "alamatPerusahaan": {
          "type": "string",
          "description": "Alamat perusahaan."
        },
        "ambilPitaCukai": {
          "type": "string",
          "description": "Ambil pita cukai."
        },
        "bulanPersediaan": {
          "type": "string",
          "description": "Bulan persediaan, format MMYYYY."
        },
        "idJenisBkc": {
          "type": "integer",
          "description": "ID jenis BKC."
        },
        "idJenisPeriodeP3c": {
          "type": "integer",
          "description": "ID jenis periode P3C."
        },
        "idNppbkc": {
          "type": "string",
          "format": "uuid",
          "description": "ID NPPBKC."
        },
        "kodeKantor": {
          "type": "string",
          "description": "Kode kantor."
        },
        "namaJenisBkc": {
          "type": "string",
          "description": "Nama jenis BKC."
        },
        "namaJenisPeriodeP3C": {
          "type": "string",
          "description": "Nama jenis periode P3C."
        },
        "namaKantor": {
          "type": "string",
          "description": "Nama kantor."
        },
        "namaPejabat": {
          "type": "string",
          "description": "Nama pejabat."
        },
        "namaPerusahaan": {
          "type": "string",
          "description": "Nama perusahaan."
        },
        "nomorP3C": {
          "type": "string",
          "description": "Nomor P3C."
        },
        "nppbkc": {
          "type": "string",
          "description": "NPPBKC, harus terdiri dari 22 digit."
        },
        "npwp": {
          "type": "string",
          "description": "NPWP, harus terdiri dari 15 digit."
        },
        "status": {
          "type": "string",
          "description": "Status."
        },
        "tanggalP3C": {
          "type": "string",
          "format": "date",
          "description": "Tanggal P3C."
        },
        "tanggalPermohonan": {
          "type": "string",
          "format": "date",
          "description": "Tanggal permohonan."
        }
      },
      "required": [
        "alamatPerusahaan",
        "ambilPitaCukai",
        "bulanPersediaan",
        "idJenisBkc",
        "idJenisPeriodeP3c",
        "idNppbkc",
        "kodeKantor",
        "namaJenisBkc",
        "namaJenisPeriodeP3C",
        "namaKantor",
        "namaPejabat",
        "namaPerusahaan",
        "nomorP3C",
        "nppbkc",
        "npwp",
        "status",
        "tanggalP3C",
        "tanggalPermohonan"
      ],
      "message": {
        "required": "Wajib mengisi semua field pada saveHeaderPojo."
      }
    },
    "savePitaCukaiDto": {
      "type": "array",
      "description": "Data pita cukai.",
      "items": {
        "type": "object",
        "properties": {
          "hje": {
            "type": "integer",
            "description": "HJE."
          },
          "idGolonganBkc": {
            "type": "integer",
            "description": "ID golongan BKC."
          },
          "idJenisPitaCukai": {
            "type": "string",
            "format": "uuid",
            "description": "ID jenis pita cukai."
          },
          "idJenisProduksiBkc": {
            "type": "integer",
            "description": "ID jenis produksi BKC."
          },
          "idSeripita": {
            "type": "integer",
            "description": "ID seripita."
          },
          "isiVolume": {
            "type": "integer",
            "description": "Isi volume."
          },
          "jumlahCukai": {
            "type": "number",
            "description": "Jumlah cukai."
          },
          "jumlahPesan": {
            "type": "integer",
            "description": "Jumlah pesan."
          },
          "jumlahRekomendasi": {
            "type": "integer",
            "description": "Jumlah rekomendasi."
          },
          "kodeJenisProduksiBkc": {
            "type": "string",
            "description": "Kode jenis produksi BKC."
          },
          "kodeWarna": {
            "type": "string",
            "description": "Kode warna."
          },
          "maksimalPesan": {
            "type": "integer",
            "description": "Maksimal pesan."
          },
          "namaGolonganBkc": {
            "type": "string",
            "description": "Nama golongan BKC."
          },
          "namaSeripita": {
            "type": "string",
            "description": "Nama seripita."
          },
          "personalisasi": {
            "type": "string",
            "description": "Personalisasi."
          },
          "tahunPita": {
            "type": "integer",
            "description": "Tahun pita."
          },
          "tarif": {
            "type": "integer",
            "description": "Tarif."
          },
          "warna": {
            "type": "string",
            "description": "Warna."
          },
          "flagKawasanBebas": {
            "type": "string",
            "description": "Flag kawasan bebas."
          },
          "kodeSatuan": {
            "type": "string",
            "description": "Kode satuan."
          }
        },
        "required": [
          "hje",
          "idGolonganBkc",
          "idJenisPitaCukai",
          "idJenisProduksiBkc",
          "idSeripita",
          "isiVolume",
          "jumlahCukai",
          "jumlahPesan",
          "jumlahRekomendasi",
          "kodeJenisProduksiBkc",
          "kodeWarna",
          "maksimalPesan",
          "namaGolonganBkc",
          "namaSeripita",
          "personalisasi",
          "tahunPita",
          "tarif",
          "warna",
          "flagKawasanBebas",
          "kodeSatuan"
        ],
        "message": {
          "required": "Wajib mengisi semua field pada savePitaCukaiDto."
        }
      }
    }
  },
  "required": [
    "saveHeaderPojo",
    "savePitaCukaiDto"
  ],
  "message": {
    "required": "Wajib mengisi data saveHeaderPojo dan savePitaCukaiDto."
  }
}

```

## JSON Example : Simpan P3C Pengecualian

```json
{
    "saveHeaderPojo": {
        "alamatPerusahaan": "-",
        "ambilPitaCukai": "KP",
        "bulanPersediaan": "082023",
        "idJenisBkc": 3,
        "idJenisPeriodeP3c": 1,
        "idNppbkc": "fe3c9198-1065-05e6-e054-0021f60abd54",
        "kodeKantor": "070600",
        "namaJenisBkc": "HT",
        "namaJenisPeriodeP3C": "Awal",
        "namaKantor": "KPPBC TMC MALANG",
        "namaPejabat": "ALOYSIUS RADJA SINGAL BBPS",
        "namaPerusahaan": "BENTOEL PRIMA, PT",
        "nomorP3C": "123",
        "nppbkc": "0015866924651000070623",
        "npwp": "015866924651000",
        "status": "-",
        "tanggalP3C": "2023-08-21",
        "tanggalPermohonan": "2023-08-21"
    },
    "savePitaCukaiDto": [
        {
            "hje": 25101,
            "idGolonganBkc": 3,
            "idJenisPitaCukai": "c9a4e440-811b-4073-81e8-f85d0bc85560",
            "idJenisProduksiBkc": 6,
            "idSeripita": 3,
            "isiVolume": 25,
            "jumlahCukai": 0,
            "jumlahPesan": 212,
            "jumlahRekomendasi": 0,
            "kodeJenisProduksiBkc": "SKM",
            "kodeWarna": "JI",
            "maksimalPesan": 0,
            "namaGolonganBkc": "III",
            "namaSeripita": "-",
            "personalisasi": "BINSAYIN00",
            "tahunPita": 2023,
            "tarif": 669,
            "warna": "JINGGA",
            "flagKawasanBebas": "N",
            "kodeSatuan" : "btg" 
        }
    ]
}
```

## Validation Rules

<table><thead><tr><th width="277">Field</th><th>Rules</th></tr></thead><tbody><tr><td>idNppbkc</td><td>Harus merupakan UUID yang valid.</td></tr><tr><td>tanggalP3C</td><td>Harus dalam format YYYY-MM-DD</td></tr><tr><td>tanggalPermohonan</td><td>Harus dalam format YYYY-MM-DD</td></tr><tr><td>idJenisPitaCukai</td><td>Harus merupakan UUID yang valid</td></tr><tr><td>jumlahCukai</td><td>Harus berupa angka positif</td></tr><tr><td>jumlahPesan</td><td>Harus berupa angka positif</td></tr><tr><td>jumlahRekomendasi</td><td>Harus berupa angka positif</td></tr></tbody></table>

## Response

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

```json
{
  "message": "Tidak Boleh Lanjut Dikarenakan Perusahaan Mempunyai Hutang",
  "status": true,
  "data": {
    "hutangPerusahaan": 4
  }
}
```

{% 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>
