متدهای دریافت و پرداخت در واسط برنامه نویسی حسابفا


Copyed
URL: https://api.hesabfa.com/v1/receipt/get

پارامترها:

apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
type نوع رسید ( جدول نوع رسید )
number شماره رسید مورد نظر
Copyed
{
    apiKey: 'asdfASR^%FDHdsfg456',
    userId: 'mail@example.com',
    password: '123456',
    loginToken: 'f6b912...45fdc',
    type: 1,
    number: 1001
} 
توجه:

بوسیله این متد رسید دریافت یا پرداخت به اشخاص، بازگردانده می شود.

آیتم های موجود در پاسخ:

Success
ErrorCode
ErrorMessage
(مشاهده توضیحات)
Result Object رسید یا دریافت مورد نظر
number شماره رسید
DateTime تاریخ رسید
Description شرح
Amount مبلغ رسید
Currency واحد پول رسید
Project پروژه
Items آرایه ای از طرف های دریافت یا پرداخت کننده. ساختار در مثال نشان داده شده است.
Contact شخص(مشخصات شخص به صورت زیر خواهد بود)
Code کد شخص
Name نام شخص
Account مسیر حساب
Amount مبلغ
Description توضیحات
Transactions آرایه ای از تراکنش های دریافتی یا پرداختی. ساختار در مثال نشان داده شده است.
Cash مشخصات صندوق
Bank مشخصات بانک
PettyCash مشخصات تنخواه گردان
Contact مشخصات شخص
Check مشخصات چک
Account مسیر حساب
Type نوع تراکنش ( جدول نوع تراکنش رسید )
Reference ارجاع
TransactionFee کارمزد خدمات بانکی
Amount مبلغ
Copyed
{
    Success: true,
    ErrorCode: 0,
    ErrorMessage: '',
    Result: {
        "Id": 100,
        "number": 1009,
        "DateTime": "2020-11-07T00:00:00",
        "Description": "دریافت وجه/چک از محسن کریمی",
        "Amount": 2500000.0000,
        "Currency": "IRR",
        "Project": "",
        "Items": [
            {
                "Contact": {
                    "Id": 3055,
                    "Code": "000009",
                    "Name": " محسن کریمی"
                },
                "Amount": 2500000.0000,
                "Account": null,
                "Description": "دریافت وجه/چک از محسن کریمی"
            },
            {...},
            {...}
        ],
        "Transactions": [
            {
                "Cash": null,
                "Bank": {
                    "Id": 1004,
                    "Code": "0001",
                    "Name": "بانک ملت"
                },
                "PettyCash": null,
                "Contact": null,
                "Check": null,
                "Account": null,
                "Type": "3",
                "Reference": null,
                "TransactionFee": 300.0000,
                "Amount": 25000000.0000
                },
            {...},
            {...}
        ]
    }
} 
توضیحات آرایه Transactions:

تراکنش در حسابفا می تواند بصورت واریز به / برداشت از صندوق (cash) ، واریز به / برداشت از بانک (bank)، واریز به / برداشت از تنخواه گردان (PettyCash)، اعتباری از شخص (Contact) و یا بصورت چکی (Check) باشد که در هر حالت آبجکت مربوطه شامل دیتا خواهد بود و سایر آبجکت ها null خواهند بود.

Copyed
URL: https://api.hesabfa.com/v1/receipt/GetById

پارامترها :

apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
type نوع رسید ( جدول نوع رسید )
id id رسید
idList لیست id رسید
Copyed
{
    apiKey: 'asdfASR^%FDHdsfg456',
    userId: 'mail@example.com',
    password: '123456',
    loginToken: 'f6b912...45fdc',
    type: 1,
    "id": 123,
    "idList": [123, 124]
} 
نکات ضروری
    یکی از پارامترهای id یا idList ارسال شود.
توجه:

بوسیله این متد رسید دریافت یا پرداخت به اشخاص، بازگردانده می شود.

