متدهای اقلام تخفیف دار در رابطه برنامه‌نویسی حسابفا


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

پارامترها :

apiKey
userId
password
loginToken
پارامترهای اجباری برای تمامی متدها
(مشاهدۀ توضیحات)
contactCode کد شخص
productCode کد کالا
contactPath مسیر دسته‌بندی اشخاص
productPath مسیر دسته‌بندی کالاها یا خدمات
tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "contactCode": "000001",
    "productCode": "",
    "contactPath": "",
    "tag": ""
}
Copyed
curl -X POST https://api.hesabfa.com/v1/disCountItem/get \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "contactCode": "000001",
    "productCode": "",
    "contactPath": "",
    "tag": ""
}'
Copyed
<?php
$data = [
    'apiKey' => 'your-api-key',
    'loginToken' => 'your-login-token',
    'contactCode' => '000001',
    'productCode' => '',
    'contactPath' => '',
    'tag' => ''
];

$ch = curl_init("https://api.hesabfa.com/v1/disCountItem/get");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
Copyed
const data = {
    apiKey: "your-api-key",
    loginToken: "your-login-token",
    contactCode: "000001",
    productCode: "",
    contactPath: "",
    tag: ""
};

fetch("https://api.hesabfa.com/v1/disCountItem/get", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(data)
})
    .then(response => response.json())
    .then(result => {
        console.log(result);
    });
Copyed
import requests

data = {
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "contactCode": "000001",
    "productCode": "",
    "contactPath": "",
    "tag": ""
}

response = requests.post(
    "https://api.hesabfa.com/v1/disCountItem/get",
    json=data
)

result = response.json()
print(result)
Copyed
using System.Net.Http.Json;

using var client = new HttpClient();

var data = new
{
    apiKey = "your-api-key",
    loginToken = "your-login-token",
    contactCode = "000001",
    productCode = "",
    contactPath = "",
    tag = ""
};

var response = await client.PostAsJsonAsync("https://api.hesabfa.com/v1/disCountItem/get", data);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
نکات ضروری

در درخواست باید فقط یکی از آیتم‌های کدشخص یا کد کالا یا مسیر دسته‌بندی اشخاص یا مسیر دسته‌بندی کالاها ذکر شود.

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

Success
ErrorCode
ErrorMessage
(مشاهدۀ توضیحات)
Result در صورت موفقیت آمیز بودن، Object مورد نظر درون Result قرار می گیرد.
Title عنوان تخفیف
Type وضعیت سند(جدول نوع اقلام تخفیف دار)
ContactCode کد شخص
ProductCode کد کالا یا خدمت
ContactPath مسیر دسته‌بندی شخص
ProductPath مسیر دسته‌بندی کالا
ValidFrom شروع اعتبار
ValidTo پایان اعتبار
Percent درصد تخفیف
Amount مبلغ تخفیف
OneTime یکبار مصرف
UseCount تعداد استفاده
UseDate تاریخ آخرین استفاده
Info توضیحات
Tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": [
        {
            "Id": 1,
            "Title": "تخفبف 20 درصد تا سقف 100 هزار تومان مخصوص مشتریان وفادار",
            "Type": 6,
            "Info": "",
            "ContactCode": "",
            "ProductCode": "",
            "ValidFrom": "2024-05-22T00:00:00",
            "ValidTo": "2025-03-20T00:00:00",
            "Percent": 20,
            "Amount": 1000000,
            "OneTime": false,
            "UseCount": 0,
            "UseDate": "0001-01-01T00:00:00",
            "Tag": ""
        }
    ]
}
Copyed
URL: https://api.hesabfa.com/v1/disCountItem/getById

پارامترها :

apiKey
userId
password
loginToken
پارامترهای اجباری برای تمامی متدها
(مشاهدۀ توضیحات)
idList لیست id اقلام تخفیف دار
Copyed
{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "idList": [
        1
    ]
}
Copyed
curl -X POST https://api.hesabfa.com/v1/disCountItem/getById \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "idList": [
        1
    ]
}'
Copyed
<?php
$data = [
    'apiKey' => 'your-api-key',
    'loginToken' => 'your-login-token',
    'idList' => [
        1
    ]
];

$ch = curl_init("https://api.hesabfa.com/v1/disCountItem/getById");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
Copyed
const data = {
    apiKey: "your-api-key",
    loginToken: "your-login-token",
    idList: [
        1
    ]
};

