sandrocods / API-Cek

Simple Rest API & Web Apps untuk Cek tagihan PDAM, listrik prabayar, listrik pascabayar, dan BPJS Kesehatan

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

API Cek πŸ“‘πŸ—“

"Cek tagihan" adalah sebuah istilah yang merujuk pada proses memeriksa jumlah uang yang harus dibayarkan oleh seseorang atas layanan atau produk yang telah diberikan oleh pihak lain. Biasanya, tagihan ini berisi rincian mengenai jenis layanan atau produk yang digunakan, jumlah yang harus dibayar, dan tanggal jatuh tempo pembayaran. Dengan melakukan "cek tagihan", seseorang dapat memastikan bahwa tagihan yang diterima sesuai dengan layanan atau produk yang telah digunakan. Dibuat menggunakan bahasa pemrograman Python3 dan metode scraping. Scraping adalah teknik ekstraksi data yang dilakukan dengan cara mengambil informasi dari sebuah website bukalapak secara otomatis, menggunakan library atau framework tertentu

Project ini dibuat untuk tujuan pengembangan dan pembelajaran

πŸ“š Daftar Isi

Library

Fitur

Nama Status
prepaidInquiries ( Token Listrik ) βœ…
postpaidInquiries ( Tagihan Listrik ) βœ…
pdamInquiries ( Tagihan PDAM ) βœ…
bpjsKesehatanInquiries ( Tagihan BPJS ) βœ…
Rest API βœ…
Rest API Documentation βœ…
Web App βœ…

Cara Penggunaan

library ini dapat digunakan secara langsung dengan mengimport file sesuai dengan fitur yang diinginkan yang terdapat pada folder src

# Import library untuk mengecek tagihan listrik prabayar
from src.prepaidInquiries import prepaidInquiries

# panggil class prepaidInquiries dan method _get_data()
# parameter pertama adalah customer_number (nomor pelanggan)

print(
    prepaidInquiries(
        customer_number="xxxxxxxxxxx"
    )._get_data()
)

# contoh output jika berhasil
# {
#     "status": True,
#     "customer_number": "xxxxxx",
#     "customer_name": "x xxxx xxxxxx",
#     "segmentation": "R1",
#     "power": 2200
# }

# contoh output jika gagal
# {
#    "status": False,
#    "customer_number": "xxxxxx"
# }

Refrensi

Berikut adalah contoh output dan parameter dari beberapa method yang terdapat pada library ini

Prepaid Inquiries

Prepaid Inquiries adalah sebuah class yang digunakan untuk mengecek tagihan listrik prabayar

Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan

Contoh output jika berhasil

{
  "status": true,
  "customer_number": "xxxxxx",
  "customer_name": "x xxxx xxxxxx",
  "segmentation": "R1",
  "power": 2200
}

Contoh output jika gagal

{
  "status": false,
  "customer_number": "xxxxxx"
}

Postpaid Inquiries

Postpaid Inquiries adalah sebuah class yang digunakan untuk mengecek tagihan listrik pascabayar

Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan

Contoh output jika berhasil

{
  "status": true,
  "customer_number": "xxxxxx",
  "customer_name": "xxxxx xxxxxx",
  "segmentation": "R1",
  "power": 450,
  "period": [
    "2023-03-01"
  ],
  "stand_meter": "00015338 - 00015445",
  "amount": 52230
}

Contoh output jika gagal

{
  "status": false,
  "customer_number": "xxxxxx",
  "message": "Nomor tidak terdaftar"
}

PDAM Inquiries

PDAM Inquiries adalah sebuah class yang digunakan untuk mengecek tagihan PDAM

Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan
operator_id String ID operator

Contoh output jika berhasil

{
  "status": true,
  "customer_number": "xxxxxx",
  "customer_name": "xxxxx xxxxxx",
  "bills": [
    {
      "usage": "0000013780",
      "start_meter": 486000,
      "end_meter": 499780,
      "address": "-",
      "admin_fee": 3000,
      "penalty_fee": 5000,
      "bill_period": "2023-02-01",
      "amount": 73156,
      "cubication": "486000-499780"
    }
  ]
}

Contoh output jika gagal

{
  "status": false,
  "customer_number": "xxxxxx",
  "message": "Tagihan tidak ditemukan atau sudah dibayar"
}

Mengambil ID operator

Data telah di sort berdasarkan group

from src.pdamInquiries import pdamInquiries

print(
    pdamInquiries("xxxx")._get_operators()
)

# Output
# {
#     "status": true,
#     "data": [
#         {
#             "id": 471,
#             "name": "PDAM  Kota Banda Aceh",
#             "group": "Aceh"
#         },
#         {
#             "id": 486,
#             "name": "PDAM Kab. Aceh Barat",
#             "group": "Aceh"
#         },
#         .. dan seterusnya
#     ]
# }

BPJS Kesehatan Inquiries

BPJS Kesehatan Inquiries adalah sebuah class yang digunakan untuk mengecek tagihan BPJS Kesehatan

Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan

Contoh output jika berhasil

{
  "status": true,
  "customer_number": "xxxxxx",
  "customer_name": "xxxxx xxxxxx",
  "count_family_members": 4,
  "amount": 142500
}

Contoh output jika gagal

{
  "status": false,
  "customer_number": "0000003137160351",
  "message": "Tagihan tidak ditemukan atau sudah dibayar"
}

Rest api

Jika anda ingin melakukan request secara langsung, anda dapat menggunakan rest api yang telah disediakan dengan menggunakan Swagger API Documentation berikut

Untuk menggunakan rest api, anda harus menggunakan BASE_URL berikut ini

BASE_URL = http://47.88.53.4:1111/api/

Berikut adalah refrensi rest api yang tersedia pada aplikasi ini

GET /prepaidInquiries/{customer_number}
Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan
GET /postpaidInquiries/{customer_number}
Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan
GET /pdamInquiries/{customer_number}/{operator_id}
Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan
operator_id String ID operator
GET /bpjsKesehatanInquiries/{customer_number}
Parameter Tipe Data Keterangan
customer_number String Nomor pelanggan

Deployment

Untuk melakukan deploy ke server production pada project ini menggunakan library waitress

langkah-langkahnya sebagai berikut :

  1. Git clone repository ini
git clone https://github.com/sandrocods/API-Cek
  1. Masuk ke folder API-Cek
cd API-Cek
  1. Install requirements
pip3 install -r requirements.txt
  1. install waitress
pip3 install waitress
  1. Jalankan waitress dengan command berikut
waitress-serve --host 127.0.0.1 --port 5000 server:app

Jika berhasil maka akan muncul output seperti berikut di terminal

INFO:waitress:Serving on http://127.0.0.0:5000

Web App

Untuk menggunakan web app yang telah didesain untuk mempermudah penggunaan API ini, anda dapat mengunjungi link berikut ini Web App

img.png

About

Simple Rest API & Web Apps untuk Cek tagihan PDAM, listrik prabayar, listrik pascabayar, dan BPJS Kesehatan


Languages

Language:Python 64.5%Language:HTML 35.5%