Initial commit: API Wipay dengan fix CORS untuk GET request
This commit is contained in:
233
README.md
Normal file
233
README.md
Normal file
@@ -0,0 +1,233 @@
|
||||
# Timo Wipay API
|
||||
|
||||
API Application menggunakan Slim Framework 4 - Migrasi dari CodeIgniter
|
||||
|
||||
## Requirements
|
||||
|
||||
- PHP 8.1 atau lebih tinggi
|
||||
- Composer
|
||||
- MySQL Database: `timo` (sama dengan database timo.wipay.id)
|
||||
|
||||
## Installation
|
||||
|
||||
1. Install dependencies:
|
||||
|
||||
```bash
|
||||
composer install
|
||||
```
|
||||
|
||||
2. Setup environment:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
Edit file `.env` dan sesuaikan konfigurasi database jika diperlukan.
|
||||
|
||||
3. Generate autoload:
|
||||
|
||||
```bash
|
||||
composer dump-autoload
|
||||
```
|
||||
|
||||
## Konfigurasi Database
|
||||
|
||||
File `.env` sudah dikonfigurasi untuk menggunakan database yang sama dengan `timo.wipay.id`:
|
||||
|
||||
- Host: localhost
|
||||
- Database: timo
|
||||
- User: root
|
||||
- Password: dodolgarut
|
||||
|
||||
## Menjalankan Aplikasi
|
||||
|
||||
### Development Server
|
||||
|
||||
```bash
|
||||
composer start
|
||||
```
|
||||
|
||||
atau
|
||||
|
||||
```bash
|
||||
php -S localhost:8000 -t public
|
||||
```
|
||||
|
||||
Aplikasi akan berjalan di `http://localhost:8000`
|
||||
|
||||
## Struktur Folder
|
||||
|
||||
```
|
||||
timo.wipay.id_api/
|
||||
├── public/ # Web root (entry point)
|
||||
│ ├── index.php # Application bootstrap & routing
|
||||
│ └── .htaccess # Apache rewrite rules
|
||||
├── src/
|
||||
│ ├── Config/ # Configuration files
|
||||
│ │ └── Database.php
|
||||
│ ├── Controllers/ # API Controllers
|
||||
│ │ ├── AuthController.php
|
||||
│ │ ├── SLController.php
|
||||
│ │ └── TagihanController.php
|
||||
│ ├── Models/ # Database Models
|
||||
│ │ ├── UserModel.php
|
||||
│ │ └── SLModel.php
|
||||
│ ├── Services/ # Business Logic Services
|
||||
│ ├── Helpers/ # Helper functions
|
||||
│ │ ├── ResponseHelper.php
|
||||
│ │ ├── HttpHelper.php
|
||||
│ │ └── functions.php
|
||||
│ └── Middleware/ # Middleware (jika diperlukan)
|
||||
├── logs/ # Application logs
|
||||
├── vendor/ # Composer dependencies
|
||||
├── .env # Environment configuration
|
||||
├── .env.example # Environment template
|
||||
└── composer.json # Dependencies configuration
|
||||
```
|
||||
|
||||
## Endpoints yang Tersedia
|
||||
|
||||
### Authentication
|
||||
|
||||
- `POST /timo/daftar` - Registrasi user baru
|
||||
- `POST /timo/login` - Login dengan username & password
|
||||
- `POST /timo/login_token` - Login dengan password sudah di-hash
|
||||
- `POST /timo/update_akun` - Update data akun
|
||||
- `POST /timo/update_password` - Update password
|
||||
|
||||
### SL (Service Line) Management
|
||||
|
||||
- `POST /timo/cek_sl` - Cek validitas nomor SL
|
||||
- `POST /timo/confirm_sl` - Konfirmasi dan daftarkan SL
|
||||
- `POST /timo/hapus_sl` - Hapus SL dari akun
|
||||
|
||||
### Tagihan
|
||||
|
||||
- `GET /timo/history/{sl}/{periode}` - History tagihan
|
||||
- `GET /timo/tagihan/{sl}` - Data tagihan berdasarkan SL
|
||||
|
||||
### Pembayaran
|
||||
|
||||
- `POST /timo/request_pembayaran` - Request pembayaran tagihan
|
||||
- `POST /timo/cek_pembayaran` - Cek status pembayaran
|
||||
- `POST /timo/cek_transfer` - Cek transfer pembayaran
|
||||
- `POST /timo/batal_pembayaran` - Batalkan pembayaran
|
||||
- `POST /timo/confirm_pembayaran` - Konfirmasi pembayaran
|
||||
- `POST /timo/history_bayar` - History pembayaran (status DIBAYAR)
|
||||
|
||||
### Laporan
|
||||
|
||||
- `POST /timo/jenis_laporan` - Daftar jenis laporan gangguan
|
||||
- `POST /timo/history_gangguan` - History laporan gangguan user
|
||||
|
||||
### WIPAY
|
||||
|
||||
- `POST /timo/cek_wipay` - Cek saldo WIPAY
|
||||
|
||||
### Reset Password
|
||||
|
||||
- `POST /timo/buat_kode` - Buat kode verifikasi reset password
|
||||
- `POST /timo/cek_kode` - Cek validitas kode verifikasi
|
||||
- `POST /timo/reset_kode` - Reset password dengan kode verifikasi
|
||||
|
||||
### Upload
|
||||
|
||||
- `POST /timo/upload_catat_meter` - Upload foto catat meter (base64)
|
||||
- `POST /timo/upload_pp` - Upload foto profil (base64)
|
||||
- `POST /timo/hapus_pp` - Hapus foto profil
|
||||
- `POST /timo/upload_gangguan` - Upload laporan gangguan (base64)
|
||||
- `POST /timo/upload_pasang_baru` - Upload permintaan pasang baru (base64)
|
||||
- `POST /timo/upload_bukti_transfer` - Upload bukti transfer (base64)
|
||||
- `POST /timo/upload_baca_mandiri` - Upload hasil baca mandiri
|
||||
|
||||
### Lainnya
|
||||
|
||||
- `POST /timo/promo` - Daftar promo aktif
|
||||
- `POST /timo/riwayat_pasang` - Riwayat pasang baru
|
||||
- `POST /timo/jadwal_catat_meter` - Jadwal catat meter
|
||||
- `POST /timo/request_order_baca_mandiri` - Request order baca mandiri
|
||||
|
||||
### Utility
|
||||
|
||||
- `GET /` - Welcome message dengan daftar endpoints
|
||||
- `GET /health` - Health check endpoint
|
||||
|
||||
## Format Response
|
||||
|
||||
### Success Response
|
||||
|
||||
```json
|
||||
{
|
||||
"status": 200,
|
||||
"pesan": "Message (optional)",
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
### Error Response
|
||||
|
||||
```json
|
||||
{
|
||||
"status": 404,
|
||||
"pesan": "Error message"
|
||||
}
|
||||
```
|
||||
|
||||
## Contoh Penggunaan
|
||||
|
||||
### Login
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:8000/timo/login \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"username": "testuser",
|
||||
"password": "password123",
|
||||
"fcm_token": "optional_fcm_token"
|
||||
}'
|
||||
```
|
||||
|
||||
### Cek SL
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:8000/timo/cek_sl \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"token": "user_id",
|
||||
"no_sl": "123456"
|
||||
}'
|
||||
```
|
||||
|
||||
### Get Tagihan
|
||||
|
||||
```bash
|
||||
curl http://localhost:8000/timo/tagihan/123456
|
||||
```
|
||||
|
||||
## Catatan
|
||||
|
||||
- API ini menggunakan database yang sama dengan `timo.wipay.id`
|
||||
- Semua endpoint menggunakan format JSON
|
||||
- CORS sudah diaktifkan untuk cross-origin requests
|
||||
- Log aplikasi tersimpan di folder `logs/app.log`
|
||||
|
||||
## Development
|
||||
|
||||
Untuk menambahkan endpoint baru:
|
||||
|
||||
1. Buat Controller di `src/Controllers/`
|
||||
2. Buat Model jika diperlukan di `src/Models/`
|
||||
3. Tambahkan route di `public/index.php`
|
||||
4. Update dokumentasi ini
|
||||
|
||||
## Migration Status
|
||||
|
||||
✅ Authentication endpoints (daftar, login, login_token, update_akun, update_password)
|
||||
✅ SL Management endpoints (cek_sl, confirm_sl, hapus_sl)
|
||||
✅ Tagihan endpoints (history, tagihan)
|
||||
✅ Pembayaran endpoints (request_pembayaran, cek_pembayaran, cek_transfer, batal_pembayaran, confirm_pembayaran, history_bayar)
|
||||
✅ Laporan endpoints (jenis_laporan, history_gangguan)
|
||||
✅ WIPAY endpoints (cek_wipay)
|
||||
✅ Reset Password endpoints (buat_kode, cek_kode, reset_kode)
|
||||
✅ Other endpoints (promo, riwayat_pasang, jadwal_catat_meter, request_order_baca_mandiri)
|
||||
✅ Upload endpoints (upload_catat_meter, upload_pp, hapus_pp, upload_gangguan, upload_pasang_baru, upload_bukti_transfer, upload_baca_mandiri)
|
||||
Reference in New Issue
Block a user