fetch("https://api.hesabfa.com/v1/disCountItem/getById", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(data)
})
    .then(response => response.json())
    .then(result => {
        console.log(result);
    });
Copyed
import requests

data = {
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "idList": [
        1
    ]
}

response = requests.post(
    "https://api.hesabfa.com/v1/disCountItem/getById",
    json=data
)

result = response.json()
print(result)
Copyed
using System.Net.Http.Json;

using var client = new HttpClient();

var data = new
{
    apiKey = "your-api-key",
    loginToken = "your-login-token",
    idList = new object[]
    {
        1
    }
};

var response = await client.PostAsJsonAsync("https://api.hesabfa.com/v1/disCountItem/getById", data);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

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

Success
ErrorCode
ErrorMessage
(مشاهدۀ توضیحات)
Result در صورت موفقیت آمیز بودن، Object مورد نظر درون Result قرار می گیرد.
Title عنوان تخفیف
Type وضعیت سند(جدول نوع اقلام تخفیف دار)
ContactCode کد شخص
ProductCode کد کالا یا خدمت
ContactPath مسیر دسته‌بندی شخص
ProductPath مسیر دسته‌بندی کالا
ValidFrom شروع اعتبار
ValidTo پایان اعتبار
Percent درصد تخفیف
Amount مبلغ تخفیف
OneTime یکبار مصرف
UseCount تعداد استفاده
UseDate تاریخ آخرین استفاده
Info توضیحات
Tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": [
        {
            "Id": 1,
            "Title": "تخفبف 20 درصد تا سقف 100 هزار تومان مخصوص مشتریان وفادار",
            "Type": 6,
            "Info": "",
            "ContactCode": "",
            "ProductCode": "",
            "ValidFrom": "2024-05-22T00:00:00",
            "ValidTo": "2025-03-20T00:00:00",
            "Percent": 20,
            "Amount": 1000000,
            "OneTime": false,
            "UseCount": 0,
            "UseDate": "0001-01-01T00:00:00",
            "Tag": ""
        }
    ]
}
Copyed
URL: https://api.hesabfa.com/v1/disCountItem/getItems

پارامترها :

apiKey
userId
password
loginToken
پارامترهای اجباری برای تمامی متدها
(مشاهدۀ توضیحات)
پارامترهای اختیاری:
queryInfo Object فیلتر و مرتب‌سازی (مشاهدۀ توضیحات)
Copyed
{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "queryInfo": {
        "sortBy": "Id",
        "sortDesc": false,
        "take": 20,
        "skip": 0,
        "filters": [
            {
                "property": "Title",
                "operator": "*",
                "value": "وفادار"
            }
        ]
    }
}
Copyed
curl -X POST https://api.hesabfa.com/v1/disCountItem/getItems \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "queryInfo": {
        "sortBy": "Id",
        "sortDesc": false,
        "take": 20,
        "skip": 0,
        "filters": [
            {
                "property": "Title",
                "operator": "*",
                "value": "وفادار"
            }
        ]
    }
}'
Copyed
<?php
$data = [
    'apiKey' => 'your-api-key',
    'loginToken' => 'your-login-token',
    'queryInfo' => [
        'sortBy' => 'Id',
        'sortDesc' => false,
        'take' => 20,
        'skip' => 0,
        'filters' => [
            [
                'property' => 'Title',
                'operator' => '*',
                'value' => 'وفادار'
            ]
        ]
    ]
];

$ch = curl_init("https://api.hesabfa.com/v1/disCountItem/getItems");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
Copyed
const data = {
    apiKey: "your-api-key",
    loginToken: "your-login-token",
    queryInfo: {
        sortBy: "Id",
        sortDesc: false,
        take: 20,
        skip: 0,
        filters: [
            {
                property: "Title",
                operator: "*",
                value: "وفادار"
            }
        ]
    }
};

fetch("https://api.hesabfa.com/v1/disCountItem/getItems", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(data)
})
    .then(response => response.json())
    .then(result => {
        console.log(result);
    });
Copyed
import requests

data = {
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "queryInfo": {
        "sortBy": "Id",
        "sortDesc": False,
        "take": 20,
        "skip": 0,
        "filters": [
            {
                "property": "Title",
                "operator": "*",
                "value": "وفادار"
            }
        ]
    }
}

response = requests.post(
    "https://api.hesabfa.com/v1/disCountItem/getItems",
    json=data
)

