2.4 KiB
2.4 KiB
Verifikasi Format Response - Pastikan Sama dengan API Lama
⚠️ PENTING: Format Response Harus Sama Persis
Aplikasi mobile mungkin bergantung pada format response yang spesifik. Perbedaan format bisa membuat aplikasi tidak berjalan dengan baik.
Endpoint dengan Response Khusus
1. batal_pembayaran
API Lama:
$data = array(
'status' => 404,
'pesan' => "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi",
);
...
if ($cek_pembayaran) {
$data['status'] = 200; // Hanya update status, pesan TIDAK diubah
}
Response API Lama saat sukses:
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
API Baru (Sekarang):
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
✅ SAMA
2. confirm_pembayaran
API Lama:
$data = array(
'status' => 404,
'pesan' => "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi",
);
...
if ($cek_pembayaran) {
$data['status'] = 200; // Hanya update status, pesan TIDAK diubah
}
Response API Lama saat sukses:
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
API Baru (Sekarang):
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
✅ SAMA
Format Response Standar
Success dengan Data
{
"status": 200,
"pesan": "Message",
"data": {}
}
Success dengan Field di Root (login)
{
"status": 200,
"pesan": "Selamat Datang ...",
"user": {...},
"data_sl": [...]
}
Success Tanpa Pesan (beberapa endpoint)
{
"status": 200,
"pesan": "Default message (tidak diubah)"
}
Error
{
"status": 404,
"pesan": "Error message"
}
Catatan Penting
- Aplikasi mobile mungkin hanya cek
status == 200untuk menentukan sukses - Tapi untuk amannya, format response harus sama persis dengan API lama
- Field
pesantetap ada meskipun status 200 (sesuai API lama) - Beberapa endpoint mengembalikan field langsung di root (bukan nested di
data)
Rekomendasi Testing
Sebelum deploy ke production, lakukan testing dengan:
- Test semua endpoint dengan aplikasi mobile
- Bandingkan response JSON dari API lama vs API baru
- Pastikan aplikasi mobile bisa parse response dengan benar
- Test edge cases (error handling, empty data, dll)