آیتم های موجود در پاسخ:

Success
ErrorCode
ErrorMessage
(مشاهده توضیحات)
Result Object رسید یا دریافت مورد نظر
number شماره رسید
DateTime تاریخ رسید
Description شرح
Amount مبلغ رسید
Currency واحد پول رسید
Project پروژه
Items آرایه ای از طرف های دریافت یا پرداخت کننده. ساختار در مثال نشان داده شده است.
Contact مشخصات شخص
Account مسیر حساب
Amount مبلغ
Description توضیحات
Transactions آرایه ای از تراکنش های دریافتی یا پرداختی. ساختار در مثال نشان داده شده است.
Cash مشخصات صندوق
Bank مشخصات بانک
PettyCash مشخصات تنخواه گردان
Contact مشخصات شخص
Check مشخصات چک
Account مسیر حساب
Type نوع تراکنش ( جدول نوع تراکنش رسید )
Reference ارجاع
TransactionFee کارمزد خدمات بانکی
Amount مبلغ
Copyed
{
    Success: true,
    ErrorCode: 0,
    ErrorMessage: '',
    Result: [
        {
        "Id": 100,
        "number": 1009,
        "DateTime": "2020-11-07T00:00:00",
        "Description": "دریافت وجه فاکتور-فاکتور قروش # 1029 - محسن کریمی",
        "Amount": 2500000.0000,
        "Currency": "IRR",
        "Project": "",
        "Items": [
            {
                "Contact": {
                    "Id": 3055,
                    "Code": "000009",
                    "Name": " محسن کریمی"
                },
                "Amount": 2500000.0000,
                "Account": null,
                "Description": "دریافت وجه فاکتور-فاکتور قروش # 1029 - محسن کریمی"
            },
        ],
        "Transactions": [
            {
                "Cash": null,
                "Bank": {
                    "Id": 1004,
                    "Code": "0001",
                    "Name": "بانک ملت"
                },
                "PettyCash": null,
                "Contact": null,
                "Check": null,
                "Account": null,
                "Type": "3",
                "Reference": null,
                "TransactionFee": 300.0000,
                "Amount": 25000000.0000
                }
            ]
         },
         {...},
         {...}
    ]
} 
توضیحات آرایه Transactions:

تراکنش در حسابفا می تواند بصورت واریز به / برداشت از صندوق (cash) ، واریز به / برداشت از بانک (bank)، واریز به / برداشت از تنخواه گردان (PettyCash)، اعتباری از شخص (Contact) و یا بصورت چکی (Check) باشد که در هر حالت آبجکت مربوطه شامل دیتا خواهد بود و سایر آبجکت ها null خواهند بود.

Copyed
URL: https://api.hesabfa.com/v1/receipt/getReceipts

پارامترها:

apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
type نوع رسید ( جدول نوع رسید )
queryInfo Object فیلتر و مرتب سازی (مشاهده توضیحات)
Copyed
{
    apiKey: 'asdfASR^%FDHdsfg456',
    userId: 'mail@example.com',
    password: '123456',
    loginToken: 'f6b912...45fdc',
    type: 1,
    queryInfo:{
		sortBy: 'DateTime',
		sortDesc: true,
		take: 20,
		skip: 0
	}
} 
توجه:

بوسیله این متد لیست رسیدهای دریافت یا پرداخت به اشخاص، بازگردانده می شود.

آیتم های موجود در پاسخ:

