7.3 KiB
7.3 KiB
Verifikasi Payload External API Calls
Dokumen ini memverifikasi semua external API calls dan memastikan payload sesuai dengan API lama.
1. TIMO API (timo.tirtaintan.co.id)
✅ GET /enquiry/{no_sl}
- URL:
https://timo.tirtaintan.co.id/enquiry/{no_sl} - Method: GET
- Auth: Tidak ada
- Payload: Tidak ada (GET request)
- Status: ✅ Sudah sesuai
- Lokasi:
TagihanController::tagihan(),PembayaranController::requestPembayaran(),FastController::checkBill()
✅ GET /enquiry-dil/{no_sl}
- URL:
https://timo.tirtaintan.co.id/enquiry-dil/{no_sl} - Method: GET
- Auth: Tidak ada
- Payload: Tidak ada (GET request)
- Status: ✅ Sudah sesuai
- Lokasi:
SLController::cekSL(),SLController::confirmSL()
✅ GET /enquiry-his/{sl}/{periode}
- URL:
https://timo.tirtaintan.co.id/enquiry-his/{sl}/{periode} - Method: GET
- Auth: Tidak ada
- Payload: Tidak ada (GET request)
- Status: ✅ Sudah sesuai
- Lokasi:
TagihanController::history()
✅ POST /payment/{token}
- URL:
https://timo.tirtaintan.co.id/payment/{token} - Method: POST
- Auth: Tidak ada
- Payload:
{ "token": "token_value", "data": [ { "rek_nomor": "...", "rek_total": 0, "serial": "#TM{timestamp}", "byr_tgl": "YmdHis", "loket": "TIMO" } ] } - Headers:
Content-Type: application/jsonAccept-Encoding: gzip, deflateCache-Control: max-age=0Connection: keep-aliveAccept-Language: en-US,en;q=0.8,id;q=0.6
- Timeout: 15 detik (connection & request)
- Status: ✅ Sudah sesuai
- Lokasi:
SiteController::approve()
✅ POST /push-registrasi
- URL:
https://timo.tirtaintan.co.id/push-registrasi - Method: POST
- Auth: Tidak ada
- Payload:
{ "data": { "reg_id": "0", "reg_unit": "00", "reg_name": "...", "reg_address": "...", "reg_phone": "...", "reg_email": "...", "reg_identity": "...", "reg_tgl": "Y-m-d H:i:s" } } - Headers:
Content-Type: application/jsonAccept-Encoding: gzip, deflateCache-Control: max-age=0Connection: keep-aliveAccept-Language: en-US,en;q=0.8,id;q=0.6
- Timeout: 15 detik (connection & request)
- Status: ✅ Sudah sesuai
- Lokasi:
UploadController::uploadPasangBaru()
✅ POST /pengaduan/{no_sl}
- URL:
https://timo.tirtaintan.co.id/pengaduan/{no_sl} - Method: POST
- Auth: Tidak ada
- Payload:
{ "id": id_gangguan, "nama": "...", "alamat": "...", "telepon": "628...", "jenis": "1-7", "judul": "Laporan Gangguan - ...", "uraian": "..." } - Headers:
Content-Type: application/jsonAccept: application/jsonUser-Agent: TIMO-External-API/1.0
- Timeout: 60 detik (request), 30 detik (connection)
- Status: ✅ Sudah sesuai
- Lokasi:
UploadController::sendGangguanToExternalAPI()
2. Rasamala API (rasamala.tirtaintan.co.id)
✅ POST /timo/upload-catat-meter/{no_sl}
- URL:
https://rasamala.tirtaintan.co.id/timo/upload-catat-meter/{no_sl} - Method: POST
- Auth: Tidak ada
- Payload:
{ "token": "...", "no_sl": "...", "nama_pelanggan": "...", "alamat": "...", "angka_meter": "...", "photo": "filename.jpg", "uploaded_at": "Y-m-d H:i:s" } - Headers:
Content-Type: application/jsonAccept: application/jsonUser-Agent: TIMO-External-API/1.0
- Timeout: 60 detik (request), 30 detik (connection)
- Status: ✅ Sudah sesuai
- Lokasi:
UploadController::sendCatatMeterToExternalAPI()
✅ POST /timo/order-cater/{no_sl}
- URL:
https://rasamala.tirtaintan.co.id/timo/order-cater/{no_sl} - Method: POST
- Auth: Tidak ada
- Payload:
kar_id=timo(form-urlencoded) - Headers:
Content-Type: application/x-www-form-urlencodedAccept: application/json
- Timeout: 30 detik (request), 10 detik (connection)
- Status: ✅ Sudah sesuai
- Lokasi:
OtherController::requestOrderBacaMandiri()
✅ POST /timo/upload-cater/{wrute_id}
- URL:
https://rasamala.tirtaintan.co.id/timo/upload-cater/{wrute_id} - Method: POST
- Auth: Tidak ada
- Payload:
wmmr_id=...&wmmr_standbaca=...&wmmr_abnormwm=...&wmmr_abnormenv=...&wmmr_note=...&lonkor=...&latkor=...(form-urlencoded) - Headers:
Content-Type: application/x-www-form-urlencodedAccept: application/json
- Timeout: 30 detik (request), 10 detik (connection)
- Status: ✅ Sudah sesuai
- Lokasi:
UploadController::uploadBacaMandiri()
3. BRI API (partner.api.bri.co.id)
✅ POST /oauth/client_credential/accesstoken?grant_type=client_credentials
- URL:
https://partner.api.bri.co.id/oauth/client_credential/accesstoken?grant_type=client_credentials - Method: POST
- Auth:
client_iddanclient_secret(form-urlencoded) - Payload:
client_id={BRI_KEY}&client_secret={BRI_SECRET} - Headers:
Content-Type: application/x-www-form-urlencoded
- Timeout: 0 (no timeout)
- Status: ✅ Sudah sesuai
- Lokasi:
SiteController::getBriToken()
✅ POST /v2.0/statement
- URL:
https://partner.api.bri.co.id/v2.0/statement - Method: POST
- Auth: Bearer token
- Payload:
{"accountNumber":"...", "startDate":"Y-m-d", "endDate":"Y-m-d"}(string JSON langsung) - Headers:
BRI-Timestamp: Y-m-d\TH:i:s.000\ZBRI-Signature: {signature}Content-Type: application/jsonBRI-External-Id: 1234Authorization: Bearer {token}
- Timeout: 0 (no timeout)
- Status: ✅ Sudah sesuai
- Lokasi:
SiteController::getMutasi()
4. WhatsApp API (app.whappi.biz.id)
✅ POST /api/qr/rest/send_message
- URL:
https://app.whappi.biz.id/api/qr/rest/send_message - Method: POST
- Auth: JWT Token (Bearer)
- Payload:
{ "messageType": "text", "requestType": "POST", "token": "JWT_TOKEN", "from": "6282317383737", "to": "628...", "text": "pesan" } - Headers:
Content-Type: application/jsonAuthorization: Bearer {JWT_TOKEN}
- Timeout: 60 detik (request), 30 detik (connection)
- Retry: 3 kali
- Status: ✅ Sudah sesuai
- Lokasi:
WhatsAppHelper::sendWa()
5. Telegram API (api.telegram.org)
✅ POST /bot{token}/sendMessage
- URL:
https://api.telegram.org/bot{token}/sendMessage - Method: POST
- Auth: Bot token di URL
- Payload:
chat_id=...&text=...&parse_mode=Markdown(form-urlencoded) - Headers: Tidak ada khusus
- Timeout: 30 detik (request), 10 detik (connection)
- Status: ✅ Sudah sesuai
- Lokasi:
TelegramHelper::sendTelegram()
6. OpenStreetMap Nominatim API
✅ GET /search
- URL:
https://nominatim.openstreetmap.org/search?format=json&q={address}&limit=1 - Method: GET
- Auth: Tidak ada
- Headers:
Accept: application/jsonUser-Agent: TIMO-APP/1.0
- Timeout: 10 detik
- Status: ✅ Sudah sesuai
- Lokasi:
GeocodingHelper::getCoordinatesFromAddress()
Summary
✅ Semua external API calls sudah sesuai dengan API lama:
- Payload format sama
- Headers sama
- Timeout settings sama
- Authentication method sama
- URL endpoints sama
Tidak ada yang terlewat!