#P1706
GET /v2/mail/inbox/get
Mail: Get Inbox Details
این اندپوینت برای دریافت جزئیات کامل یک ایمیل ورودی (Inbox) استفاده میشود.
اطلاعات شامل متن کامل ایمیل، فایلهای پیوست، امتیاز اسپم و متادیتای فرستنده است.
Request Overview
URL:
/v2/mail/inbox/getMethod: GET
Controller: MailController@mailInboxGet
Middleware Stack: authWithJwt
Access Control
- دسترسی معتبر JWT.
Query Parameters
| Field | Type | Description |
|---|---|---|
| mail_id | integer | (الزامی) شناسه منحصربهفرد ایمیل در جدول `mail_inbox`. |
Logic Details
فرآیند واکشی اطلاعات به صورت زیر است:
- واکشی ایمیل: جستجو در جدول
mail_inboxبا شرطid = mail_idوstatus = 1(فعال). - واکشی پیوستها: جستجو در جدول
mail_attachmentبا شرطmail_idو جهتdirection = 'inbox'. - آمادهسازی دادهها:
- مقدار
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
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'
FROM `mail_attachment`
WHERE mail_id AND direction='inbox'
↓
Format Response
Handle Nulls (tag/label)
Set Avatar False
Handle Nulls (tag/label)
Set Avatar False
↓
Return JSON Data