Success
ErrorCode
ErrorMessage
(مشاهده توضیحات)
Result درون فیلد result آرایه ای از رسیدها قرار میگیرد.
TotalCount تعداد کل
FilteredCount تعداد فیلتر شده
From شماره ردیف شروع
To شماره ردیف خاتمه
List لیستی از Object های نگهدارنده اطلاعات رسیدها می باشد.هر Object شامل ساختار زیر می باشد:
number شماره رسید
DateTime تاریخ رسید
Description توضیحات
Amount مبلغ رسید
Currency واحد پول رسید
Project پروژه
Items آرایه ای از طرف های دریافت یا پرداخت کننده. ساختار در مثال نشان داده شده است.
Contact مشخصات شخص
Account مسیر حساب
Amount مبلغ
Description توضیحات
Transactions آرایه ای از تراکنش های دریافتی یا پرداختی. ساختار در مثال نشان داده شده است.
Cash مشخصات صندوق
Bank مشخصات بانک
PettyCash مشخصات تنخواه گردان
Contact مشخصات شخص
Check مشخصات چک
Type نوع تراکنش رسید ( جدول نوع تراکنش رسید )
Account مسیر حساب
Reference رجاع
TransactionFee کارمزد خدمات بانکی
Copyed
{
    Success: true,
    ErrorCode: 0,
    ErrorMessage: '',
    Result: {
        "TotalCount": 9,
        "FilteredCount": 9,
        "From": 1,
        "To": 9,
        "List": [
            {
                "Id": 4101,
                "number": 1008,
                "DateTime": "2020-11-07T00:00:00",
                "Description": "دریافت وجه فاکتور - فاکتور فروش # 1079 – محسن کریمی",
                "Amount": 0.5500,
                "Currency": "USD",
                "Project": "",
                "Items": [
                    {
                        "Contact": {
                            "Id": 3049,
                            "Code": "000003",
                            "Name": " محسن کریمی"
                        },
                        "Amount": 0.5500,
                        "Account": null,
                        "Description": "دریافت وجه فاکتور - فاکتور فروش # 1079 - محسن کریمی"
                    }
                ],
                "Transactions": [
                    {
                        "Cash": null,
                        "Bank": {
                        "Id": 1004,
                        "Code": "0001",
                        "Name": "بانک ملت"
                },
                        "PettyCash": null,
                        "Contact": null,
                        "Check": null,
                        "Account": null,
                        "Type": "3",
                        "Reference": null,
                        "TransactionFee": 300.0000,
                        "Amount": 0.5500
                    }
                ]
            }, 
            {…},
            {…}
    ]}
} 
توضیحات آرایه transactions:

تراکنش در حسابفا می تواند بصورت واریز به / برداشت از صندوق (cash) ، واریز به / برداشت از بانک (bank)، واریز به / برداشت از تنخواه گردان (pettyCash)، اعتباری از شخص (contact) و یا بصورت چکی (check) باشد که در هر حالت آبجکت مربوطه شامل دیتا خواهد بود و سایر آبجکت ها null خواهند بود.

Copyed
URL: https://api.hesabfa.com/v1/receipt/save

پارامترها:

apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
* آیتم های ستاره دار ضروری هستند.
*type نوع رسید ( جدول نوع رسید )
number شماره رسید. در صورت وجود، رسید ویرایش می شود. در صورتی که ارسال نشود، رسید جدید ذخیره خواهد شد.
dateTime تاریخ. در صورت عدم ارسال، رسید به تاریخ روز ذخیره می شود.
project نام پروژه
description شرح رسید.
*bankCode کد بانک
cashCode کد صندوق
pettyCashCode کد تنخواه گردان
accountPath مسیر حساب
*contactCode کد شخص
*amount مبلغ به ارز پایه سیستم
bankFee کارمزد خدمات بانکی
reference شماره ارجاع
currency واحد پول
currencyRate نرخ برابری ارز به ارز پایه
Copyed
{
    apiKey: 'asdfASR^%FDHdsfg456',
    userId: 'mail@example.com',
    password: '123456',
    loginToken: 'f6b912...45fdc',
    type: 1,
    description: 'دریافت وجه/چک از محسن کریمی',
    amount: 2500000.0000,
    contactCode: 9,
    bankCode: 1,
    cashCode: null,
    pettyCashCode: null,
    currency: 'IRR',
    currencyRate: 1
}
 
توجه:

بوسیله این متد یک رسید دریافت یا پرداخت در سیستم ثبت و ذخیره می شود.

