#P1712
POST /v2/trade/confirmation
Trade: Contract Confirmation
این اندپوینت جهت تایید نهایی قرارداد (فاکتور) توسط اپراتور استفاده میشود.
با فراخوانی این سرویس، فیلد تاییدیه در دیتابیس با زمان جاری مقداردهی شده و در صورت درخواست، پیامک اطلاعرسانی حاوی لینک قرارداد دیجیتال برای مسافر (سرگروه) ارسال میشود.
Request Overview
URL:
/v2/trade/confirmationMethod: POST
Controller: V2TradeController@confirmationTrade
Access Control
- نیاز به احراز هویت (احتمالاً JWT با توجه به سایر متدها).
- دسترسی به `branch` ارسال شده.
Body Parameters
| Field | Type | Description |
|---|---|---|
| serial_id | integer | (الزامی) شناسه فاکتور (Contract ID) که باید تایید شود. |
| branch | integer | (الزامی) شناسه شعبه جهت فیلترینگ امنیتی. |
| notices | boolean | (اختیاری) اگر `true` ارسال شود، سیستم اقدام به ارسال پیامک اطلاعرسانی به مسافر میکند. |
Logic Details
فرآیند تایید شامل مراحل زیر است:
- یافتن فاکتور: جستجو در جدول
factorsبر اساسserial_idوbranch. - ثبت تاییدیه: بهروزرسانی ستون
confirmationبا زمان جاری سرور (`Carbon::now`). - ارسال اعلان (Notification Logic): اگر پارامتر
noticesارسال شده باشد:- شماره موبایل مسافر (Customer) از جدول `customers` استخراج میشود.
- اطلاعات شعبه (نام فارسی و تلفن) از جدول `offices` استخراج میشود.
- ساخت پیام: متنی حاوی تایید قرارداد، لینک کوتاه (`mmah.ir/c/{slug}`)، تاریخ شمسی و تلفن پشتیبانی ایجاد میشود.
- صفبندی: جاب
SendNotificationبه صف اولویت بالا (`fastJob`) ارسال میشود.
Response Structure
پاسخ موفق
- Status Code:
200 OK - Body:
{
"status": true,
"time": 1715001200
}
پاسخ خطا
- Status Code:
404 Not Found(حتی در صورت خطای داخلی سرور کد 404 برگردانده میشود). - Body:
{
"status": false,
"code": 5007,
"message": "خطا در ارسال اطلاعات.",
"trace": [ ... ]
}
Flowchart
Start
↓
Fetch Factor Details
(ID, Slug, CustomerID)
(ID, Slug, CustomerID)
↓
Update Database
SET confirmation = NOW()
SET confirmation = NOW()
↓
Notice Req?
No
Yes
Prepare SMS
1. Get Customer Mobile
2. Get Branch Info
3. Build Msg (Link+Date)
1. Get Customer Mobile
2. Get Branch Info
3. Build Msg (Link+Date)
↓
Dispatch to `fastJob`
↓
Return Success JSON