result = response.json()
print(result)
Copyed
using System.Net.Http.Json;

using var client = new HttpClient();

var data = new
{
    apiKey = "your-api-key",
    loginToken = "your-login-token",
    queryInfo = new
    {
        sortBy = "Id",
        sortDesc = false,
        take = 20,
        skip = 0,
        filters = new object[]
        {
            new
            {
                property = "Title",
                @operator = "*",
                value = "وفادار"
            }
        }
    }
};

var response = await client.PostAsJsonAsync("https://api.hesabfa.com/v1/disCountItem/getItems", data);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

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

Success
ErrorCode
ErrorMessage
(مشاهدۀ توضیحات)
Result در صورت موفقیت آمیز بودن، Object مورد نظر درون Result قرار می گیرد.
Title عنوان تخفیف
Type وضعیت سند(جدول نوع اقلام تخفیف دار)
ContactCode کد شخص
ProductCode کد کالا یا خدمت
ContactPath مسیر دسته‌بندی شخص
ProductPath مسیر دسته‌بندی کالا
ValidFrom شروع اعتبار
ValidTo پایان اعتبار
Percent درصد تخفیف
Amount مبلغ تخفیف
OneTime یکبار مصرف
UseCount تعداد استفاده
UseDate تاریخ آخرین استفاده
Info توضیحات
Tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": [
        {
            "Id": 1,
            "Title": "تخفبف 20 درصد تا سقف 100 هزار تومان مخصوص مشتریان وفادار",
            "Type": 6,
            "Info": "",
            "ContactCode": "",
            "ProductCode": "",
            "ValidFrom": "2024-05-22T00:00:00",
            "ValidTo": "2025-03-20T00:00:00",
            "Percent": 20,
            "Amount": 1000000,
            "OneTime": false,
            "UseCount": 0,
            "UseDate": "0001-01-01T00:00:00",
            "Tag": ""
        }
    ]
}
Copyed
URL: https://api.hesabfa.com/v1/disCountItem/save

پارامترها :

apiKey
userId
password
loginToken
پارامترهای اجباری برای تمامی متدها
(مشاهدۀ توضیحات)
item Object نگهدارنده اطلاعات اقلام تخفیف دار می باشد.هر Object شامل ساختار زیر می باشد:
id
title عنوان تخفیف
type وضعیت سند(جدول نوع اقلام تخفیف دار)
percent درصد تخفیف
amount مبلغ تخفیف
validFrom شروع اعتبار
validTo پایان اعتبار
tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "item": {
        "id": 2,
        "title": "تخفیف عمومی همه کالاها",
        "type": 1,
        "percent": 5,
        "amount": 20000,
        "validFrom": "2025-01-01",
        "validTo": "2025-10-01",
        "tag": ""
    }
}
Copyed
curl -X POST https://api.hesabfa.com/v1/disCountItem/save \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "item": {
        "id": 2,
        "title": "تخفیف عمومی همه کالاها",
        "type": 1,
        "percent": 5,
        "amount": 20000,
        "validFrom": "2025-01-01",
        "validTo": "2025-10-01",
        "tag": ""
    }
}'
Copyed
<?php
$data = [
    'apiKey' => 'your-api-key',
    'loginToken' => 'your-login-token',
    'item' => [
        'id' => 2,
        'title' => 'تخفیف عمومی همه کالاها',
        'type' => 1,
        'percent' => 5,
        'amount' => 20000,
        'validFrom' => '2025-01-01',
        'validTo' => '2025-10-01',
        'tag' => ''
    ]
];

$ch = curl_init("https://api.hesabfa.com/v1/disCountItem/save");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
Copyed
const data = {
    apiKey: "your-api-key",
    loginToken: "your-login-token",
    item: {
        id: 2,
        title: "تخفیف عمومی همه کالاها",
        type: 1,
        percent: 5,
        amount: 20000,
        validFrom: "2025-01-01",
        validTo: "2025-10-01",
        tag: ""
    }
};

fetch("https://api.hesabfa.com/v1/disCountItem/save", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(data)
})
    .then(response => response.json())
    .then(result => {
        console.log(result);
    });
Copyed
import requests

data = {
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "item": {
        "id": 2,
        "title": "تخفیف عمومی همه کالاها",
        "type": 1,
        "percent": 5,
        "amount": 20000,
        "validFrom": "2025-01-01",
        "validTo": "2025-10-01",
        "tag": ""
    }
}

