# Dokumentasi Reset Password API ## Daftar Isi 1. [Pengenalan](#pengenalan) 2. [Endpoint Reset Password](#endpoint-reset-password) 3. [Pengujian di Postman](#pengujian-di-postman) 4. [Tampilan Email](#tampilan-email) 5. [Troubleshooting](#troubleshooting) ## Pengenalan API Reset Password memungkinkan pengguna untuk mereset password mereka jika lupa. Sistem menggunakan PIN 6 digit yang dikirim ke email pengguna. Email reset password memiliki tampilan yang profesional dan berisi PIN yang dapat digunakan untuk mereset password. ## Endpoint Reset Password ### 1. Request Reset Password (Kirim PIN) - **URL**: - Untuk pelanggan: `/api/pelanggan/forgot-password` - Untuk penjahit: `/api/penjahit/forgot-password` - **Method**: `POST` - **Headers**: ``` Accept: application/json Content-Type: application/json ``` - **Body**: ```json { "email": "email@example.com" } ``` - **Response Sukses** (200): ```json { "success": true, "data": { "message": "PIN reset password telah dikirim ke email Anda" }, "message": "Kami sudah mengirim PIN reset password ke email Anda" } ``` - **Response Error** (404): ```json { "success": false, "message": "Error.", "data": { "email": "Email tidak ditemukan" } } ``` ### 2. Reset Password (Gunakan PIN) - **URL**: - Untuk pelanggan: `/api/pelanggan/reset-password` - Untuk penjahit: `/api/penjahit/reset-password` - **Method**: `POST` - **Headers**: ``` Accept: application/json Content-Type: application/json ``` - **Body**: ```json { "email": "email@example.com", "password": "password_baru", "password_confirmation": "password_baru", "pin": "123456" } ``` - **Response Sukses** (200): ```json { "success": true, "data": [], "message": "Password berhasil direset" } ``` - **Response Error** (400): ```json { "success": false, "message": "Error.", "data": { "pin": "PIN tidak valid atau sudah kadaluarsa" } } ``` ## Pengujian di Postman ### Persiapan Collection 1. Buka Postman dan buat collection baru bernama "Project Jahit API" 2. Tambahkan environment variable: - `base_url`: `http://localhost:8000/api` - `email`: `email@example.com` (ganti dengan email yang terdaftar) ### Langkah-langkah Pengujian #### 1. Meminta PIN Reset Password 1. **Buat Request**: - Method: `POST` - URL: `{{base_url}}/pelanggan/forgot-password` (untuk pelanggan) atau `{{base_url}}/penjahit/forgot-password` (untuk penjahit) - Headers: ``` Accept: application/json Content-Type: application/json ``` - Body (raw JSON): ```json { "email": "{{email}}" } ``` 2. **Kirim Request**: - Klik tombol "Send" - Pastikan mendapat response sukses (200) - Pesan sukses: "PIN reset password telah dikirim ke email Anda" 3. **Cek Email**: - Buka email yang terdaftar - Anda akan menerima email dengan tampilan profesional - Email berisi PIN 6 digit untuk reset password - Catat PIN tersebut untuk langkah berikutnya #### 2. Reset Password dengan PIN 1. **Buat Request**: - Method: `POST` - URL: `{{base_url}}/pelanggan/reset-password` (untuk pelanggan) atau `{{base_url}}/penjahit/reset-password` (untuk penjahit) - Headers: ``` Accept: application/json Content-Type: application/json ``` - Body (raw JSON): ```json { "email": "{{email}}", "password": "password_baru", "password_confirmation": "password_baru", "pin": "123456" // Ganti dengan PIN yang diterima di email } ``` 2. **Kirim Request**: - Klik tombol "Send" - Pastikan mendapat response sukses (200) - Pesan sukses: "Password berhasil direset" 3. **Verifikasi Password Baru**: - Coba login dengan password baru - Pastikan bisa masuk ke sistem ## Tampilan Email Email reset password memiliki tampilan profesional dengan: - Logo aplikasi di header - Judul "Reset Password" - Salam personal dengan nama pengguna - PIN reset password dalam kotak yang menonjol - Informasi keamanan dan masa berlaku PIN - Footer dengan informasi kontak dan copyright Email dirancang untuk mudah dibaca di berbagai perangkat dan klien email. ## Troubleshooting ### Error Umum: 1. **"Email tidak ditemukan"** - Pastikan menggunakan email yang sudah terdaftar - Pastikan menggunakan endpoint yang sesuai (pelanggan/penjahit) - Cek penulisan email 2. **"PIN tidak valid atau sudah kadaluarsa"** - Pastikan menggunakan PIN terbaru dari email - PIN hanya berlaku selama 60 menit - PIN harus tepat 6 digit 3. **"Error validasi"** - Password minimal 8 karakter - Password dan konfirmasi harus sama - Email harus valid ### Tips: - Selalu gunakan PIN terbaru dari email - Jika PIN expired, ulangi proses dari awal - Pastikan semua field terisi dengan benar - Periksa folder spam jika email tidak muncul di inbox - PIN hanya dapat digunakan satu kali ### Kontak Support: Jika mengalami masalah, hubungi: - Email: support@projectjahit.com - Telepon: (021) xxx-xxxx