توجه:

فقط یکی از پنج فیلد bankCode، cashCode ، accountPath ، contactCode و pettyCashCode باید مقدار داشته باشد. در صورت ذکر نشدن currency و currencyRate از واحد پول بانک، صندوق یا تنخواه گردان و نرخ برابری ارز پیش فرض سیستم استفاده خواهد شد.

accountPath مسیر حساب

مثال: "دارایی ها: دارایی های جاری: موجودی نقد و بانک: وجوه در راه"
اگر حساب تفصیلی نظیر شخص یا بانک داشته باشد، باید کد تفصیل مرتبط هم ارسال شود. مثلا اگر تفصیل حساب شخص باشید باید فیلد contactCode نیز ارسال گردد.

آیتم های موجود در پاسخ:

Success
ErrorCode
ErrorMessage
(مشاهده توضیحات)
Result Object رسید مورد نظر
number شماره رسید
DateTime تاریخ رسید
Description توضیحات
Amount مبلغ رسید
Currency واحد پول رسید
Project پروژه
Items آرایه ای از طرف های دریافت یا پرداخت کننده. ساختار در مثال نشان داده شده است.
Contact مشخصات شخص
Amount مبلغ
Account مسیر حساب
Description توضیحات
Transactions آرایه ای از تراکنش های دریافتی یا پرداختی. ساختار در مثال نشان داده شده است.
Cash مشخصات صندوق
Bank مشخصات بانک
PettyCash مشخصات تنخواه گردان
Contact مشخصات شخص
Check مشخصات چک
Account مسیر حساب
Type نوع تراکنش ( جدول نوع تراکنش رسید )
Reference ارجاع
TransactionFee کارمزد خدمات بانکی
Amount مبلغ
Copyed
{
    Success: true,
    ErrorCode: 0,
    ErrorMessage: '',
    Result: {
        "Id": 100,
        "number": 1009,
        "DateTime": "2020-11-07T00:00:00",
        "Description": "دریافت وجه/چک از محسن کریمی",
        "Amount": 2500000.0000,
        "Currency": "IRR",
        "Project": "",
        "Items": [
            {
                "Contact": {
                    "Id": 3055,
                    "Code": "000009",
                    "Name": " محسن کریمی"
                },
                "Amount": 2500000.0000,
                "Account": null,
                "Description": "دریافت وجه/چک از محسن کریمی"
            }
        ],
        "Transactions": [
            {
                "Cash": null,
                "Bank": {
                    "Id": 1004,
                    "Code": "0001",
                    "Name": "بانک ملت"
                },
                "PettyCash": null,
                "Contact": null,
                "Check": null,
                "Account": null,
                "Type": "3",
                "Reference": null,
                "TransactionFee":300.0000,
                "Amount": 25000000.0000
            }
        ]
    }
}
 
توضیحات آرایه Transactions:

تراکنش در حسابفا می تواند بصورت واریز به / برداشت از صندوق (cash) ، واریز به / برداشت از بانک (bank)، واریز به / برداشت از تنخواه گردان (PettyCash)، اعتباری از شخص (Contact) و یا بصورت چکی (Check) باشد که در هر حالت آبجکت مربوطه شامل دیتا خواهد بود و سایر آبجکت ها null خواهند بود.

Copyed
URL: https://api.hesabfa.com/v1/receipt/delete

پارامترها:

apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
type نوع رسید ( جدول نوع رسید )
number شماره رسید
Copyed
{
    apiKey: 'asdfASR^%FDHdsfg456',
    userId: 'mail@example.com',
    password: '123456',
    loginToken: 'f6b912...45fdc',
    type: 1,
    number: 1001
} 

آیتم های موجود در پاسخ:

Success
ErrorCode
ErrorMessage
(مشاهده توضیحات)
Result در صورت موفقیت آمیز بودن مقدار true درون Result قرار می گیرد.
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": true
} 
Copyed
URL: https://api.hesabfa.com/v1/receipt/save2

