Agents API

مستندات کامل مدیریت پروفایل مشاوران، انواع مشاور و سطح دسترسی‌ها


معرفی

پیشوند: /agents/. تمام endpointها JWT می‌خواهند.

لیست Endpointها
1. لیست مشاوران
GET /agents/

دسترسی: Admin یا Staff

Pagination پیش‌فرض page_size=۳۰، حداکثر ۱۰۰.

curl -X GET "http://127.0.0.1:8000/agents/?page=1" \
  -H "Authorization: Bearer ACCESS_TOKEN"
{
  "count": 3,
  "next": null,
  "previous": null,
  "results": [
    {
      "user_id": 12,
      "user_info": "09121234567",
      "agent_id": 4,
      "office_phonenumber": "02112345678",
      "personnel_code": "A-100",
      "agent_type": "Apartment",
      "marriage_status": "single",
      "address": "تهران"
    }
  ]
}
2. ایجاد مشاور
POST /agents/

دسترسی: Admin یا Staff. کاربر با role=agent ساخته می‌شود.

فیلدنوعاجباریتوضیحات
phonenumberstring✓شماره موبایل یکتا
passwordstring✓رمز عبور
first_namestring✗نام
last_namestring✗نام خانوادگی
national_codestring✗کد ملی
birthday_datedate✗YYYY-MM-DD
office_phonenumberstring✗تلفن دفتر
personnel_codestring✗کد پرسنلی
agent_typestring✗RahnVaEjare | ZaminVaVilla | Apartment
marriage_statusstring✗married | single
addressstring✗آدرس
{
  "phonenumber": "09123334455",
  "password": "strongPass123",
  "first_name": "علی",
  "last_name": "احمدی",
  "agent_type": "Apartment",
  "marriage_status": "single"
}

خطای شماره تکراری (400):

{"detail": "این شماره از قبل در سیستم موجود است."}
3. مدیریت یک مشاور (Admin/Staff)
GET /agents/{id}
PATCH /agents/{id}
PUT /agents/{id}
DELETE /agents/{id}
4. پروفایل مشاور جاری
GET /agents/me
PATCH /agents/me

دسترسی: فقط role=agent

فیلدهای agent_type و personnel_code برای مشاور read-only هستند.

{
  "user_id": 12,
  "user_info": "09121234567",
  "phonenumber": "09121234567",
  "first_name": "علی",
  "last_name": "احمدی",
  "national_code": "0011122233",
  "birthday_date": "1992-05-10",
  "agent_id": 4,
  "office_phonenumber": "02188990011",
  "personnel_code": "A-100",
  "agent_type": "Apartment",
  "marriage_status": "married",
  "address": "تهران، ولیعصر"
}
{
  "office_phonenumber": "02188776655",
  "marriage_status": "single",
  "address": "تهران، نیاوران"
}
5. انواع مشاور
GET /agents/types

دسترسی: هر کاربر احراز هویت‌شده

[
  {"value": "RahnVaEjare"},
  {"value": "ZaminVaVilla"},
  {"value": "Apartment"}
]
جدول دسترسی
عملیاتدسترسی
لیست / ایجاد / مدیریت با IDAdmin یا Staff
/agents/meAgent
/agents/typesAuthenticated