مستندات API

مستندات api سایت سنجش آریا

مقدمه

آدرس پایه (Base URL):

https://frakhat.ir/api

هدرهای پیشنهادی در تمامی درخواست‌ها:

Accept: application/json
Content-Type: application/json 
توجه مهم: تمامی درخواست‌ها باید از پروتکل HTTPS استفاده کنند.

احراز هویت

احراز هویت در دو مرحله انجام می‌شود:

احراز هویت

احراز هویت کاربران از طریق ارسال کد OTP به شماره موبایل انجام می‌شود و در دو مرحله صورت می‌گیرد:

مرحله ۱ — ارسال کد OTP

POST /api/auth/send-otp-mobile

درخواست ارسال کد تأیید به شماره موبایل

Body (JSON):

{
  "username": "09123456789"
}

پاسخ‌های ممکن:

→ 200 OK
{
  "state": 200,
  "message": "کد تأیید با موفقیت ارسال شد"
}

→ 422 Validation
{
  "state": 422,
  "message": "فیلدهای الزامی ارسال نشده است"
}

→ 429 Too Many Requests
{
  "state": 429,
  "message": "تعداد درخواست بیش از حد مجاز است. لطفاً چند دقیقه دیگر امتحان کنید"
}

نکته: این endpoint دارای محدودیت نرخ (Rate Limit) است. معمولاً حداکثر ۳–۵ درخواست در هر ۵ دقیقه برای هر شماره مجاز است.

مرحله ۲ — تأیید کد و دریافت توکن

POST /api/auth/verify-otp-mobile

تأیید کد OTP و دریافت توکن دسترسی (ورود یا ثبت‌نام خودکار)

Body (JSON):

{
  "username": "09123456789",
  "otp": "483920"
}

پاسخ موفق:

→ 200 OK
{
  "state": 200,
  "message": "احرازهویت با موفقیت انجام شد",
  "Access_token": "3|VlKqPCYRkqRfc23ScSTI10SRVAw9Le5dqDzDb7LG55717c68"
}

پاسخ‌های خطای احتمالی:

→ 422 Validation
{
  "state": 422,
  "message": "فیلدهای الزامی ارسال نشده است"
}

→ 404 Not Found
{
  "state": 404,
  "message": "کد تأیید نامعتبر است"
}

هدرهای درخواست‌های بعدی:
برای دسترسی به endpointهای محافظت‌شده، حتماً توکن را در هدر زیر ارسال کنید:
Authorization: Bearer 3|VlKqPCYRkqRfc23ScSTI10SRVAw9Le5dqDzDb7LG55717c68
توجه امنیتی: توکن دریافتی حساس است. آن را در جای امن نگهداری کنید و هرگز در سمت کلاینت (مانند localStorage بدون رمزنگاری) ذخیره نکنید.
توکن را در هدر Authorization: Bearer {token} برای درخواست‌های بعدی ارسال کنید.

دریافت پروفایل کاربر

GET /api/auth/get-profile-user

نمایش اطلاعات پروفایل کاربر احراز هویت شده

هدرها:

Authorization: Bearer {your_token}
→ 200 OK
{
    "status": true,
    "data": [
        {
            "full_name": "رضا محمدی",
            "city": "تهران",
            "company": "ایران الماس",
            "image": null,
            "full_username": null
        }
    ]
}

بروزرسانی پروفایل کاربر

PUT /api/auth/update-user-profile

ویرایش اطلاعات پروفایل (فیلدهای دلخواه)

{
  "full_name": "رضا محمدی",
  "city": "تهران",
  "company": "ایران الماس",
  "image": "image.jpg",
}
→ 200 OK
{
    "status": 200,
    "message": "با موفقیت بروزرسانی شد"
}

لیست کیت‌ها

GET /api/auth/kit-list

دریافت لیست کیت‌های موجود (عمومی یا فیلتر شده)

پارامترهای query اختیاری:

-
→ 200 OK
{
    "status": true,
    "data": [
        {
            "id": 24,
            "text": "

Ide Farahoosh ایده فراهوش

", "title": "test 1", "tutorial_id": "[\"27\"]", "category_id": "[]", "mode": 2, "full_blogs_title": [ { "id": 27, "title": "اهمیت ریزسنجشگر های دقیق", "slug": "یرطزرطزرطزر", "full_category": null, "slug_category": null, "full_created_at_date": "30 خرداد 1405", "full_created_at_time": "10:8" } ], "full_category": [], "files": [ { "content_id": 24, "file_path": "storage/uploads/calculation/1781938128520.jpeg", "file_type": "image" } ] }, { "id": 25, "text": "

  کیت SRB-TRB برای شناسایی و شمارش باکتری­های تولید کننده سولفید در لجن های آب دریا و آب شیرین، بایوفیلم در مخازن، بویلر­ها، سیستم­های آبرسانی، برج­های خنک­کننده و ...  در صنایع مختلف مانند نفت، پتروشیمی، فولاد، تصفیه­خانه­ها و شبکه­های آبرسانی  کاربردی است. این کیت قابلیت این را دارد که پس از اجرای پروتکل آن، کاربر در هر هنگام از بازه مشخصی در زمان (در بازه 8 ساعت تا 5 روز)، با مراجعه به اپلیکیشن طراحی­شده به نام Kit Decoder، براساس درجات رنگی از خاکستری تا مشکی، به تخمینی از تعداد این باکتری­ها (بصورت نیم لگاریتمی) در نمونه دست یابد.

", "title": "کیت SRB-TRB", "tutorial_id": "[\"25\"]", "category_id": "[]", "mode": 1, "thumbnail": "storage/uploads/calculation/thmbnail/178306932138.jpg "full_blogs_title": [ { "id": 25, "title": "کیت آزمایشگاهی چیست ؟ نحوه عملکرد و کاربرد", "slug": "کیت آزمایشگاهی چیست ؟ نحوه عملکرد و کاربرد", "full_category": null, "slug_category": null, "full_created_at_date": "30 خرداد 1405", "full_created_at_time": "10:2" } ], "full_category": [], "files": [] }, { "id": 31, "text": "

این کیت برای شمارش باکتری های توتال کلیفرم- همزمان اشریشیاکلای در 100 سی سی آب آشامیدنی طراحی شده است ....

", "title": "کیت TCC-L100", "tutorial_id": "[30]", "category_id": "[]", "mode": 2, "full_blogs_title": [ { "id": 30, "title": "شمارش کمّی میکروارگانیسم ها بر پایه تکنولوژی MPN مینیاتوری خودکار", "slug": "شرکت ریز سنجش آریا 3", "full_category": null, "slug_category": null, "full_created_at_date": "11 تیر 1405", "full_created_at_time": "11:49" } ], "full_category": [], "files": [ { "content_id": 31, "file_path": "storage/uploads/calculation/1782982666807.jpg", "file_type": "image" } ] }, { "id": 32, "text": "

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.

", "title": "تست", "tutorial_id": "[\"30\",\"29\"]", "category_id": "[\"2\"]", "mode": 2, "thumbnail": "storage/uploads/calculation/thmbnail/178306932138.jpg "full_blogs_title": [ { "id": 29, "title": "چالش های حل شده در کیت های جدید و خلاقانه ریزسنجش آریا", "slug": "شرکت ریزسنجش آریا1", "full_category": null, "slug_category": null, "full_created_at_date": "11 تیر 1405", "full_created_at_time": "11:34" }, { "id": 30, "title": "شمارش کمّی میکروارگانیسم ها بر پایه تکنولوژی MPN مینیاتوری خودکار", "slug": "شرکت ریز سنجش آریا 3", "full_category": null, "slug_category": null, "full_created_at_date": "11 تیر 1405", "full_created_at_time": "11:49" } ], "full_category": [ { "id": 2, "title": "تست", "slug": "test" } ], "files": [ { "content_id": 32, "file_path": "storage/uploads/calculation/1783069321957.jpg", "file_type": "image" } ] } ] }

جزئیات کیت

GET /api/auth/kit-detail/{kit_id}

نمایش اطلاعات کامل یک کیت خاص

→ 200 OK
{
    "status": true,
    "data": {
        "contents": {
            "title": "تست",
            "tutorial_id": "[\"30\",\"29\"]",
            "category_id": "[\"2\"]",
            "text": "

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.

", "number_steps": 1, "id": 32, "mode": 2, "thumbnail": "storage/uploads/calculation/thmbnail/178306932138.jpg "full_blogs_title": [ { "id": 29, "title": "چالش های حل شده در کیت های جدید و خلاقانه ریزسنجش آریا", "slug": "شرکت ریزسنجش آریا1", "full_category": null, "slug_category": null, "full_created_at_date": "11 تیر 1405", "full_created_at_time": "11:34" }, { "id": 30, "title": "شمارش کمّی میکروارگانیسم ها بر پایه تکنولوژی MPN مینیاتوری خودکار", "slug": "شرکت ریز سنجش آریا 3", "full_category": null, "slug_category": null, "full_created_at_date": "11 تیر 1405", "full_created_at_time": "11:49" } ], "full_category": [ { "id": 2, "title": "تست", "slug": "test" } ], "files": [ { "content_id": 32, "file_path": "storage/uploads/calculation/1783069321957.jpg", "file_type": "image" } ] }, "steps": [ { "inoculum_amount": "1", "number_of_tubers": 1 } ], "logs_id": 145 } }

لیست کیت ها براساس دسته بندی

GET /api/auth/category-list

دریافت لیست کیت‌های موجود براساس دسته بندی

پارامترهای query اختیاری:

-
→ 200 OK

    "status": true,
    "data": [
        {
            "id": 32,
            "text": "

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.

", "title": "تست", "tutorial_id": "[\"30\",\"29\"]", "category_id": "[\"2\"]", "mode": 2, "thumbnail": "storage/uploads/calculation/thmbnail/178306932138.jpg", "full_blogs_title": [ { "id": 29, "title": "چالش های حل شده در کیت های جدید و خلاقانه ریزسنجش آریا", "slug": "شرکت ریزسنجش آریا1", "full_category": null, "slug_category": null, "full_created_at_date": "11 تیر 1405", "full_created_at_time": "11:34" }, { "id": 30, "title": "شمارش کمّی میکروارگانیسم ها بر پایه تکنولوژی MPN مینیاتوری خودکار", "slug": "شرکت ریز سنجش آریا 3", "full_category": null, "slug_category": null, "full_created_at_date": "11 تیر 1405", "full_created_at_time": "11:49" } ], "full_category": [ { "id": 2, "title": "تست", "slug": "test" } ], "files": [ { "content_id": 32, "file_path": "storage/uploads/calculation/1783069321957.jpg", "file_type": "image" } ] } ] }

ذخیره تاریخچه کیت

POST /api/auth/kit-history-save/{id}

ذخیره تاریخچه کیت براساس ایدی کیت

Body (JSON):

{
  "logs_id": "این از سمت جزییات کیت میاد",
  "result":"نتیجه بدست امده"
}

پاسخ موفق:

→ 200 OK
{
  "state": 200,
  "message": "احرازهویت با موفقیت انجام شد",
}

فرم درخواست pdf

POST /api/auth/reports/create/

فرم درخواست برای دریافت pdf

Body (JSON):

{
  "reference_laboratory": "نام مرجع آزمایشگاه",
  "dilution_factor": "ضریب رقیق سازی",
  "sample_number": "شماره نمونه",
  "received_date": "تاریخ دریافت نمونه",
  "received_time": "ساعت دریافت نمونه",
  "sample_type": "نوع نمونه",
  "sample_source": "منبع نمونه",
  "sample_weight": "حجم یا وزن نمونه",
  "receiving_condition": "شرایط دریافت نمونه",
  "delivered_by": "شخص تحویل دهنده نمونه",

  "product_name": "نام محصول",
  "batch_number": "شماره سری ساخت",
  "manufacture_date": "تاریخ تولید محصول",
  "brand_name": "نام تجاری محصول",
  "sampling_date": "تاریخ نمونه برداری",
  "test_date": "تاریخ انجام آزمون",
  "result_issue_date": "تاریخ صدور نتیجه آزمون",
  "expiry_date": "تاریخ انقضای محصول",

  "laboratory_name": "نام آزمایشگاه",
  "laboratory_manager": "مسئول آزمایشگاه",
  "test_purpose": "هدف آزمون",
  "test_type": "نوع آزمون",
  "test_method": "روش آزمون",
  "preparation_condition": "شرایط آماده سازی نمونه",
  "sample_to_test_duration": "مدت زمان بین برداشت نمونه تا آزمون",

  "result_value": "نتیجه آزمایش",
  "unit": "واحد اندازه گیری",
  "standard_limit": "حد استاندارد مجاز",
  "interpretation": "تفسیر نتیجه",
  "observations": "مشاهدات آزمایش",
  "recommendations": "توصیه ها",
  "other_notes": "سایر توضیحات",

  "ph": "مقدار PH نمونه",
  "residual_chlorine": "کلر باقیمانده",
  "tds": "مقدار TDS نمونه",
  "turbidity": "کدورت نمونه",
  "sample_temperature": "دمای نمونه",
  "storage_temperature": "دمای محیط نگهداری",

  "moisture_percentage": "درصد رطوبت محصول",
  "preservatives": "مواد نگهدارنده",
  "product_composition": "ترکیبات محصول",

  "microorganism_name": "نام میکروارگانیسم",
  "acceptable_limit": "حد قابل قبول استاندارد",
  "final_result": "نتیجه نهایی محصول",
  "description": "توضیحات مربوط به آزمایش"
}

پاسخ موفق:

→ 200 OK
{
    "state": 200,
    "message": "باموفقیت ثبت شد",
    "report_id": این برای نمایش pdf استفاده میشود
}

نمایش فایل pdf

GET /api/auth/reports/show/{report_id}

نمایش فایل pdf که report_id از api قبلی میاد

Body (JSON):

{

}

پاسخ موفق:

→ 200 OK
{
    "status": true,
    "file_name": "نام فایل",
    "url": "آدرس فایل"
}

فرم تماس با ما

POST /api/website/consta-us-save

ذخیره فیلدهای تماس با ما

Body (JSON):

{
  "Fname_Lname": "نام و نام خانوادگی",
  "phone":"شماره تلفن",
  "subject":"عنوان",
  "description":"توضیحات"
}

پاسخ موفق:

→ 200 OK
{
  "state": 200,
  "message": "با موفقیت ثبت شد",
}

درباره ما

GET /api/website/about-us

دریافت محتوای صفحه درباره ما

→ 200 OK
{
    "status": true,
    "data": [
        {
            "image": "storage/uploads/setting/about_us/177021896331.jpg",
            "description": "تست۱",
"address": "نطنز- شهرک صنعتی اوره –خیابان صنعت اول – جنب کارخانه سینابینش"
}
]
}
        

تماس با ما

GET /api/website/contact-us

دریافت اطلاعات تماس و فرم

→ 200 OK
{
    "status": true,
    "data": [
        {
            "phone": "09222911854",
            "email": "rizsanjesharya@gmail.com",
            "address": "نطنز- شهرک صنعتی اوره –خیابان صنعت اول – جنب کارخانه سینابینش"
        }
    ]
}
        

سوالات متداول

GET /api/website/faqs

دریافت لیست سوالات متداول

→ 200 OK
{
    "status": true,
    "data": [
        {
            "question": "سلام چطوری؟",
            "answer": "خوبم ممنون"
        },
        {
            "question": "چگونه رمز عبور خود را بازیابی کنم؟",
            "answer": "از قسمت فراموشی رمزعبور میتوانید رمزخودرا بازیابی نمایید"
        }
    ]
}

لیست بنرها

GET /api/website/banners

دریافت لیست بنرها

→ 200 OK
{
    "status": true,
    "data": [
        {
            "image": "آدرس تصویر",
        },

    ]
}

اعلانات

GET /api/website/notification

دریافت لیست اعلانات و پیام‌های مهم سایت

→ 200 OK
{
    "status": true,
    "data": [
        {
            "text": "برای بهبود عملکرد بدون فیلتر شکن وارد شوید."
        }
    ]
}
نکته: این endpoint برای نمایش پیام‌های مهم، هشدارها و اطلاعیه‌های عمومی سایت در اپلیکیشن یا وب‌سایت استفاده می‌شود.

مقالات

GET /api/website/blogs

دریافت لیست مقالات

→ 200 OK
{
    "status": true,
    "data": {
        "blogs": [
            {
                "title": "کبد چرب و هر آنچه که درباره بیماری کبد چرب باید بدانید",
                "excerpt": "کبد چرب یا استئاتوز کبدی یکی از انواع بیماری‌های کبد است...",
                "slug": "what-is-fatty-liver",
                "thumbnail": "storage/uploads/blogs/178067995525.jpg",
                "category_id": 7,
                "created_at": "2026-06-05T17:19:15.000000Z",
                "full_category": "بیماری",
                "slug_category": "disease",
                "full_created_at_date": "15 خرداد 1405",
                "full_created_at_time": "21:37"
            }
        ],
        "categories": [
            {
                "id": 7,
                "title": "بیماری",
                "slug": "disease",
                "created_at": "2026-06-05T17:14:39.000000Z",
                "updated_at": "2026-06-05T17:14:39.000000Z"
            }
        ]
    }
}

جزییات مقاله

GET /api/website/blogs-detail/{slug}

دریافت جزییات مقالات

→ 200 OK
{
    "status": true,
    "data": {
        "blogs": [
            {
                "title": "صبحانه مناسب برای کلسترول بالا",
                "excerpt": "صبحانه برای کلسترول بالا باید دارای چربی اشباع و قندهای افزودنی کم باشد...",
                "thumbnail": "storage/uploads/blogs/178068056562.jpg",
                "content": "توضیحات به صورت HTML",
                "category_id": 8,
                "created_at": "2026-06-05T17:29:25.000000Z",
                "full_category": "تغذیه و رژیم",
                "slug_category": "healthy-diet",
                "full_created_at_date": "15 خرداد 1405",
                "full_created_at_time": "21:39",
                "images": [
                    {
                        "title": "مهم ترین علایم",
                        "description": "این علایم کبد چرب است",
                        "blogs_id": 12,
                        "image": "storage/uploads/blogs/slider/1781273079_1.jpg"
                    },
                    {
                        "title": "پوست بدن",
                        "description": "این پوست انسان هست",
                        "blogs_id": 12,
                        "image": "storage/uploads/blogs/slider/1781273079_0.jpg"
                    }
                ]
            }
        ],
        "categories": [
            {
                "id": 7,
                "title": "بیماری",
                "slug": "disease",
                "created_at": "2026-06-05T17:14:39.000000Z",
                "updated_at": "2026-06-05T17:14:39.000000Z"
            }
        ]
    }
}

لیست مقالات بر اساس دسته بندی

GET /api/website/blogs-list-category/{category_id}

دریافت لیست مقالات براساس دسته بندی

→ 200 OK
{
    "status": true,
    "data": {
        "blogs": [
            {
                "title": "صبحانه مناسب برای کلسترول بالا",
                "excerpt": "صبحانه برای کلسترول بالا باید دارای چربی اشباع و قندهای افزودنی کم باشد...",
                "slug": "breakfast-high-cholesterol",
                "thumbnail": "storage/uploads/blogs/178068056562.jpg",
                "category_id": 8,
                "created_at": "2026-06-05T17:29:25.000000Z",
                "full_category": "تغذیه و رژیم",
                "slug_category": "healthy-diet",
                "full_created_at_date": "15 خرداد 1405",
                "full_created_at_time": "21:41",

            }
        ],
        "categories": [
            {
                "id": 7,
                "title": "بیماری",
                "slug": "disease",
                "created_at": "2026-06-05T17:14:39.000000Z",
                "updated_at": "2026-06-05T17:14:39.000000Z"
            }
        ]
    }
}