response = requests.post(
    "https://api.hesabfa.com/v1/disCountItem/save",
    json=data
)

result = response.json()
print(result)
Copyed
using System.Net.Http.Json;

using var client = new HttpClient();

var data = new
{
    apiKey = "your-api-key",
    loginToken = "your-login-token",
    item = new
    {
        id = 2,
        title = "تخفیف عمومی همه کالاها",
        type = 1,
        percent = 5,
        amount = 20000,
        validFrom = "2025-01-01",
        validTo = "2025-10-01",
        tag = ""
    }
};

var response = await client.PostAsJsonAsync("https://api.hesabfa.com/v1/disCountItem/save", data);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
نکات ضروری
  1. در صورتی که فیلد id ذکر شود، آیتم ویرایش خواهد شد. در غیر اینصورت آیتم جدید ثبت خواهد شد.
  2. با توجه به فیلد type فقط یکی از فیلدهای contactCode، productCode، contactPath و productPath باید مقدار داشته باشند.
  3. در صورتی که همزمان درصد تخفیف و مبلغ تخفیف ذکر شود، مبلغ تخفیف به عنوان سقف در نظر گرفته می‌شود. مثلا اگر درصد 20 و مبلغ 100,000 باشد، یعنی 20 درصد تخفیف تا سقف 100,000 (واحد پول کسب و کار).
  4. مقدار فیلدهای useCount و useDate و info توسط نرم‌افزار و با استفاده شدن تخفیف مشخص می‌شود و توسط API یا کاربر قابل تنظیم و تغییر نیست.

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

Success
ErrorCode
ErrorMessage
(مشاهدۀ توضیحات)
Result در صورت موفقیت آمیز بودن، Object اقلام تخفیف دار ذخیره شده یا ویرایش شده درون Result قرار می گیرد.
Title عنوان تخفیف
Type وضعیت سند(جدول نوع اقلام تخفیف دار)
ContactCode کد شخص
ProductCode کد کالا یا خدمت
ContactPath مسیر دسته‌بندی شخص
ProductPath مسیر دسته‌بندی کالا
ValidFrom شروع اعتبار
ValidTo پایان اعتبار
Percent درصد تخفیف
Amount مبلغ تخفیف
OneTime یکبار مصرف
UseCount تعداد استفاده
UseDate تاریخ آخرین استفاده
Info توضیحات
Tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": [
        {
            "Id": 1,
            "Title": "تخفبف 20 درصد تا سقف 100 هزار تومان مخصوص مشتریان وفادار",
            "Type": 6,
            "Info": "",
            "ContactCode": "",
            "ProductCode": "",
            "ValidFrom": "2024-05-22T00:00:00",
            "ValidTo": "2025-03-20T00:00:00",
            "Percent": 20,
            "Amount": 1000000,
            "OneTime": false,
            "UseCount": 0,
            "UseDate": "0001-01-01T00:00:00",
            "Tag": ""
        }
    ]
}
Copyed
URL: https://api.hesabfa.com/v1/disCountItem/batchSave

پارامترها :

