#P1631
GET /v2/redis-accounting/documents/subsidiary
Get Documents by Subsidiary
این اندپوینت لیست اسناد حسابداری مربوط به یک کد تفضیلی را از Redis برمیگرداند. دیتای خروجی شامل اسناد، مانده فعلی، تعداد کل اسناد، و در صورت درخواست، مانده تجمیعی از ابتدای سال تا تاریخ مشخص است. عملیات بر اساس ایندکس Redis accounting:docs:subsidiary:{code} انجام میشود.
Request Overview
URL:
/v2/redis-accounting/documents/subsidiaryMethod: GET
Auth: Bearer Token (Required)
Content-Type: application/json
Query Parameters Schema
| Field | Type | Required | Description |
|---|---|---|---|
code |
integer | yes | کد تفضیلی که اسناد باید براساس آن فیلتر شوند |
from_year_start |
boolean | optional | اگر true باشد، مانده از ابتدای سال شمسی تا امروز یا تا تاریخ مشخص محاسبه میشود |
to_date |
string (YYYY-MM-DD) | optional | تاریخ پایانی برای محاسبه year_start_balance (پیشفرض: تاریخ امروز) |
Request Example
GET /v2/redis-accounting/documents/subsidiary?code=1011003&from_year_start=true&to_date=1403-09-15
Response (Success)
ساختار خروجی:
| Field | Type | Description |
|---|---|---|
success |
boolean | وضعیت نهایی درخواست |
data.documents |
array | لیست اسناد؛ توجه: مقدار برگشتی شامل [diffProcess, docs] است |
data.balance |
object | مانده فعلی Redis برای تفضیلی |
data.total_documents |
integer | تعداد کل اسناد برگرداندهشده |
data.year_start_balance |
object | فقط اگر from_year_start=true باشد |
{
"success": true,
"data": {
"documents": [
[
[1733301120.123, 1733301120.125, ...],
[
{
"id": "934221",
"date": "1403-09-01",
"debit": "250000",
"credit": "0",
"group": "10",
"general": "101",
"account": "1011",
"subsidiary": "1011003"
}
]
],
"balance": {
"debit": 250000,
"credit": 0,
"remaining": 250000
},
"total_documents": 1,
"year_start_balance": {
"debit": 250000,
"credit": 0,
"remaining": 250000,
"year_start": "1403-01-01",
"to_date": "1403-09-15"
}
}
}
}
Response (Validation Error)
{
"success": false,
"message": "خطا در اعتبارسنجی",
"errors": {
"code": [
"The code field is required."
]
}
}
Response (Server Error)
{
"success": false,
"message": "خطا در دریافت اسناد: Internal server error..."
}
Internal Redis Architecture
| Key | Type | Description |
|---|---|---|
accounting:docs:subsidiary:{code} |
Set | لیست شناسه اسناد مرتبط با این تفضیلی |
accounting:doc:{id} |
Hash | اطلاعات کامل سند |
balance:subsidiary:{code} |
Hash | مانده فعلی سندهای مربوط به این تفضیلی |
accounting:docs:by_date |
SortedSet | ایندکس تمام اسناد بر اساس تاریخ |
Process Flow
Receive Request + Validate Inputs
↓
Fetch IDs from Redis Set (accounting:docs:subsidiary:{code})
↓
Load Each Document Hash (accounting:doc:{id})
↓
Sort Documents by Date
↓
Load Current Balance (balance:subsidiary:{code})
↓
If from_year_start = true → Calculate Year-Start Balance
↓
Return Final JSON Response