پارامترها:

apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
type نوع رسید ( جدول نوع رسید )
number شماره رسید
در صورت وجود، رسید ویرایش می شود. در صورتی که ارسال نشود، رسید جدید ذخیره خواهد شد.
description شرح رسید
currency واحد پول
currencyRate نرخ برابری ارز به ارز پایه
dateTime تاریخ. در صورت عدم ارسال، رسید به تاریخ روز ذخیره می شود.
project نام پروژه
items آرایه ای از آیتم های رسید:
account مسیر حساب
contactCode کد شخص
amount مبلغ
description شرح
transactions آرایه ای از تراکنش های رسید:
amount مبلغ
reference ارجاع
transactionFee کارمزد خدمات بانکی
bankCode کد بانک
cashCode کد صندوق
pettyCashCode کد تنخواه گردان
contactCode کد شخص
account مسیر حساب
check چک
number شماره چک
date تاریخ چک
sayyad شماره صیاد
amount مبلغ چک
payee در وجه (فقط در صورتی که چک پرداختی باشد – در رسید پرداخت، هزینه و پرداخت سایر)
bankCode کد بانکی که چک از آن صادر شده (فقط در صورتی که چک پرداختی باشد – در رسید پرداخت، هزینه و پرداخت سایر)
payerCode دریافت کننده چک (فقط در صورتی که چک دریافتی باشد – در رسید دریافت، درآمد و دریافت سایر)
bankName نام بانک صادر کننده چک (فقط در صورتی که چک دریافتی باشد – در رسید دریافت، درآمد و دریافت سایر)
bankBranch شعبه بانک چک (فقط در صورتی که چک دریافتی باشد – در رسید دریافت، درآمد و دریافت سایر)
spendCheck چک خرج شده
number شماره چک دریافتی
date تاریخ چک دریافتی
amount مبلغ چک دریافتی
Copyed
{
    apiKey: '...',
    loginToken: '...',
    type: 4,
    description: "رسید هزینه آبان ماه",
    currency: "IRR",
    currencyRate: 1,
    dateTime: "2024-07-23",
    project: "",
    items: [
        {
            account: "هزینه ها: هزینه های عملیاتی: هزینه ملزومات مصرفی",
            amount: 3200000
        }
    ],
    transactions: [
        {
            bankCode: 1,
            amount: 2000000,
            reference: "8900546",
            transactionFee: 250
        },
        {
            Check: {
                number: "5470098",
                amount: 1200000,
                sayyad: "872000545448792",
                bankName: "تجارت",
                payerCode: 2
            }
        }
    ]
}
 
توجه:

با فراخوانی این متد می توانید علاوه بر ثبت پیشرفته رسیدهای دریافت و پرداخت، رسیدهای درآمد و هزینه را نیز ذخیره کنید.

توجه:

در صورتی که رسید شامل چک باشد و وضعیت چک عادی نباشد (مثلا در جریان وصول یا خرج شده باشد) این رسید را توسط API نمی توان ویرایش کرد.

توجه:

برای ثبت رسید دریافت و پرداخت فقط ارسال کد شخص کافی است. برای ثبت رسید درآمد و هزینه مسیر حساب به صورت کامل باید ثبت شود. در صورتی که حساب تفصیل شخص داشته باشد، کد شخص نیز ضروری است.

توجه:

فقط یکی از شش فیلد bankCode، cashCode ، check ، accountPath ، contactCode و pettyCashCode, spendCheck باید مقدار داشته باشد. در صورت ذکر نشدن currency و currencyRate از واحد پول بانک، صندوق یا تنخواه گردان و نرخ برابری ارز پیش فرض سیستم استفاده خواهد شد.


فیلد spendCheck فقط در رسید پرداخت قابل استفاده است. برای ثبت خرج چک باید شماره، تاریخ و مبلغ چک دریافتی ذکر شود. در صورتی که وضعیت چک دریافتی عادی نباشد، قابل خرج کردن نیست.