apiKey
userId
password
loginToken
پارامترهای اجباری برای تمامی متدها
(مشاهدۀ توضیحات)
items آرایه‌ای از اقلام تخفیف دار، هر عضو آرایه شامل ساختار زیر می باشد:
id
title عنوان تخفیف
type وضعیت سند(جدول نوع اقلام تخفیف دار)
percent درصد تخفیف
amount مبلغ تخفیف
validFrom شروع اعتبار
validTo پایان اعتبار
contactPath مسیر دسته‌بندی اشخاص (برای تخفیف‌های مخصوص یک دسته از اشخاص)
tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "items": [
        {
            "id": 1,
            "title": "تخفیف عمومی همه کالاها",
            "type": 1,
            "percent": 5,
            "amount": 20000,
            "validFrom": "2025-01-01",
            "validTo": "2025-10-01",
            "tag": "-"
        },
        {
            "id": 2,
            "title": "تخفیف مشتریان وفادار",
            "type": 6,
            "percent": 20,
            "amount": 100000,
            "contactPath": "اشخاص : مشتریان وفادار",
            "validFrom": "2025-01-01",
            "validTo": "2025-10-01",
            "tag": "-"
        }
    ]
}
Copyed
curl -X POST https://api.hesabfa.com/v1/disCountItem/batchSave \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "items": [
        {
            "id": 1,
            "title": "تخفیف عمومی همه کالاها",
            "type": 1,
            "percent": 5,
            "amount": 20000,
            "validFrom": "2025-01-01",
            "validTo": "2025-10-01",
            "tag": "-"
        },
        {
            "id": 2,
            "title": "تخفیف مشتریان وفادار",
            "type": 6,
            "percent": 20,
            "amount": 100000,
            "contactPath": "اشخاص : مشتریان وفادار",
            "validFrom": "2025-01-01",
            "validTo": "2025-10-01",
            "tag": "-"
        }
    ]
}'
Copyed
<?php
$data = [
    'apiKey' => 'your-api-key',
    'loginToken' => 'your-login-token',
    'items' => [
        [
            'id' => 1,
            'title' => 'تخفیف عمومی همه کالاها',
            'type' => 1,
            'percent' => 5,
            'amount' => 20000,
            'validFrom' => '2025-01-01',
            'validTo' => '2025-10-01',
            'tag' => '-'
        ],
        [
            'id' => 2,
            'title' => 'تخفیف مشتریان وفادار',
            'type' => 6,
            'percent' => 20,
            'amount' => 100000,
            'contactPath' => 'اشخاص : مشتریان وفادار',
            'validFrom' => '2025-01-01',
            'validTo' => '2025-10-01',
            'tag' => '-'
        ]
    ]
];

$ch = curl_init("https://api.hesabfa.com/v1/disCountItem/batchSave");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
Copyed
const data = {
    apiKey: "your-api-key",
    loginToken: "your-login-token",
    items: [
        {
            id: 1,
            title: "تخفیف عمومی همه کالاها",
            type: 1,
            percent: 5,
            amount: 20000,
            validFrom: "2025-01-01",
            validTo: "2025-10-01",
            tag: "-"
        },
        {
            id: 2,
            title: "تخفیف مشتریان وفادار",
            type: 6,
            percent: 20,
            amount: 100000,
            contactPath: "اشخاص : مشتریان وفادار",
            validFrom: "2025-01-01",
            validTo: "2025-10-01",
            tag: "-"
        }
    ]
};

fetch("https://api.hesabfa.com/v1/disCountItem/batchSave", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(data)
})
    .then(response => response.json())
    .then(result => {
        console.log(result);
    });
Copyed
import requests

data = {
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "items": [
        {
            "id": 1,
            "title": "تخفیف عمومی همه کالاها",
            "type": 1,
            "percent": 5,
            "amount": 20000,
            "validFrom": "2025-01-01",
            "validTo": "2025-10-01",
            "tag": "-"
        },
        {
            "id": 2,
            "title": "تخفیف مشتریان وفادار",
            "type": 6,
            "percent": 20,
            "amount": 100000,
            "contactPath": "اشخاص : مشتریان وفادار",
            "validFrom": "2025-01-01",
            "validTo": "2025-10-01",
            "tag": "-"
        }
    ]
}

response = requests.post(
    "https://api.hesabfa.com/v1/disCountItem/batchSave",
    json=data
)

result = response.json()
print(result)
Copyed
using System.Net.Http.Json;

using var client = new HttpClient();

var data = new
{
    apiKey = "your-api-key",
    loginToken = "your-login-token",
    items = new object[]
    {
        new
        {
            id = 1,
            title = "تخفیف عمومی همه کالاها",
            type = 1,
            percent = 5,
            amount = 20000,
            validFrom = "2025-01-01",
            validTo = "2025-10-01",
            tag = "-"
        },
        new
        {
            id = 2,
            title = "تخفیف مشتریان وفادار",
            type = 6,
            percent = 20,
            amount = 100000,
            contactPath = "اشخاص : مشتریان وفادار",
            validFrom = "2025-01-01",
            validTo = "2025-10-01",
            tag = "-"
        }
    }
};

var response = await client.PostAsJsonAsync("https://api.hesabfa.com/v1/disCountItem/batchSave", data);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
نکات ضروری
  1. در صورتی که فیلد id ذکر شود، آیتم ویرایش خواهد شد. در غیر اینصورت آیتم جدید ثبت خواهد شد.
  2. با توجه به فیلد type فقط یکی از فیلدهای contactCode، productCode، contactPath و productPath باید مقدار داشته باشند.
  3. در صورتی که همزمان درصد تخفیف و مبلغ تخفیف ذکر شود، مبلغ تخفیف به عنوان سقف در نظر گرفته می‌شود. مثلا اگر درصد 20 و مبلغ 100,000 باشد، یعنی 20 درصد تخفیف تا سقف 100,000 (واحد پول کسب و کار).
  4. مقدار فیلدهای useCount و useDate و info توسط نرم‌افزار و با استفاده شدن تخفیف مشخص می‌شود و توسط API یا کاربر قابل تنظیم و تغییر نیست.

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

