Agents API
مستندات کامل مدیریت پروفایل مشاوران، انواع مشاور و سطح دسترسیها
معرفی
پیشوند: /agents/. تمام endpointها JWT میخواهند.
لیست Endpointها
- GET /agents/ — لیست مشاوران (Admin/Staff)
- POST /agents/ — ایجاد مشاور (Admin/Staff)
- GET|PATCH|PUT|DELETE /agents/{id} — مدیریت مشاور
- GET|PATCH /agents/me — پروفایل مشاور جاری
- GET /agents/types — انواع مشاور
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 ساخته میشود.
| فیلد | نوع | اجباری | توضیحات |
|---|---|---|---|
| phonenumber | string | ✓ | شماره موبایل یکتا |
| password | string | ✓ | رمز عبور |
| first_name | string | ✗ | نام |
| last_name | string | ✗ | نام خانوادگی |
| national_code | string | ✗ | کد ملی |
| birthday_date | date | ✗ | YYYY-MM-DD |
| office_phonenumber | string | ✗ | تلفن دفتر |
| personnel_code | string | ✗ | کد پرسنلی |
| agent_type | string | ✗ | RahnVaEjare | ZaminVaVilla | Apartment |
| marriage_status | string | ✗ | married | single |
| address | string | ✗ | آدرس |
{
"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"}
]
جدول دسترسی
| عملیات | دسترسی |
|---|---|
| لیست / ایجاد / مدیریت با ID | Admin یا Staff |
| /agents/me | Agent |
| /agents/types | Authenticated |