توجه:

فیلد spendCheck فقط در رسید پرداخت قابل استفاده است. برای ثبت خرج چک باید شماره، تاریخ و مبلغ چک دریافتی ذکر شود. در صورتی که وضعیت چک دریافتی عادی نباشد، قابل خرج کردن نیست.

accountPath مسیر حساب

مثال: "دارایی ها: دارایی های جاری: موجودی نقد و بانک: وجوه در راه"
اگر حساب تفصیلی نظیر شخص یا بانک داشته باشد، باید کد تفصیل مرتبط هم ارسال شود. مثلا اگر تفصیل حساب شخص باشید باید فیلد contactCode نیز ارسال گردد.

آیتم های موجود در پاسخ:

Success
ErrorCode
ErrorMessage
(مشاهده توضیحات)
Result Object رسید یا دریافت مورد نظر
Number شماره رسید
DateTime تاریخ رسید
Description شرح
Amount مبلغ رسید
Currency واحد پول رسید
CurrencyRate نرخ برابری ارز به ارز پایه
Project پروژه
Items آرایه ای از طرف های دریافت یا پرداخت کننده. ساختار در مثال نشان داده شده است.
Contact شخص
Account مسیر حساب
Amount مبلغ
Description توضیحات
Transactions آرایه ای از تراکنش های دریافتی یا پرداختی. ساختار در مثال نشان داده شده است.
Cash مشخصات صندوق
Bank مشخصات بانک
PettyCash مشخصات تنخواه گردان
Contact مشخصات شخص
Check مشخصات چک
Account مسیر حساب
Type نوع تراکنش ( جدول نوع تراکنش رسید )
Reference ارجاع
TransactionFee کارمزد خدمات بانکی
Amount مبلغ
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": {
        "Id": 9178,
        "Number": 227,
        "DateTime": "2024-07-23T00:00:00+03:30",
        "Description": "رسید هزینه آبان ماه",
        "Amount": 3200000.0,
        "Currency": "IRR",
        "CurrencyRate": 1.0,
        "Project": "",
        "Items": [
            {
                "Contact": null,
                "Account": "هزینه ها : هزینه های عملیاتی : هزینه ملزومات مصرفی",
                "Amount": 3200000.0,
                "Description": "پرداخت وجه/چک بابت هزینه های عملیاتی : هزینه ملزومات مصرفی"
            }
        ],
        "Transactions": [
            {
                "Bank": {
                    "Id": 1,
                    "Code": "0001",
                    "Name": "بانک ملت"
                },
                "Cash": null,
                "PettyCash": null,
                "Contact": null,
                "Check": null,
                "Account": null,
                "Type": 3,
                "Reference": "8900546",
                "TransactionFee": 250.0,
                "Amount": 2000000.0
            },
            {
                "Bank": null,
                "Cash": null,
                "PettyCash": null,
                "Contact": null,
                "Check": {
                    "Number": "5470098",
                    "Date": "2024-07-23T00:00:00+03:30",
                    "Sayyad": "872000545448792",
                    "Amount": 1200000.0,
                    "Status": 0,
                    "BankCode": "0002",
                    "BankName": "بانك تجارت",
                    "BankBranch": null,
                    "PayerCode": null,
                    "PayerName": null,
                    "Payee": "محمد محمدی"
                },
                "Account": null,
                "Type": 4,
                "Reference": "",
                "TransactionFee": 0.0,
                "Amount": 1200000.0
            }
        ]
    }
}
 
توضیحات آرایه Transactions:

تراکنش در حسابفا می تواند بصورت واریز به / برداشت از صندوق (cash) ، واریز به / برداشت از بانک (bank)، واریز به / برداشت از تنخواه گردان (PettyCash)، اعتباری از شخص (Contact) و یا بصورت چکی (Check) باشد که در هر حالت آبجکت مربوطه شامل دیتا خواهد بود و سایر آبجکت ها null خواهند بود.