Success
ErrorCode
ErrorMessage
(مشاهدۀ توضیحات)
Result در صورت موفقیت آمیز بودن، Object ذخیره شده یا ویرایش شده درون Result قرار می گیرد.
Title عنوان تخفیف
Type وضعیت سند(جدول نوع اقلام تخفیف دار)
ContactCode کد شخص
ProductCode کد کالا یا خدمت
ContactPath مسیر دسته‌بندی شخص
ProductPath مسیر دسته‌بندی کالا
ValidFrom شروع اعتبار
ValidTo پایان اعتبار
Percent درصد تخفیف
Amount مبلغ تخفیف
OneTime یکبار مصرف
UseCount تعداد استفاده
UseDate تاریخ آخرین استفاده
Info توضیحات
Tag فیلد متنی قابل استفاده توسط برنامه‌نویس
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": [
        {
            "Id": 1,
            "Title": "تخفیف عمومی همه کالاها",
            "Type": 1,
            "ContactCode": "",
            "ProductCode": "",
            "ContactPath": "",
            "ProductPath": "",
            "ValidFrom": "2025-01-01T00:00:00",
            "ValidTo": "2025-10-01T00:00:00",
            "Percent": 5,
            "Amount": 20000,
            "OneTime": false,
            "UseCount": 0,
            "UseDate": "0001-01-01T00:00:00",
            "Info": "",
            "Tag": "+"
        },
        {
            "Id": 2,
            "Title": "تخفیف مشتریان وفادار",
            "Type": 6,
            "ContactCode": "",
            "ProductCode": "",
            "ContactPath": " اشخاص : مشتریان وفادار ",
            "ProductPath": "",
            "ValidFrom": "2025-01-01T00:00:00",
            "ValidTo": "2025-10-01T00:00:00",
            "Percent": 20,
            "Amount": 100000,
            "OneTime": false,
            "UseCount": 0,
            "UseDate": "0001-01-01T00:00:00",
            "Info": "",
            "Tag": "-"
        }
    ]
}
Copyed
URL: https://api.hesabfa.com/v1/disCountItem/delete

پارامترها :

apiKey
userId
password
loginToken
پارامترهای اجباری برای تمامی متدها
(مشاهدۀ توضیحات)
idList لیست id اقلام تخفیف دار
Copyed
{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "idList": [
        1,
        2
    ]
}
Copyed
curl -X POST https://api.hesabfa.com/v1/disCountItem/delete \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "idList": [
        1,
        2
    ]
}'
Copyed
<?php
$data = [
    'apiKey' => 'your-api-key',
    'loginToken' => 'your-login-token',
    'idList' => [
        1,
        2
    ]
];

$ch = curl_init("https://api.hesabfa.com/v1/disCountItem/delete");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
Copyed
const data = {
    apiKey: "your-api-key",
    loginToken: "your-login-token",
    idList: [
        1,
        2
    ]
};

fetch("https://api.hesabfa.com/v1/disCountItem/delete", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(data)
})
    .then(response => response.json())
    .then(result => {
        console.log(result);
    });
Copyed
import requests

data = {
    "apiKey": "your-api-key",
    "loginToken": "your-login-token",
    "idList": [
        1,
        2
    ]
}

response = requests.post(
    "https://api.hesabfa.com/v1/disCountItem/delete",
    json=data
)

result = response.json()
print(result)
Copyed
using System.Net.Http.Json;

using var client = new HttpClient();

var data = new
{
    apiKey = "your-api-key",
    loginToken = "your-login-token",
    idList = new object[]
    {
        1,
        2
    }
};

var response = await client.PostAsJsonAsync("https://api.hesabfa.com/v1/disCountItem/delete", data);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

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

Success
ErrorCode
ErrorMessage
(مشاهدۀ توضیحات)
Result در صورت موفقیت آمیز بودن مقدار true درون Result قرار می گیرد.
Copyed
{
    "Success": true,
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Result": true
}