MIF_E31221305/TA_API/EMAIL_VERIFICATION_DOC.md

4.2 KiB

Dokumentasi API Verifikasi Email

Daftar Isi

  1. Pengenalan
  2. Endpoint API Verifikasi Email
  3. Pengujian di Postman
  4. Troubleshooting

Pengenalan

API Verifikasi Email digunakan untuk memverifikasi alamat email pengguna setelah registrasi. Sistem menggunakan link verifikasi yang dikirim ke email pengguna. Email verifikasi memiliki tampilan yang profesional dan berisi link yang dapat diklik untuk memverifikasi akun.

Endpoint API Verifikasi Email

1. Kirim Email Verifikasi

  • URL: /api/email/verification-notification
  • Method: POST
  • Headers:
    Accept: application/json
    Content-Type: application/json
    Authorization: Bearer {token}
    
  • Response Sukses (200):
    {
        "success": true,
        "data": {
            "verification_url": "http://example.com/verify-email?expires=1234&id=1&signature=abcdef"
        },
        "message": "Link verifikasi email telah dikirim."
    }
    
  • Response Error (400):
    {
        "success": false,
        "message": "Email sudah terverifikasi."
    }
    

2. Verifikasi Email

  • URL: /api/email/verify/{id}/{hash}
  • Method: GET
  • Headers:
    Accept: application/json
    
  • Response Sukses (200):
    {
        "status": "success",
        "message": "Email berhasil diverifikasi.",
        "redirect_url": "http://example.com/login"
    }
    
  • Response Error (400):
    {
        "status": "error",
        "message": "Invalid/Expired url provided.",
        "redirect_url": "http://example.com/email-verification-error"
    }
    

3. Kirim Ulang Email Verifikasi

  • URL: /api/email/verification-resend
  • Method: POST
  • Headers:
    Accept: application/json
    Content-Type: application/json
    Authorization: Bearer {token}
    
  • Response Sukses (200):
    {
        "success": true,
        "data": {
            "verification_url": "http://example.com/verify-email?expires=1234&id=1&signature=abcdef"
        },
        "message": "Link verifikasi email telah dikirim ulang."
    }
    
  • Response Error (400):
    {
        "success": false,
        "message": "Email sudah terverifikasi."
    }
    

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
    • token: (kosong, akan diisi setelah login)

Langkah-langkah Pengujian

1. Login untuk Mendapatkan Token

  1. Request:

    • Method: POST
    • URL: {{base_url}}/pelanggan/login atau {{base_url}}/penjahit/login
    • Body (raw JSON):
      {
          "email": "email@example.com",
          "password": "password"
      }
      
  2. Simpan Token:

    • Dari response, salin nilai token
    • Simpan di environment variable token

2. Kirim Email Verifikasi

  1. Request:

    • Method: POST
    • URL: {{base_url}}/email/verification-notification
    • Headers:
      Authorization: Bearer {{token}}
      Accept: application/json
      
  2. Cek Email:

    • Buka email yang terdaftar
    • Anda akan menerima email dengan tampilan profesional
    • Email berisi tombol "Verifikasi Email Saya"

3. Verifikasi Email

  1. Klik Link Verifikasi:

    • Klik tombol "Verifikasi Email Saya" di email
    • Atau salin URL dari email dan buka di browser
  2. Hasil:

    • Jika berhasil, Anda akan diarahkan ke halaman login
    • Status akun Anda akan berubah menjadi terverifikasi

Troubleshooting

Masalah Umum:

  1. "Email sudah terverifikasi"

    • Akun Anda sudah terverifikasi sebelumnya
    • Tidak perlu melakukan verifikasi lagi
  2. "Invalid/Expired url provided"

    • Link verifikasi sudah kadaluarsa (lebih dari 60 menit)
    • Gunakan endpoint /api/email/verification-resend untuk mendapatkan link baru
  3. "User not found"

    • ID pengguna dalam link tidak valid
    • Pastikan menggunakan link terbaru

Tips:

  • Link verifikasi hanya berlaku selama 60 menit
  • Jika link kadaluarsa, gunakan fitur "Kirim Ulang Email Verifikasi"
  • Pastikan Anda login sebelum meminta link verifikasi baru
  • Periksa folder spam jika email tidak muncul di inbox