Skip to main content
#P1706

GET /v2/mail/inbox/get

Mail: Get Inbox Details

این اندپوینت برای دریافت جزئیات کامل یک ایمیل ورودی (Inbox) استفاده می‌شود.
اطلاعات شامل متن کامل ایمیل، فایل‌های پیوست، امتیاز اسپم و متادیتای فرستنده است.

Request Overview

URL: /v2/mail/inbox/get
Method: GET
Controller: MailController@mailInboxGet
Middleware Stack: authWithJwt

Access Control

  • دسترسی معتبر JWT.

Query Parameters

Field Type Description
mail_id integer (الزامی) شناسه منحصر‌به‌فرد ایمیل در جدول `mail_inbox`.

Logic Details

فرآیند واکشی اطلاعات به صورت زیر است:

  1. واکشی ایمیل: جستجو در جدول mail_inbox با شرط id = mail_id و status = 1 (فعال).
  2. واکشی پیوست‌ها: جستجو در جدول mail_attachment با شرط mail_id و جهت direction = 'inbox'.
  3. آماده‌سازی داده‌ها:
    • مقدار avatar همیشه false بازگردانده می‌شود.
    • مقادیر tag و label در صورت null بودن در دیتابیس، به مقدار false تبدیل می‌شوند.
    • شامل اطلاعات تحلیل اسپم (`spam_score`, `spam_reason`) است.

Response Structure

پاسخ موفق

  • Status Code: 200 OK
  • Body:
    {
      "status": true,
      "time": 1670170000,
      "data": {
        "id": 105,
        "direction": "inbox",
        "sender": "example@domain.com",
        "sender_name": "John Doe",
        "reply_to": "reply@domain.com",
        "subject": "Weekly Report",
        "avatar": false,
        "attachment": [
          {
            "id": 12,
            "mail_id": 105,
            "file_name": "report.pdf",
            "url": "https://storage..."
          }
        ],
        "content": "<html>...</html>",
        "service_id": 1,
        "type": "text/html",
        "tag": false,
        "label": "Work",
        "spam_score": 0.1,
        "spam_reason": "Pass",
        "created_at": "2023-10-10 10:00:00",
        "read_at": null
      }
    }

Flowchart

Start (GET /inbox/get)
Query Mail Inbox
WHERE id = request.mail_id
AND status = 1
Found?
No (Exception)
Return 400 Error
Yes
Fetch Attachments
FROM `mail_attachment`
WHERE mail_id AND direction='inbox'
Format Response
Handle Nulls (tag/label)
Set Avatar False
Return JSON Data