MIF_E31221305/TA_API/RESET_PASSWORD_DOC.md

5.0 KiB

Dokumentasi Reset Password API

Daftar Isi

  1. Pengenalan
  2. Endpoint Reset Password
  3. Pengujian di Postman
  4. Tampilan Email
  5. 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:
    {
        "email": "email@example.com"
    }
    
  • Response Sukses (200):
    {
        "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):
    {
        "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:
    {
        "email": "email@example.com",
        "password": "password_baru",
        "password_confirmation": "password_baru",
        "pin": "123456"
    }
    
  • Response Sukses (200):
    {
        "success": true,
        "data": [],
        "message": "Password berhasil direset"
    }
    
  • Response Error (400):
    {
        "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):
      {
          "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):
      {
          "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: