{
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "exec": [
          "const expired = (t) => {",
          "  if (!t) return true;",
          "  try {",
          "    const p = JSON.parse(atob(t.split('.')[1].replace(/-/g,'+').replace(/_/g,'/')));",
          "    return !p.exp || (p.exp * 1000) < (Date.now() + 60000);   // refresh a minute early",
          "  } catch (e) { return true; }",
          "};",
          "",
          "const logins = [",
          "  { v: 'token',      user: pm.collectionVariables.get('userName') },",
          "  { v: 'staffToken', user: pm.collectionVariables.get('staffUserName') },",
          "  { v: 'regToken',   user: pm.collectionVariables.get('regUserName') },",
          "];",
          "",
          "const need = logins.filter(l => l.user && expired(pm.collectionVariables.get(l.v)));",
          "if (need.length) {",
          "  need.forEach(l => {",
          "    pm.sendRequest({",
          "      url: pm.collectionVariables.get('baseUrl') + '/auth/login',",
          "      method: 'POST',",
          "      header: { 'Content-Type': 'application/json' },",
          "      body: { mode: 'raw', raw: JSON.stringify({ UserName: l.user, Password: pm.collectionVariables.get('password') || 'demo' }) },",
          "    }, (err, res) => {",
          "      if (err) { console.log('auto-login failed for ' + l.user, err); return; }",
          "      const j = res.json();",
          "      if (j.result !== 'Ok') { console.log('auto-login rejected for ' + l.user, j.details); return; }",
          "      const u = j.UserMainData || {};",
          "      pm.collectionVariables.set(l.v, (j.token && j.token.data) || '');",
          "      if (l.v === 'token') {",
          "        pm.collectionVariables.set('edStudId', u.ED_STUD_ID || '');",
          "        pm.collectionVariables.set('seUserId', u.SE_USER_ID || '');",
          "        pm.collectionVariables.set('seUserAccntId', u.SE_USER_ACCNT_ID || '');",
          "        pm.collectionVariables.set('facultyId', u.AS_FACULTY_INFO_ID || '');",
          "        pm.collectionVariables.set('acadYearId', u.ED_ACAD_YEAR_ID || '');",
          "        pm.collectionVariables.set('semesterId', u.ED_CODE_SEMESTER_ID || '');",
          "      } else if (l.v === 'regToken') {",
          "        pm.collectionVariables.set('regStudId', u.ED_STUD_ID || '');",
          "      } else {",
          "        pm.collectionVariables.set('staffId', u.SA_STAFF_MEMBER_ID || u.ED_STUD_ID || '');",
          "        pm.collectionVariables.set('staffSeUserId', u.SE_USER_ID || '');",
          "      }",
          "      console.log('auto-login ok: ' + l.user);",
          "    });",
          "  });",
          "}"
        ]
      }
    }
  ],
  "info": {
    "name": "المحادثات · Chat",
    "description": "# المحادثات — Chat\n\nشات نص، فرد لفرد، بين الطالب والدكتور. الطالب بيكلّم مرشده أو دكاترة مقرراته، والدكتور بيكلّم طلبة إشرافه أو طلبة مقرراته. الطرفين بيشوفوا نفس المحادثة بالظبط.\n\n---\n\n**إزاي تشغّله:** شغّل `0) Login` الأول — هيملأ التوكن وكل الـ ids لوحده، وبعدها كل الريكوستات تشتغل على طول.\n\n**الحالة:** 11 شغال · 0 شغال بدون داتا · 0 ناقص",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{token}}",
        "type": "string"
      }
    ]
  },
  "item": [
    {
      "name": "0) Login (run me first)",
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "// Stores the identity + token so every other request just works.",
              "const j = pm.response.json();",
              "if (j.result === \"Ok\") {",
              "    const u = j.UserMainData;",
              "    pm.collectionVariables.set(\"token\",        j.token.data);",
              "    pm.collectionVariables.set(\"edStudId\",     u.ED_STUD_ID);",
              "    pm.collectionVariables.set(\"staffId\",      u.SA_STAFF_MEMBER_ID);",
              "    pm.collectionVariables.set(\"seUserId\",     u.SE_USER_ID);",
              "    pm.collectionVariables.set(\"seUserAccntId\",u.SE_USER_ACCNT_ID);",
              "    pm.collectionVariables.set(\"facultyId\",    u.AS_FACULTY_INFO_ID);",
              "    pm.collectionVariables.set(\"acadYearId\",   u.ED_ACAD_YEAR_ID);",
              "    pm.collectionVariables.set(\"semesterId\",   u.ED_CODE_SEMESTER_ID);",
              "    console.log(\"signed in:\", u.ED_STUD_ID, u.YEAR_DESC_EN, u.SEM_DESC_EN);",
              "}",
              "pm.test(\"login ok\", () => pm.expect(j.result).to.eql(\"Ok\"));"
            ]
          }
        }
      ],
      "request": {
        "method": "POST",
        "auth": {
          "type": "noauth"
        },
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"UserName\": \"{{userName}}\",\n  \"Password\": \"{{password}}\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/auth/login",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "auth",
            "login"
          ]
        },
        "description": "يخزّن التوكن وكل الـ ids في متغيرات الكوليكشن. **شغّله الأول.**"
      }
    },
    {
      "name": "0b) Login as STAFF (for the 👨‍🏫 requests)",
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "const j = pm.response.json();",
              "pm.test('staff login ok', () => pm.expect(j.result).to.eql('Ok'));",
              "const u = j.UserMainData || {};",
              "pm.collectionVariables.set('staffToken', (j.token && j.token.data) || '');",
              "pm.collectionVariables.set('staffId', u.SA_STAFF_MEMBER_ID || u.ED_STUD_ID || '');",
              "pm.collectionVariables.set('staffSeUserId', u.SE_USER_ID || '');",
              "pm.test('is NOT a student', () => pm.expect(u.IsStudent).to.eql(false));"
            ]
          }
        }
      ],
      "request": {
        "method": "POST",
        "auth": {
          "type": "noauth"
        },
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"UserName\": \"{{staffUserName}}\",\n  \"Password\": \"{{password}}\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/auth/login",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "auth",
            "login"
          ]
        },
        "description": "نفس إندبوينت الدخول بحساب دكتور. بيخزّن **staffToken** و**staffId**. الريكويستات اللي عليها 👨‍🏫 بتستخدمه."
      }
    },
    {
      "name": "🎓  POST students/getInstructorsAndAdvisorForAsk",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{token}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/students/getInstructorsAndAdvisorForAsk",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "students",
            "getInstructorsAndAdvisorForAsk"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n👤 <b>شاشة «ابعت لمين» — الطالب.</b> الرد: <code>AcademicAdvisior</code> (أوبچكت واحد، ممكن يرجع فاضي) + <code>Instructors[]</code> (15 صف هنا). الدكتور الواحد ممكن يتكرر لو بيدّي أكتر من مقرر — اعمل <code>distinct</code> على <code>SA_STF_MEMBER_ID</code> لو عايز قايمة أشخاص\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
      },
      "response": [
        {
          "name": "رد حقيقي — فيه داتا · 200",
          "originalRequest": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/students/getInstructorsAndAdvisorForAsk",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "students",
                "getInstructorsAndAdvisorForAsk"
              ]
            },
            "description": "**✅ شغال بداتا حقيقية**\n👤 <b>شاشة «ابعت لمين» — الطالب.</b> الرد: <code>AcademicAdvisior</code> (أوبچكت واحد، ممكن يرجع فاضي) + <code>Instructors[]</code> (15 صف هنا). الدكتور الواحد ممكن يتكرر لو بيدّي أكتر من مقرر — اعمل <code>distinct</code> على <code>SA_STF_MEMBER_ID</code> لو عايز قايمة أشخاص\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
          },
          "status": "OK",
          "code": 200,
          "_postman_previewlanguage": "json",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "cookie": [],
          "body": "{\n  \"result\": \"Ok\",\n  \"details\": \"NO ERROR\",\n  \"courses\": {\n    \"AcademicAdvisior\": {\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"STF_FULL_NAME_AR\": \"د. محمد عبد الحميد محمد على\",\n      \"STF_FULL_NAME_EN\": \"Dr Mohamed abdel hameed mohamed ali\"\n    },\n    \"Instructors\": [\n      {\n        \"CourseAr\": \"العلاج الطبيعي الألورام\",\n        \"CourseEn\": \"Physical Therapy for Oncology\",\n        \"CourseCode\": \"SUR311\",\n        \"Ed_courseId\": 47,\n        \"SA_STF_MEMBER_ID\": 20.0,\n        \"STF_FULL_NAME_AR\": \"أ .م . د سعيد عبدالغنى\",\n        \"STF_FULL_NAME_EN\": \"ِAssist. Prof. Said Abdel Ghany\"\n      },\n      {\n        \"CourseAr\": \"لعلاج الطبيعى للجراحة العامة و الحروق و االمراض الجلدية\",\n        \"CourseEn\": \"Physical Therapy for general surgery, burn & Dermatology\",\n        \"CourseCode\": \"SUR310\",\n        \"Ed_courseId\": 46,\n        \"SA_STF_MEMBER_ID\": 22.0,\n        \"STF_FULL_NAME_AR\": \"Dr.Heba Saad\",\n        \"STF_FULL_NAME_EN\": \"Dr.Heba Saad\"\n      },\n      {\n        \"CourseAr\": \"علم األأ مراض\",\n        \"CourseEn\": \"Pathology\",\n        \"CourseCode\": \"SUR312\",\n        \"Ed_courseId\": 48,\n        \"SA_STF_MEMBER_ID\": 22.0,\n        \"STF_FULL_NAME_AR\": \"Dr.Heba Saad\",\n        \"STF_FULL_NAME_EN\": \"Dr.Heba Saad\"\n      },\n      {\n        \"CourseAr\": \"الاحصاء الطبي\",\n        \"CourseEn\": \"Biostatistics\",\n        \"CourseCode\": \"UM301\",\n        \"Ed_courseId\": 2,\n        \"SA_STF_MEMBER_ID\": 25.0,\n        \"STF_FULL_NAME_AR\": \"Dr. Fatma Essam\",\n        \"STF_FULL_NAME_EN\": \"Dr. Fatma Essam\"\n      },\n      {\n        \"CourseAr\": \"التغذية العلاجية\",\n        \"CourseEn\": \"Clinical Nutrition\",\n        \"CourseCode\": \"INT313\",\n        \"Ed_courseId\": 49,\n        \"SA_STF_MEMBER_ID\": 140.0,\n        \"STF_FULL_NAME_AR\": \"مارينا محب\",\n        \"STF_FULL_NAME_EN\": \"Dr Marina Moheb Aziz Ghobreal\"\n      },\n      {\n        \"CourseAr\": \"أمراض النسا و التوليد\",\n        \"CourseEn\": \"Obstetrics & Gynecology\",\n        \"CourseCode\": \"GYN307\",\n        \"Ed_courseId\": 43,\n        \"SA_STF_MEMBER_ID\": 141.0,\n        \"STF_FULL_NAME_AR\": \"هناء السيد\",\n        \"STF_FULL_NAME_EN\": \"Dr Hanaa Elsayed \"\n      },\n      {\n        \"CourseAr\": \"الجراحة العامة و الحروق و الأمراض الجلدية\",\n        \"CourseEn\": \"General surgery, burn & Dermatology\",\n        \"CourseCode\": \"SUR309\",\n        \"Ed_courseId\": 45,\n        \"SA_STF_MEMBER_ID\": 141.0,\n        \"STF_FULL_NAME_AR\": \"هناء السيد\",\n        \"STF_FULL_NAME_EN\": \"Dr Hanaa Elsayed \"\n      },\n      {\n        \"CourseAr\": \"الجراحة العامة و الحروق و الأمراض الجلدية\",\n        \"CourseEn\": \"General surgery, burn & Dermatology\",\n        \"CourseCode\": \"SUR309\",\n        \"Ed_courseId\": 45,\n        \"SA_STF_MEMBER_ID\": 144.0,\n        \"STF_FULL_NAME_AR\": \"ليندا رأفت\",\n        \"STF_FULL_NAME_EN\": \"TA Linda Raafat Danial Thomas\"\n      },\n      {\n        \"CourseAr\": \"لعلاج الطبيعى للجراحة العامة و الحروق و االمراض الجلدية\",\n        \"CourseEn\": \"Physical Therapy for general surgery, burn & Dermatology\",\n        \"CourseCode\": \"SUR310\",\n        \"Ed_courseId\": 46,\n        \"SA_STF_MEMBER_ID\": 144.0,\n        \"STF_FULL_NAME_AR\": \"ليندا رأفت\",\n        \"STF_FULL_NAME_EN\": \"TA Linda Raafat Danial Thomas\"\n      },\n      {\n        \"CourseAr\": \"العلاج الطبيعي الألورام\",\n        \"CourseEn\": \"Physical Therapy for Oncology\",\n        \"CourseCode\": \"SUR311\",\n        \"Ed_courseId\": 47,\n        \"SA_STF_MEMBER_ID\": 144.0,\n        \"STF_FULL_NAME_AR\": \"ليندا رأفت\",\n        \"STF_FULL_NAME_EN\": \"TA Linda Raafat Danial Thomas\"\n      },\n      {\n        \"CourseAr\": \"علم األأ مراض\",\n        \"CourseEn\": \"Pathology\",\n        \"CourseCode\": \"SUR312\",\n        \"Ed_courseId\": 48,\n        \"SA_STF_MEMBER_ID\": 144.0,\n        \"STF_FULL_NAME_AR\": \"ليندا رأفت\",\n        \"STF_FULL_NAME_EN\": \"TA Linda Raafat Danial Thomas\"\n      },\n      {\n        \"CourseAr\": \"التغذية العلاجية\",\n        \"CourseEn\": \"Clinical Nutrition\",\n        \"CourseCode\": \"INT313\",\n        \"Ed_courseId\": 49,\n        \"SA_STF_MEMBER_ID\": 145.0,\n        \"STF_FULL_NAME_AR\": \"مجدى أدهم محمد \",\n        \"STF_FULL_NAME_EN\": \"TA Magdy Adham Mohamed Zaky \"\n      },\n      {\n        \"CourseAr\": \"لعلاج الطبيعى للجراحة العامة و الحروق و االمراض الجلدية\",\n        \"CourseEn\": \"Physical Therapy for general surgery, burn & Dermatology\",\n        \"CourseCode\": \"SUR310\",\n        \"Ed_courseId\": 46,\n        \"SA_STF_MEMBER_ID\": 145.0,\n        \"STF_FULL_NAME_AR\": \"مجدى أدهم محمد \",\n        \"STF_FULL_NAME_EN\": \"TA Magdy Adham Mohamed Zaky \"\n      },\n      {\n        \"CourseAr\": \"العلاج الطبيعي الألورام\",\n        \"CourseEn\": \"Physical Therapy for Oncology\",\n        \"CourseCode\": \"SUR311\",\n        \"Ed_courseId\": 47,\n        \"SA_STF_MEMBER_ID\": 145.0,\n        \"STF_FULL_NAME_AR\": \"مجدى أدهم محمد \",\n        \"STF_FULL_NAME_EN\": \"TA Magdy Adham Mohamed Zaky \"\n      },\n      {\n        \"CourseAr\": \"أمراض النسا و التوليد\",\n        \"CourseEn\": \"Obstetrics & Gynecology\",\n        \"CourseCode\": \"GYN307\",\n        \"Ed_courseId\": 43,\n        \"SA_STF_MEMBER_ID\": 146.0,\n        \"STF_FULL_NAME_AR\": \"أحمد محمد مصطفى\",\n        \"STF_FULL_NAME_EN\": \"TA Ahmed Mohamed Mostafa\"\n      },\n      {\n        \"CourseAr\": \"العلاج الطبيعى لصحة المرأة\",\n        \"CourseEn\": \"Physical Therapy for Women Health\",\n        \"CourseCode\": \"GYN308\",\n        \"Ed_courseId\": 44,\n        \"SA_STF_MEMBER_ID\": 146.0,\n        \"STF_FULL_NAME_AR\": \"أحمد محمد مصطفى\",\n        \"STF_FULL_NAME_EN\": \"TA Ahmed Mohamed Mostafa\"\n      },\n      {\n        \"CourseAr\": \"الاحصاء الطبي\",\n        \"CourseEn\": \"Biostatistics\",\n        \"CourseCode\": \"UM301\",\n        \"Ed_courseId\": 2,\n        \"SA_STF_MEMBER_ID\": 148.0,\n        \"STF_FULL_NAME_AR\": \"عاطف محمد داهش\",\n        \"STF_FULL_NAME_EN\": \"TA Atef Mohamed Dahesh \"\n      },\n      {\n        \"CourseAr\": \"Engineering Chemistry\",\n        \"CourseEn\": \"Engineering Chemistry\",\n        \"CourseCode\": \"BSM131\",\n        \"Ed_courseId\": 1234,\n        \"SA_STF_MEMBER_ID\": 170.0,\n        \"STF_FULL_NAME_AR\": \"Shereen Samir\",\n        \"STF_FULL_NAME_EN\": \"Shereen Samir\"\n      }\n    ]\n  }\n}"
        }
      ]
    },
    {
      "name": "👨‍🏫  POST academicstaff/getStudentsForAsk",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{staffToken}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"saStaffMemberId\": \"{{staffId}}\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/academicstaff/getStudentsForAsk",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "academicstaff",
            "getStudentsForAsk"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n👨‍🏫 <b>شاشة «ابعت لمين» — الدكتور. ⭐ جديد.</b> الرد فيه ٣ قوايم: <code>Advisees[]</code> (25) + <code>Courses[]</code> (7، كل مقرر بعدد طلبته) + <code>CourseStudents[]</code> (920). كل صف طالب جايب <code>AdvChat</code> و<code>MessagesCount</code> والسنة/الترم/الكلية → افتح المحادثة منه على طول\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
      },
      "response": []
    },
    {
      "name": "👨‍🏫  POST academicstaff/getStudentsForAsk",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{staffToken}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"saStaffMemberId\": \"{{staffId}}\",\n  \"EdCourseId\": 6\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/academicstaff/getStudentsForAsk",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "academicstaff",
            "getStudentsForAsk"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n⚡ <b>نفس النداء بس بمقرر واحد.</b> <code>CourseStudents</code> بترجع <b>26 بدل 920</b>. الطريقة المفضّلة: النداء الأول من غير <code>EdCourseId</code> واعرض <code>Advisees</code> + <code>Courses</code> بس، وأول ما يدوس على مقرر نادي تاني بالـ id بتاعه\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
      },
      "response": []
    },
    {
      "name": "🎓  POST students/GetStudMailInBox",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{token}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/students/GetStudMailInBox",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "students",
            "GetStudMailInBox"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n📥 <b>صندوق الطالب.</b> صف لكل دكتور. اعرض <code>StaffNameAr/En</code> و<code>count</code> و<code>LastMessageDate</code>، وحطّ شارة «مرشدك» لو <code>IsAdvisor=true</code>. خزّن <code>SA_STF_MEMBER_ID</code> و<code>AdvChat</code> للخطوة اللي بعدها\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
      },
      "response": [
        {
          "name": "رد حقيقي — فيه داتا · 200",
          "originalRequest": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/students/GetStudMailInBox",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "students",
                "GetStudMailInBox"
              ]
            },
            "description": "**✅ شغال بداتا حقيقية**\n📥 <b>صندوق الطالب.</b> صف لكل دكتور. اعرض <code>StaffNameAr/En</code> و<code>count</code> و<code>LastMessageDate</code>، وحطّ شارة «مرشدك» لو <code>IsAdvisor=true</code>. خزّن <code>SA_STF_MEMBER_ID</code> و<code>AdvChat</code> للخطوة اللي بعدها\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
          },
          "status": "OK",
          "code": 200,
          "_postman_previewlanguage": "json",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "cookie": [],
          "body": "{\n  \"result\": \"Ok\",\n  \"details\": \"NO ERROR\",\n  \"courses\": [\n    {\n      \"StudentNameAr\": \"\",\n      \"StudentNameEn\": \"\",\n      \"SA_STF_MEMBER_ID\": 20.0,\n      \"ED_STUD_ID\": 73,\n      \"count\": 1,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-01T20:57:26.55\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    }\n  ]\n}"
        }
      ]
    },
    {
      "name": "👨‍🏫  POST students/GetStaffMailInBox",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{staffToken}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"saStaffMemberId\": \"{{staffId}}\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/students/GetStaffMailInBox",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "students",
            "GetStaffMailInBox"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n📥 <b>صندوق الدكتور.</b> صف لكل طالب — <code>StudentNameAr/En</code>. خزّن <code>ED_STUD_ID</code> و<code>AdvChat</code> والسنة/الترم/الكلية من نفس الصف\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
      },
      "response": [
        {
          "name": "رد حقيقي — فيه داتا · 200",
          "originalRequest": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{staffToken}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"saStaffMemberId\": \"{{staffId}}\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/students/GetStaffMailInBox",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "students",
                "GetStaffMailInBox"
              ]
            },
            "description": "**✅ شغال بداتا حقيقية**\n📥 <b>صندوق الدكتور.</b> صف لكل طالب — <code>StudentNameAr/En</code>. خزّن <code>ED_STUD_ID</code> و<code>AdvChat</code> والسنة/الترم/الكلية من نفس الصف\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
          },
          "status": "OK",
          "code": 200,
          "_postman_previewlanguage": "json",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "cookie": [],
          "body": "{\n  \"result\": \"Ok\",\n  \"details\": \"NO ERROR\",\n  \"courses\": [\n    {\n      \"StudentNameAr\": \"مصطفى اسماعيل محمد اسماعيل مصطفى\",\n      \"StudentNameEn\": \"Moustafa Esmail Mohamed Esmail Moustafa\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 3026,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:39.27\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"غيداء نورالدين عياد عيد عوده\",\n      \"StudentNameEn\": \"Ghaidaa Nour El Din Ayyad Eid Awda\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2882,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:39.04\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"عبدالهادي علي عبدالهادي علي\",\n      \"StudentNameEn\": \"Abdlahady Ali Abdlahady Ali\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 40,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:38.81\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"ياسر محمد ياسر فاروق حسانين\",\n      \"StudentNameEn\": \"Yasser Mohamed Yasser Farouk Hasanen\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2679,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:38.58\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"حبيبه وائل عبداللطيف عبدالعزيز محمود\",\n      \"StudentNameEn\": \"Habiba Wael AbdelLatif Abdel Aziz Mahmoud\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2357,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:38.35\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"يوسف ياسر عبدربه احمد\",\n      \"StudentNameEn\": \"Youssef Yasser Abdraboh Ahmed\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2295,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:38.12\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"سحر احمد صلاح الدين فرج حامد\",\n      \"StudentNameEn\": \"Sahar Ahmed Salah ElDin Farag Hamed\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2185,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:37.89\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"احمد السيد احمد السيد\",\n      \"StudentNameEn\": \"Ahmed Elsaid Ahmed Elsaid\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2122,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:37.66\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"محمد خالد فوزي اسماعيل\",\n      \"StudentNameEn\": \"Mohamed Khaled Fawzy Ismail\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2071,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:37.43\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"محمد محمود أبو المجد عبدالواحد سباعى \",\n      \"StudentNameEn\": \"Mohammed Mahmoud Abo Elmagd Abdelwahed sabaey \",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2055,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:37.2\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"فارس عبدالعزيز محمد علي\",\n      \"StudentNameEn\": \"Fares abdelaziz Mohamed Ali\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 2054,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:36.97\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"جني فتحي السيد الوحيد السيد احمد\",\n      \"StudentNameEn\": \"Jana Fathy Elsayed Elwaheed el sayed Ahmed\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1830,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:36.74\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"زينب محمد عبدالله منصور\",\n      \"StudentNameEn\": \"Zinab Mohamed Abdallah Mansour\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1772,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:36.51\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"خالد وليد البيلى بدير على\",\n      \"StudentNameEn\": \"Khaled Waleed Elbieli Badeer Ali\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1720,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:36.28\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"عمر محمد عواد محمد ابراهيم\",\n      \"StudentNameEn\": \"Omar Mohamed Awad Mohamed Ebrahim\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1712,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:36.05\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"محمد ابراهيم علي ابراهيم\",\n      \"StudentNameEn\": \"Mohamed Ibrahim Ali Ibrahim\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1688,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:35.82\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"يوسف السيد عطيه ابراهيم\",\n      \"StudentNameEn\": \"Youssef Elsayed Attia Ebrahim\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1638,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:35.59\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"محمد رشدي مختار حلمي\",\n      \"StudentNameEn\": \"Mohammed roshdy mokhter helmy\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1554,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:35.36\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"كريم اسامه محمد محمد عطيه\",\n      \"StudentNameEn\": \"Kareem Osama Mohamed Mohamed Atia\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1532,\n      \"count\": 50,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:35.13\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"محمد عبدالله احمد عبدالسلام\",\n      \"StudentNameEn\": \"Mohammed Abdalla Ahmed Abdelsalam\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1435,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:34.9\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"ساره فتحي مهدي عزازي\",\n      \"StudentNameEn\": \"Sara Fathi Mahdi Azazi\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1357,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:34.67\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"منه سامح السيد السيد احمد\",\n      \"StudentNameEn\": \"Menna Sameh Elsayed Elsayed Ahmed\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1309,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:34.44\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"منه الله طارق محمد السيد\",\n      \"StudentNameEn\": \"Menaallah Tarek Mohamed Elsayed\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 1266,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:34.21\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"محمود تامر محمد حسن سالم\",\n      \"StudentNameEn\": \"Mahmoud Tamer Mohamed Hassan Salem\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 3016,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:33.98\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"على محمد محمد محمد حسونه \",\n      \"StudentNameEn\": \"Ali Mohamed Mohamed Mohamed Hasonaa\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 3015,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:33.75\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    },\n    {\n      \"StudentNameAr\": \"ايه محمد عبدالعزيز محمد رجب\",\n      \"StudentNameEn\": \"Aya Mohamed Abdelaziz Mohamed Ragab\",\n      \"SA_STF_MEMBER_ID\": null,\n      \"ED_STUD_ID\": 3011,\n      \"count\": 48,\n      \"IsAdvisor\": false,\n      \"LastMessageDate\": \"2026-08-05T12:03:33.52\",\n      \"ED_ACAD_YEAR_ID\": 16,\n      \"AS_FACULTY_INFO_ID\": 1,\n      \"ED_CODE_SEMESTER_ID\": 2\n    }\n  ]\n}"
        }
      ]
    },
    {
      "name": "🎓  POST students/GetaskById",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{token}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\",\n  \"saStaffMemberId\": 148\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/students/GetaskById",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "students",
            "GetaskById"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n💬 <b>شاشة المحادثة — عين الطالب.</b> <code>saStaffMemberId</code> = <b>الدكتور اللي بتكلمه</b> (مش إنت). الرد <code>courses[]</code> مرتّب بالتاريخ، وكل رسالة فيها <code>AdvChat</code> (مين كتبها) و<code>RE_DTL</code> (النص) و<code>RE_DATE</code>\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
      },
      "response": [
        {
          "name": "رد حقيقي — فيه داتا · 200",
          "originalRequest": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\",\n  \"saStaffMemberId\": 148\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/students/GetaskById",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "students",
                "GetaskById"
              ]
            },
            "description": "**✅ شغال بداتا حقيقية**\n💬 <b>شاشة المحادثة — عين الطالب.</b> <code>saStaffMemberId</code> = <b>الدكتور اللي بتكلمه</b> (مش إنت). الرد <code>courses[]</code> مرتّب بالتاريخ، وكل رسالة فيها <code>AdvChat</code> (مين كتبها) و<code>RE_DTL</code> (النص) و<code>RE_DATE</code>\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
          },
          "status": "OK",
          "code": 200,
          "_postman_previewlanguage": "json",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "cookie": [],
          "body": "{\n  \"result\": \"Ok\",\n  \"details\": \"NO ERROR\",\n  \"courses\": [\n    {\n      \"RE_DATE\": \"2026-08-01T20:56:43.613\",\n      \"RE_DTL\": \"123\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T12:06:38.537\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T12:11:23.933\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T12:12:52.86\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T12:25:30.1\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T13:07:30.673\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T14:00:13.817\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T14:02:31.893\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-03T15:53:50.697\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T10:52:27.947\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T11:33:03.557\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T12:04:01.09\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T12:08:04.873\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T12:12:18.523\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T12:14:49.16\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T12:58:35.257\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T13:05:23.123\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T16:03:25.49\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T16:24:33.78\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T16:46:56.433\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T17:22:21.83\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T17:34:36.807\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T18:25:23.253\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-04T18:30:50.807\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T10:35:02.247\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T10:37:31.573\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T11:32:10.673\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T11:38:50.4\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T11:52:11.667\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T11:59:41.643\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T12:01:17.1\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    },\n    {\n      \"RE_DATE\": \"2026-08-05T12:03:32.173\",\n      \"RE_DTL\": \"السلام عليكم\",\n      \"SA_STF_MEMBER_ID\": 94.0,\n      \"ED_STUD_ID\": 73,\n      \"FROM_STUD\": true\n    }\n  ]\n}"
        }
      ]
    },
    {
      "name": "👨‍🏫  POST academicstaff/GetaskById",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{staffToken}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\",\n  \"saStaffMemberId\": \"{{staffId}}\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/academicstaff/GetaskById",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "academicstaff",
            "GetaskById"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n💬 <b>نفس المحادثة — عين الدكتور.</b> بيرجّع <b>نفس المصفوفة بالظبط</b>. يعني تقدر تستخدم نفس الـ model ونفس الـ widget في التطبيقين\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
      },
      "response": []
    },
    {
      "name": "🎓  POST students/AddAsk",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{token}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\",\n  \"saStaffMemberId\": 148,\n  \"message\": \"السلام عليكم\",\n  \"FromStud\": true,\n  \"AdvChat\": false\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/students/AddAsk",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "students",
            "AddAsk"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n✍️ <b>الطالب بيبعت.</b> <code>FromStud: true</code> ثابت من تطبيق الطالب. <code>AdvChat</code> خده من الصندوق. الرد <code>courses: true</code> يعني اتبعتت — بعدها نادي <code>GetaskById</code> تاني عشان تجيب الرسالة بتاريخها\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
      },
      "response": [
        {
          "name": "رد حقيقي — فيه داتا · 200",
          "originalRequest": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\",\n  \"saStaffMemberId\": 148,\n  \"message\": \"السلام عليكم\",\n  \"FromStud\": true,\n  \"AdvChat\": false\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/students/AddAsk",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "students",
                "AddAsk"
              ]
            },
            "description": "**✅ شغال بداتا حقيقية**\n✍️ <b>الطالب بيبعت.</b> <code>FromStud: true</code> ثابت من تطبيق الطالب. <code>AdvChat</code> خده من الصندوق. الرد <code>courses: true</code> يعني اتبعتت — بعدها نادي <code>GetaskById</code> تاني عشان تجيب الرسالة بتاريخها\n\n> بحساب **طالب** — شغّل «0) Login» الأول."
          },
          "status": "OK",
          "code": 200,
          "_postman_previewlanguage": "json",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "cookie": [],
          "body": "{\n  \"result\": \"Ok\",\n  \"details\": \"NO ERROR\",\n  \"courses\": true\n}"
        }
      ]
    },
    {
      "name": "👨‍🏫  POST academicstaff/AddAsk",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{staffToken}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"EdStudId\": \"{{edStudId}}\",\n  \"EdAcadYearId\": \"{{acadYearId}}\",\n  \"EdCodeSemesterId\": \"{{semesterId}}\",\n  \"AsFacultyInfoId\": \"{{facultyId}}\",\n  \"saStaffMemberId\": \"{{staffId}}\",\n  \"message\": \"وعليكم السلام\",\n  \"FromStud\": false,\n  \"AdvChat\": false\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/academicstaff/AddAsk",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "academicstaff",
            "AddAsk"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n✍️ <b>الدكتور بيرد.</b> <code>FromStud: false</code> ثابت من تطبيق الدكتور — ده اللي بيخلّي الفقاعة تطلع للطالب على إنها منك\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
      },
      "response": []
    },
    {
      "name": "👨‍🏫  POST students/SendMessageToCourse",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{staffToken}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"saStaffMemberId\": \"{{staffId}}\",\n  \"EdCourseId\": 6,\n  \"message\": \"إعلان للمقرر\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/students/SendMessageToCourse",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "students",
            "SendMessageToCourse"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n📢 <b>إعلان لكل طلبة مقرر.</b> نداء واحد بيبعت لكل مسجّل. بيوصل كل طالب كـ <b>رسالة شخصية</b> في صندوقه (مش جروب) — فمتستغربش لو الصندوق كبر فجأة · <span class=\"new\">جديد ٢</span> اختار سكاشن: <code>ScScheduleDtlIds</code> (فاضية = كل سكاشن الدكتور). بيروح لطلبة سكاشن الدكتور بس، ولكل طالب مرة واحدة. الرد <code>Sent</code> و<code>Sections</code> — <a href=\"#wn2-msg\">التفاصيل</a>\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
      },
      "response": [
        {
          "name": "رد حقيقي — فيه داتا · 200",
          "originalRequest": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{staffToken}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"saStaffMemberId\": \"{{staffId}}\",\n  \"EdCourseId\": 6,\n  \"message\": \"إعلان للمقرر\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/students/SendMessageToCourse",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "students",
                "SendMessageToCourse"
              ]
            },
            "description": "**✅ شغال بداتا حقيقية**\n📢 <b>إعلان لكل طلبة مقرر.</b> نداء واحد بيبعت لكل مسجّل. بيوصل كل طالب كـ <b>رسالة شخصية</b> في صندوقه (مش جروب) — فمتستغربش لو الصندوق كبر فجأة · <span class=\"new\">جديد ٢</span> اختار سكاشن: <code>ScScheduleDtlIds</code> (فاضية = كل سكاشن الدكتور). بيروح لطلبة سكاشن الدكتور بس، ولكل طالب مرة واحدة. الرد <code>Sent</code> و<code>Sections</code> — <a href=\"#wn2-msg\">التفاصيل</a>\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
          },
          "status": "OK",
          "code": 200,
          "_postman_previewlanguage": "json",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "cookie": [],
          "body": "{\n  \"result\": \"Ok\",\n  \"details\": \"NO ERROR\",\n  \"State\": \"Done\"\n}"
        }
      ]
    },
    {
      "name": "👨‍🏫  POST academicstaff/SendMessageToCourse",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Authorization",
            "value": "Bearer {{staffToken}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"message\": \"محاضرة الأحد في المدرج الكبير\",\n  \"EdCourseId\": 14,\n  \"ScScheduleDtlIds\": [\n    2136\n  ]\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/academicstaff/SendMessageToCourse",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "academicstaff",
            "SendMessageToCourse"
          ]
        },
        "description": "**✅ شغال بداتا حقيقية**\n<span class=\"new\">جديد ٢</span> نفس الإعلان من حساب الدكتور، لسكاشن يختارها (من <code>academicstaff/GetMySections</code>)\n\n> بحساب **دكتور** — شغّل «0b) Login as STAFF» الأول. بتوكن طالب هيرجّع `data not found`."
      },
      "response": []
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.109.123.243.32.sslip.io"
    },
    {
      "key": "userName",
      "value": "mahmoued.eprahim.23010062"
    },
    {
      "key": "staffUserName",
      "value": "atef.dahesh"
    },
    {
      "key": "regUserName",
      "value": "mahmoued.eprahim.23010062"
    },
    {
      "key": "password",
      "value": "demo"
    },
    {
      "key": "token",
      "value": ""
    },
    {
      "key": "staffToken",
      "value": ""
    },
    {
      "key": "regToken",
      "value": ""
    },
    {
      "key": "edStudId",
      "value": ""
    },
    {
      "key": "regStudId",
      "value": ""
    },
    {
      "key": "staffId",
      "value": ""
    },
    {
      "key": "staffSeUserId",
      "value": ""
    },
    {
      "key": "seUserId",
      "value": ""
    },
    {
      "key": "seUserAccntId",
      "value": ""
    },
    {
      "key": "facultyId",
      "value": ""
    },
    {
      "key": "acadYearId",
      "value": ""
    },
    {
      "key": "semesterId",
      "value": ""
    }
  ]
}