سامان نویدی

مدیر سیستم های اطلاعاتی

مهندس نرم افزار

مدیر پروژه نرم افزارهای یکپارچه سازمانی

طراح سایت

مشاور فناوری اطلاعات

مدیر سیستم نرم افزارهای یکپارچه سازمانی

0

سبد خرید شما خالی است.

سامان نویدی

مدیر سیستم های اطلاعاتی

مهندس نرم افزار

مدیر پروژه نرم افزارهای یکپارچه سازمانی

طراح سایت

مشاور فناوری اطلاعات

مدیر سیستم نرم افزارهای یکپارچه سازمانی

پروژه نرم افزار مالی مدیریت دریافت های شرکت فروش مرغ

مشاهده دمو

پروژه نرم افزارهای یکپارچه سازمانی و مدیریت دریافت های شرکت فروش مرغ

به دلیل حجم زیاد واریزی های مشتری در بانک کشاورزی، سیستمی برای مشتری طراحی گردید تا بتواند اطلاعات مربوط به واریزی و واریز کننده را از وب سرویس های بانک کشاورزی دریافت نماید و در سیستم ذخیره کند، سپس از طریق وب سرویس های نرم افزار حسابداری هلو دریافت مذکور همراه اطلاعات به این سیستم ارسال گردد، ماژول دریافت یکی از ماژول های نرم افزارهای یکپارچه سازمانی می باشد.

دیتابیس Microsoft SQL Server

زبان برنامه نویسی ASP.Net

بستر تحت وب

داکیومنت وب سرویس های شرکت هلو

نصب وب سرویس

جهت نصب ابتدا در مسیر فایل های وب سرویس بر روی Config کلیک نموده تا اجرا شود در پنجره نمایش داده شده مشخصات مسیرSql Server  که هلو بر روی آن نصب می‌باشد را وارد و بر روی دکمهTest Connection  کلیک نموده و در صورت برقراری ارتباط با موفقیت، دکمهok  را انتخاب نمایید. سپس در مسیر وب سرویس فایل Install  را به صورتRun As Administrator  اجرا نمایید تا وب‌سرویس نصب گردد. جهت اطمینان از نصب وب‌سرویس می‌بایست در مسیر سرویس های ویندوز سرویسی با نام TncHolooWebService  اضافه شده وStart  باشد در صورتی‌که مراحل فوق انجام ولی سرویس نصب نشد در مسیر وب سرویس در فولدر Java JRE  فایل jre-8u231-windows-x64.exe را اجرا نمایید و منتظر بمانید تا صفحه نصب باز شده و سپس نصب نمایید و در نهایت بعد از نصب مجددا در مسیر وب سرویس فایل Install  را نصب نموده و طبق توضیحات فوق برررسی نمایید که وب سرویس نصب و Start شده باشد.

 

 

 

متدها و پارامترها

 

آدرس وب سرویس (Address) :                      http://{IPSystem}:8080/TncHoloo/api

 

لاگین (Login) :

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

 

{Address} /Login URL
Post Http Method
Comment Type Parameter
نام کاربری اجباری string username
کلمه عبور اجباری string userpass
نام بانک اطلاعاتی اجباری string Dbname

 

نمونه مثال:

Content-Type

application/json

Body

{“userinfo”:{“username”:”admin”,”userpass”:”Base64Encode”,”dbname”:”Holoo1″}}

 

 

Response
{

“Login”:{

“State”:”True”,

“Token“”: “Bearer “,

“ErrorCode” : 0 ,

“Error”:””}

}

 

توضیحات پارامتر خروجی :

·        State : می تواند مقادیر True یا False  باشد .

درصورتیکه مقدارTrue باشد

لاگین با موفقیت انجام شده و فیلد Token  مقدار دهی می شود

در صورتیکه False باشد

کد خطاها در فیلد ErrorCode  و شرح خطا  Error دیده می شود .

برای مشاهده کدهای خطا، به جدول آن مراجعه نمایید.

 

 

پارامتر های : Header

·        Authorization  : مقدار آن با Token  دریافتی در لاگین پر می شود.

·        Content-Type  : application/json

 

 
 

 

سطح ۱

 

۱- لیست اشخاص (Customer) : دریافت لیست اشخاص متد Customer می باشد. پارامترهای ورودی و خروجی آن به شرح زیر می باشد.

{Address}/Customer URL
Get Http Method
Comment Type Parameter
کد طرف حساب اختیاری string code
کد طرف حساب از اختیاری string code.from
کد طرف حساب تا اختیاری string code.to
خریدار اختیاری boolean purchaser
فروشنده اختیاری boolean seller
واسطه اختیاری boolean vaseteh
تاریخ تغییر اشخاص از اختیاری date date.from
تاریخ تغییر اشخاص تا اختیاری date date.to
کدملی شخص اختیاری string nationalid
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال:

دریافت لیست اشخاص از کد طرف حساب ۰۰۰۰۱ تا کد ۰۰۰۰۸ :

Query Parameters

{Address}/Customer?code.from=00001&code.to=00008

 

 

Response
{

“customer”:[{

“Code”:”00001″,

“Name”:”تست ۳۰″,

“NationalId”:”1000000″,

“EconomicId”:”1234569999″,

“BedSarfasl”:”1030212″,

“BesSarfasl”:”4010046″,

“IsPurchaser”:”true”,

“IsSeller”:”true”,

“IsBlackList”:”true”,

“Mandeh”:”50000.0″,

“Credit”:”30000.0″,

“CustType”:”0″,

“IsVaseteh”:”true”,

“VasetehPorsant”:”5.0″,

“Tel”:”668781666″,

“Mobile”:”09111111″,

“Fax”:”02100000″,

“City”:”تهران “,

“Ostan”:”تهران “,

“Mantagheh”:”3″,

“ZipCode”:”2323232323″,

“Address”:”تهران ,تهران ,منطقه ۳,تهران – میرداماد “,

“Job”:”ازاد”,

“Email”:”test@yahoo.com”,

“ErpCode”:”bBAPOg5mVA0=”

},{…}]}

 

توضیحات پارامترهای خروجی :

·        Code : کد طرف حساب

·        Name : نام طرف حساب

·        BedSarfasl : سرفصل بدهکاری

·        BesSarfasl : سرفصل بستانکاری

·        IsPurchaser : خریدار

ü     می تواند مقادیر true  یاfalse  بگیرد .

·        IsSeller : فروشنده

ü     می تواند مقادیر true  یاfalse  بگیرد .

·        IsBlackList : لیست سیاه

ü     می تواند مقادیر true  یاfalse  بگیرد .

·        Mandeh : مانده طرف حساب

·        Credit : حد اعتبار

·        CustType : نوع بدهکاری/ بستانکاری

ü     می تواند مقادیر ۰ یا ۱ بگیرد .

·        IsVaseteh : واسطه

ü     می تواند مقادیر true  یاfalse  بگیرد .

·        VasetehPorsant : پورسانت واسطه

·        Tel : تلفن

·        Mobile : موبایل

·        Fax : فکس

·        City : شهر

·        Ostan : استان

·        Mantagheh : منطقه

·        ZipCode : کدپستی

·        Address : آدرس

·        Job : شغل

·        Email : ایمیل

·        ErpCode : شناسه طرف حساب درج شده در هلو

·        Type: ماهیت حقوقی شخص (حقیقی = 1 و حقوقی = 2 و حقوقی(دولتی) = 3

 

به کمک {address}/Customer/2/10 به عنوان مثال، می توانید به وب سرویس درخواست دهید که طرف حساب ها را به صورت ده تایی صفحه بندی کند و صفحه دوم از همه طرف حساب ها را نمایش دهد.

 
 

 

 

۲- لیست گروه های اصلی (MainGroup ) :
{Address}/MainGroup URL
Get Http Method

 

 

نمونه مثال دریافت لیست گروه های اصلی :

{Address}/MainGroup

 

 

 

Response

{

“mainGroup”:[{

“Name”:”test”,

“ErpCode”:”bBAHfg==”,

“]}

 

توضیحات پارامترهای خروجی :

·        Name : نام گروه اصلی

·        ErpCode : شناسه گروه اصلی درج شده در هلو

 

 

۳- لیست گروه های فرعی (SideGroup) :
{Address}/ SideGroup URL
Get Http Method

 

 

نمونه مثال لیست گروه های فرعی :

{Address}/ SideGroup

 

 

Response
{

“sideGroup”:[{

“Name”:”test”,

“ErpCode”:”bBAHNA1jDg0=”,

“MainGroupName”:”test”,

“MainErpCode”:”bBAHfg==”

}

]}

 

توضیحات پارامترهای خروجی :

·        Name : نام گروه فرعی

·        ErpCode : شناسه گروه فرعی درج شده در هلو

·        MainGroupName : نام گروه اصلی

·        MainErpCode : شناسه گروه اصلی درج شده در هلو

 

 

۴- لیست واحدها (Unit) :
{Address}/ Unit URL
Get Http Method

 

نمونه مثال لیست واحدها :

{Address}/ Unit

 

 

Response
{

“unit”:{

“Name”:”بسته”,

“ErpCode”:”bAVzfg==”

}}

 

 

توضیحات پارامترهای خروجی :

·        Name : نام واحد کالا

·        ErpCode : شناسه واحد درج شده در هلو

 

 

۵- لیست کالاها (Product) :
{Address}/ Product URL
Get Http Method
Comment Type Parameter
کد کالا اختیاری string code
تاریخ تغییر کالاها از اختیاری date date.from
تاریخ تغییر کالاها تا اختیاری date date.from
کد گروه اصلی (ErpCode) اختیاری string maingrouperpcode
کد گروه فرعی (ErpCode) اختیاری string sidegrouperpcode
عکس کالا اختیاری Boolean getimage
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال لیست کالاها :

دریافت کالا با کد ۰۰۲۱۵۰۰۲ و erpcode گروه اصلی و فرعی آن به ترتیب  برابر bBAHfg== و bBAHOw5jDg0= :

Query Parameters

{Address}/Product?code=00215002&maingrouperpcode=bBAHfg==&sidegrouperpcode=bBAHOw5jDg0=

 

 

Response
{“product”:[{

“Code”:”00215003″,

“Name”:”test”,

“Few”:”0.0″,

“fewkarton”:”0″,

“BuyPrice”:”0.0″,

“SellPrice”:”1680.0″,

“LastBuyPrice”:”2000.0″,

“SellPrice2″:”1750.0”,

“SellPrice3″:”0.0”,

“SellPrice4″:”0.0”,

“SellPrice5″:”1500.0”,

“SellPrice6″:”0.0”,

“SellPrice7″:”0.0”,

“SellPrice8″:”0.0”,

“SellPrice9″:”0.0”,

“SellPrice10″:”0.0”,

“selpricekarton”:”0″,

“CountInKarton”:”0.0″,

“CountInBasteh”:”0.0″,

“MainGroupName”:”test”,

“MainGroupErpCode”:”bBAHfg==”,

“SideGroupName”:”test”,

“SideGroupErpCode”:”bBAHNA1jDg0=”,

“ErpCode”:”bBAHNA1mckd4QB4O”,

“image”:”base 64 encrypt”,

“serials”: [

“۱۱۱”,

“۱۲۳”

]

}]}

 

توضیحات پارامترهای خروجی :

·        Code :کد کالا

·        Name : نام کالا

·        Few : مقدار

·        Fewkarton : موجودی کارتن

·        BuyPrice : قیمت خرید

·        SellPrice : قیمت فروش

·        SellPrice2: قیمت فروش ۲

·        SellPrice3 : قیمت فروش ۳

·        SellPrice4 : قیمت فروش ۴

·        SellPrice5 : قیمت فروش۵

·        SellPrice6 : قیمت فروش۶

·        SellPrice7 : قیمت فروش۷

·        SellPrice8 : قیمت فروش۸

·        SellPrice9 : قیمت فروش۹

·        SellPrice10 : قیمت فروش ۱۰

·        Selpricekarton : قیمت فروش کارتن

·        MainGroupName : نام گروه اصلی

·        MainGroupErpCode : شناسه گروه اصلی درج شده در هلو

·        SideGroupName : نام گروه فرعی

·        SideGroupErpCode : شناسه گروه فرعی درج شده در هلو

·        ErpCode : شناسه کالا درج شده در هلو

·        ErpImage: شناسه عکس با فرمت ۶۴ encrypt

·        Serials: سریال های موجود برای کالا

·        Morecodes: کدهای بیشتر کالا

 

به کمک {address}/Product/2/10 به عنوان مثال، می توانید به وب سرویس درخواست دهید که کالاها را به صورت ده تایی صفحه بندی کند و صفحه دوم از همه کالاها را نمایش دهد.

 

جستجوی نام کالا

به صورت تک کلمه ای:

مثال ۱: (جستجوی کلمه به کلمه)

?name=چیپ مز

در این حالت تمام کالاهایی که نام آن‌ها شامل چیپ و کلمه‌های بعدی آن شامل مز باشد دریافت خواهند شد. مثلا (چیپس مزمز ساده)، (چیپس فلفلی مزمز) و (مزه چیپس تنوری مزمز) دریافت می‌شود.

مثال ۲:

?name=”چیپس”

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

به صورت کلمات جداگانه:

مثلا

?name=”کالا۱”,کالا۲

در این حالت کالاهایی که نامشان دقیقا کالا۱ هست و همچنین کالاهایی که در نامشان کالا۲ وجود دارد دریافت خواهند شد.

در این حالت هم امکان جستجوی کلمه به کلمه برای هریک از کلمات، مثل حالت تک کلمه‌ای وجود دارد.

 

سطح ۲

 

ثبت اطلاعات :

در وب سرویس هلو امکان ثبت اطلاعات از جمله : ثبت کالا و اصلاح آن، ثبت طرف حساب و اصلاح آن ، امکان ثبت پیش فاکتور و سفارش، امکان ثبت فاکتور، امکان ثبت سند حسابداری می‌باشد .در ادامه به معرفی پارامترهای ثبت اطلاعات می پردازیم .

 

۱-ثبت کالا (Product):

۱-۱-درج کالا:

{Address}/api/Product URL
Post Http Method
Comment Type Parameter
شناسه سمت اختیاری int id
شناسه گروه فرعی اجباری string sidegroupErpcode
کد کالا اختیاری string code
نام کالای جدید اجباری string name
مقدار اول ‌دوره اختیاری string few
فی اول دوره اختیاری float buyprice
قیمت فروش۱ اختیاری     float sellprice
قیمت فروش۲ اختیاری float sellprice2
قیمت فروش۳ اختیاری float Sellprice3
قیمت فروش۴ اختیاری float Sellprice4
قیمت فروش۵ اختیاری float Sellprice5
قیمت فروش۶ اختیاری float Sellprice6
قیمت فروش۷ اختیاری float Sellprice7
قیمت فروش۸ اختیاری float Sellprice8
قیمت فروش۹ اختیاری float Sellprice9
قیمت فروش۱۰ اختیاری float Sellprice10
تعداد در کارتن اختیاری string countinkarton
تعداد در بسته اختیاری string countinbasteh
کد واحد کالا اختیاری string uniterpcode

 

نمونه مثال ثبت کالا:

برای مثال ثبت کالا با نام تست ۲ و کد ۱۲۵، مقدار ۱۰ ، قیمت فروش ۱۰۰۰ و …. :

 

Body

{“productinfo”:[{

“id”:”11″,

“sidegrouperpcode”:”bBALNA1jDg0=”,

“code”:”125″,

“name”:”تست ۲″,

“few”:10,

“buyprice”:1000,

“sellprice”:1500,

“sellprice2”:2000,

“sellprice3”:2500,

“sellprice4”:3000,

“sellprice5”:3500,

“sellprice6”:4000,

“sellprice7”:45000,

“sellprice8”:5000,

“sellprice9”:5500,

“sellprice10”:6000,

“countinkarton”:1,

“countinbasteh”:1,

“uniterpcode”:”bAVzfg==”}]}

 

Response

{“Header”:

“Product”,”Success”:{

“Id”:”11″,

“ErpCode”:”bBALNA1mckd4dh4O”}}

 

توضیحات پارامترهای خروجی :

·        Id : شناسه

·        ErpCode: شناسه کالای درج شده

 

۱-۲-اصلاح کالا:
{Address}/api/Product URL
Put Http Method
Comment Type Parameter
شناسه سمت کلاینت اختیاری int id
شناسه کالا اجباری int erpcode
کد کالا اختیاری string code
نام کالا اختیاری string name
قیمت فروش۱ اختیاری Float sellprice
قیمت فروش۲ اختیاری Float sellprice2
قیمت فروش۳ اختیاری Float Sellprice3
قیمت فروش۴ اختیاری Float Sellprice4
قیمت فروش۵ اختیاری Float Sellprice5
قیمت فروش۶ اختیاری Float Sellprice6
قیمت فروش۷ اختیاری Float Sellprice7
قیمت فروش۸ اختیاری Float Sellprice8
قیمت فروش۹ اختیاری Float Sellprice9
قیمت فروش۱۰ اختیاری Float Sellprice10
تعداد درکارتن اختیاری    Float countinkarton
تعداد در بسته اختیاری Float countinbasteh
کد واحد کالا اختیاری string uniterpcode

 

 

 

نمونه مثال اصلاح کالا:

اصلاح کالای با شناسه کالا bBALNA1mckd4dh4O:

Body

{“productinfo”:[{

“id”:”11″,

“erpcode”:”bBALNA1mckd4dh4O”,

“code”:”125″,

“name”:”کالایتست “,

“buyprice”:1000,

“sellprice”:1500,

“sellprice2”:2000,

“sellprice3”:2500,

“sellprice4”:3000,

“sellprice5”:3500,

“sellprice6”:4000,

“sellprice7”:45000,

“sellprice8”:5000,

“sellprice9”:5500,

“sellprice10”:6000,

“countinkarton”:1,

“countinbasteh”:1,

“uniterpcode”:”bAVzfg==”}]}

 

 

Response

{“Header”:

“Product”,”Success”:{

“Id”:”11″,

“ErpCode”:”bBALNA1mckd4dh4O”}}

 

توضیحات پارامترهای خروجی :

·        Id : شناسه

·        Erpcode : شناسه کالای اصلاح شده

 

 

۲- ثبت اشخاص (Customer ) :

۲-۱-درج اشخاص:

 

{Address}/ Customer URL
Post Http Method
Comment Type Parameter
شناسه سمت کلاینت اختیاری string id
کد طرف حساب اختیاری string code
نام طرف حساب اجباری string name
خریدار اجباری boolean ispurchaser
فروشنده اجباری boolean isseller
لیست سیاه اختیاری boolean isblacklist
نوع بدهکاری/ بستانکاری اجباری integer custtype
سرفصل بدهکاری اختیاری string bedsarfasl
کد ملی اختیاری string nationalid
کد اقتصادی اختیاری string economicid
حد اعتبار اختیاری string Credit
تلفن اختیاری string tel
موبایل اختیاری string mobile
فکس اختیاری string fax
شهر اختیاری string city
استان اختیاری string ostan
منطقه اختیاری string mantagheh
ایمیل اختیاری string email
کدپستی اختیاری string zipcode
آدرس اختیاری string address
ماهیت حقوقی(حقیقی:۱– حقوقی:۲-دولتی:۳) اختیاری integer type

 

نمونه مثال درج اشخاص :

درج شخص با کد ۱۲۴۴، نام : تست هلو ، خریدار و فروشنده و … :

Body

{“custinfo”:[{

“id”:”11″,

“code”:”1244″,

“name”:”تست هلو”,

“ispurchaser”:true,

“isseller”:true,

“isvaseteh”:true,

“isblacklist”:true,

“Credit”:96000,

“custtype”:0,

“bedsarfasl”:”00059″,

“nationalid”:”1222200000″,

“economicid”:”3333333333″,

“tel”:”021″,

“mobile”:”0912″,

“fax”:”021″,

“city”:”تهران “,

“ostan”:”تهران “,

“mantagheh”:”3″,

“email”:”test@test”,

“zipcode”:”222222222″,

“address”:”تهران “,

“type”: 2}]}

 

Response
{“Header”:”Customer”,”Success”:{

“Id”:”11″,

“ErpCode”:”bBAPOg5meg0=”,

“ReturnParam1″:”1236”,

“ReturnParam2″:”1030206”,

“ReturnParam3″:”4010045”}}

 

توضیحات پارامترهای خروجی :

·        Id : شناسه سمت کلاینت

·        Erpcode : شناسه طرف حساب درج شده در هلو

·        ReturnParam1 : کد مشتری ثبت شدهدر هلو

·        Param2‌Return : کد سرفصل حسابداری بدهکار ثبت شده در هلو

·        ReturnParam3 : کد سرفصل حسابداری بستانکار ثبت شده در هلو

 

 

 

 

۲-۲- اصلاح اشخاص:

 

{Address}/ Customer URL
Put Http Method
Comment Type Parameter
ErpCodeشناسه طرف حساب درج شده در هلو اجباری string code
خریدار اختیاری boolean ispurchaser
فروشنده اختیاری boolean isseller
لیست سیاه اختیاری boolean isblacklist
نوع بدهکاری/ بستانکاری اختیاری integer custtype
سرفصل بدهکاری اختیاری string bedsarfasl
کد ملی اختیاری string nationalid
کد اقتصادی اختیاری string economicid
حد اعتبار اختیاری string Credit
تلفن اختیاری string tel
موبایل اختیاری string mobile
فکس اختیاری string fax
شهر اختیاری string city
استان اختیاری string ostan
منطقه اختیاری string mantagheh
ایمیل اختیاری string email
کدپستی اختیاری string zipcode
آدرس اختیاری string address

 

نمونه مثال اصلاح اشخاص :

اصلاح شخص با erpcode”:”bBAPNA12dg0= ، فعال کردن فیلد لیست سیاه، تغییر کد ملی و کد اقتصادی :

Body

{“custinfo”:[{

“erpcode”:”bBAPNA12dg0=”,

“isblacklist”:true,

“nationalid”:”49300223323″,

“economicid”:”56565″}]}

 

 

Response
{“Header”:”Customer”,”Success”:{

“ErpCode”:”FmNleiIZGB9AZh4O”}

}

 

توضیحات پارامترهای خروجی :

·        Erpcode : شناسه طرف حساب درج شده در هلو

 

۳- درج فاکتور : این بخش شامل ثبت پیش فاکتور، سفارش، فاکتور خرید، فروش و … می باشد .

همچنین هر کدام از این متدها نیز شامل اطلاعات فاکتور و اقلام فاکتور می باشد.

 

۳-۱- درج پیش فاکتور  (PreInvoice ) :

 

{Address}/ Invoice/PreInvoice URL
Post Http Method
پارامترهای تیتر پیش فاکتور ( invoiceinfo )
Comment Type Parameter
شناسه سمت کلاینت اجباری string id
شناسه طرف حساب درج شده در هلو اجباری string customererpcode
تاریخ فاکتور اجباری date date
ساعت فاکتور اجباری time time
تخفیف کلی پیش فاکتور اختیاری float discount
پارامترهای اقلام پیش فاکتور (detailinfo )
Comment Type Parameter
شناسه سمت کلاینت اجباری string id
شناسه کالا درج شده در هلو اجباری string ProductErpCode
تعداد اجباری Float few
کارتن اختیاری Float karton
قیمت اجباری Float price
مبلغ تخفیف سطری اختیاری float discountprice
درصد تخفیف سطری اختیاری Float discountpercent
مالیات اختیاری Float levy
عوارض اختیاری Float scot
شناسه واحد درج شده در هلو اختیاری string uniterpcode
توضیحات اختیاری string Comment

 

نمونه مثال درج فاکتور(پیش فاکتور) :

 

درج پیش فاکتور با مشخصات تیتر فاکتور:  customererpcode”:”bBAPNA12cg0= و تاریخ “:”۲۰۱۹-۱۰-۱۵۶″ و ساعت فاکتور ۱۱:۳۵ و مشخصات ریز فاکتور (اقلام) : ProductErpCode”:”bBALNA1mckd7Zh4O و مقدار ، قیمت۲۰۰۰ و مالیات ۳ ، عوارض۶

Body

{“invoiceinfo”:[{“id”:”22″,

customererpcode”:”bBAPNA12cg0=”,”

date”:”2019-10-15″,

“time”:”11:35″,

“comment”:”2222″,

“levy”:3,

“scot”:6,

“detailinfo”:{“id”:”2222″,

“ProductErpCode”:”bBALNA1mckd7Zh4O”,

“few”:1,

“price”:2000,

“levy”:0,

“scot”:0}}]}

 

Response
{

“Header”:”Invoice”,”Success”:{

“Id”:”22″,

“ErpCode”:”bDNzfg==”,

“ReturnParam1″:”2”}

}

 

 

توضیحات پارامترهای خروجی :

  • Id : شناسه
  • ErpCode : همان شناسه پیش فاکتور درج شده در هلو می‌باشد .
  • ReturnParam1 : شماره فاکتور (پیش فاکتور(

 

۳-۲- درج سفارش  (Order) :

 

{Address}/ Invoice/Order URL
Post Http Method
پارامترهای تیتر سفارش( invoiceinfo )
Comment Type Parameter
شناسه سمت کلاینت اجباری string id
نوع سفارش (۱=فروش، ۳= خرید) اجباری integer type
شناسه طرف حساب درج شده در هلو اختیاری string customererpcode
تاریخ فاکتور اختیاری date date
ساعت فاکتور ختیاری date time
پارامترهای اقلام سفارش (detailinfo )
Comment Type Parameter
شناسه سمت کلاینت اجباری string id
شناسه کالا درج شده در هلو اجباری string ProductErpCode
تعداد اجباری Float few
کارتن اختیاری Float karton
قیمت اجباری Float price
مالیات اختیاری Float levy
عوارض اختیاری Float scot
شناسه واحد درج شده در هلو اجباری string uniterpcode
توضیحات اختیاری string comment

 

نمونه مثال درج فاکتور(سفارش) :

 

درج فاکتور با مشخصات تیتر فاکتور:  customererpcode”:”bBAPNA12dg0= و تاریخ “:”۲۰۱۹-۰۵-۰۶″ و ساعت فاکتور ۱۰:۱۲ و مشخصات ریز فاکتور (اقلام) : ProductErpCode”:”bBAHOw5mckd7QB4O و مقدار ۱ ، کارتن ۱ ، قیمت ۵۰۰۰ و مالیات ۶ ، عوارض ۳

Body

{“invoiceinfo”:[{

“id”:1,

“type”: 1,

“customererpcode”:”bBAPNA12dg0=”,

“date”:”2019-05-06″,

“time”:”10:12″,

“detailinfo”:{

“id”: 1,

“ProductErpCode”:”bBAHOw5mckd7QB4O”,

“few”:1,”karton”:1,

“price”:5000,

“levy”:6,”scot”:3}

}]}

 

 

Response
{

“Header”:”Invoice”,

“Success”:{

“Id”:”11″,

“ErpCode”:”bDNzfg==”,

“ReturnParam1″:”2”}

}

 

توضیحات پارامترهای خروجی :

·        Id : شناسه

·        ErpCode : همان شناسه سفارش درج شده در هلو می‌باشد .

·        ReturnParam1 : شماره فاکتور (سفارش)

 

 

 

۴- درج فاکتور(Invoice):

این بخش شامل ثبت فاکتور فروش، برگشت از فروش، خرید، برگشت از خرید می باشد

هر کدام از این متدها نیز شامل اطلاعات فاکتور و اقلام فاکتور می باشد.

 

 

{Address}/ Invoice/Invoice URL
Post Http Method
پارامترهای تیترفاکتور ( invoiceinfo )
Comment Type Parameter
شناسه سمت کلاینت اختیاری string id
نوع فاکتور (فروش =۱،  برگشت از فروش =۲                                خرید =۳ ،  برگشت از خرید = 4) اجباری integer type
شناسه طرف حساب هلو اجباری string customererpcode
تاریخ فاکتور اجباری date date
ساعت فاکتور اجباری time time
مبلغ نقد اختیاری Float Cash
سرفصل نقد(صندوق) string CashSarfasl
مبلغ کارت خوان Float Bank
سرفصل کارت خوان (بانک) string BankSarfasl
مبلغ نسیه Float Nesiyeh
مبلغ تخفیف Float Discount
مالیات (به درصد) اختیاری Float Levy
عوارض (به درصد) اختیاری Float Scot
نوع فاکتور (بیدک،عمدکس) اختیاری

بیدک = 1

عمدکس =۲

integer kind
پارامترهای اقلام فاکتور (detailinfo )
Comment Type Parameter
شناسه سمت کلاینت اختیاری string Id
شناسه کالای درج شده در هلو اجباری string ProductErpCode
تعداد اجباری Float Few
قیمت اجباری Float Price
مالیات (به درصد) اختیاری Float Levy
عوارض (به درصد) اختیاری Float Scot
توضیحات کالا اختیاری string Comment
سریال‌های کالا List serials
نمونه مثال درج فاکتور :

ثبت فاکتور فروش با شناسه طرف حساب bBAPNA12dg0= و تاریخ ۲۰۱۹-۰۵-۰۶ و … :

Body

{“invoiceinfo”:[{

“id”:”1″,

“Type”:”1″,

“customererpcode”:”bBAPNA12dg0=”,

“date”:”2019-05-06″,

“time”:”10:12″,

“Cash”:100,

“CashSarfasl”:”10100010001″,

“Bank”:200,

“BankSarfasl”:”10200010001″,

“Nesiyeh”:780,

“Discount”:10,

“detailinfo”:{

“id”:”1″,

“serials” : [

“۱”,

“۱۲۶”

],

“ProductErpCode”:”bBAHOw5mckd7QB4O”,

“few”:1,”price”:1000,”levy”:6,”scot”:3}}]}

 

Response

 

{

“Header”:”Invoice”,

“Success”:{

“Id”:”1″,

“ErpCode”:”bDNzfg==”,

“ReturnParam1″:”2”

“ReturnParam2″:”100”}

}

 

توضیحات پارامترهای خروجی :

·        Id: شناسه

·        ErpCode: همان شناسه فاکتور درج شده در هلو می‌باشد.

·        ReturnParam1: شماره فاکتور ثبت شده در هلو

·        ReturnParam2: شماره ثابت سند مربوط به فاکتور

توضیحات پارامترهای ورودی:

·        Levy و scot: هم در تیتر هم در ریز فاکتور امکان درج مالیات و عوارض وجود دارد اما با توجه به تنظیمات هلو باید این مقادیر داده شوند. بدین منظور وارد هلو شده و در قسمت تنظیمات نرم­افزار در بخش فاکتور – مالی، در قسمت محاسبه عوارض و مالیات و بخش نحوه محاسبه مالیات و عوارض در فاکتور اگر “محاسبه به صورت کلی” انتخاب شده باشد باید مقادیر مالیات و عوارض به صورت درصدی در تیتر فاکتور ارسال شوند و اگر محاسبه به صورت جداگانه برای هرکالا انتخاب شده باشد باید در جیسان مالیات و عوارض هر کالا جداگانه (به درصد) داده شود.

·        Serials: می‌توانید به ازای هرکالا در فاکتور فروش، برگشت از خرید، خرید و برگشت از فروش با سریال، فاکتور ثبت کنید. اگر در تعریف کالا تیک اجباری بودن استفاده از سریال خورده باشد در وب سرویس اگر بدون وارد نمودن این مقدار برای کالا فاکتور بزنید خطا دریافت خواهید کرد.

 

۱-۴- درج هزینه در فاکتور

می­توان با داشتن ErpCode طرف حساب و همچنین کد سرفصل هزینه­های موردنظر، هنگام درج فاکتور فروش یا خرید، اقدام به ثبت هزینه کرد. برای اینکار می­توان کلید “hazineinfo” را در json ثبت فاکتور با پارامترهای زیر اضافه کرد:

 

 

Comment Type Parameter
ErpCode طرف حساب اجباری string customererpcode
کد سرفصل هزینه اجباری string hazinehsarfaslcode
قیمت هزینه اجباری Float hazinehamount

 

 

 

نمونه مثال درج هزینه در فاکتور :

ثبت هزینه در فاکتور به حساب طرف حساب bBAPNA12eg0= :

Body

{“invoiceinfo”:[{

…,

“hazineinfo” : [

{

“customererpcode”: “bBAPNA12eg0=”,

“hazinehsarfaslcode”: “6010059”,

“hazinehamount”: 200

}

],

“detailinfo”:{

}}]}

 

 

۴-۲- ثبت درآمد در فاکتور

همانند ثبت هزینه با تفاوت در کلیدهای ارسالی به صورت زیر:

Comment Type Parameter
ErpCode طرف حساب اجباری string customererpcode
کد سرفصل درآمد اجباری string sarfaslcode
قیمت درآمد اجباری Float amount

 

نمونه مثال درج درآمد در فاکتور :

ثبت درآمد در فاکتور به حساب طرف حساب bBAPNA12eg0= :

Body

{“invoiceinfo”:[{

…,

“incomeinfo” : [

{

“customererpcode”: “bBAPNA12eg0=”,

“sarfaslcode”: “7020001”,

“amount”: 200

}

],

“detailinfo”:{

}}]}

۵- شماره فاکتور (PreInvoiceConvert): با داشتن Erpcode های تولید شده در قسمت درج سفارش و پیش فاکتور می توانیم از تبدیل پیش فاکتور و یا سفارش خود به فاکتور مطلع شویم.

{Address}/ Invoice/PreInvoiceConvert URL
Get Http Method
Comment Type Parameter
شناسه اجباری string erpcode

 

نمونه مثال شماره فاکتور :

دریافت شماره فاکتور پیش فاکتور با کد  erpcode”:”bD4Xfg==:

Query Parameters

{Address}/Invoice/PreInvoiceInfo?invoiceinfo=[{“erpcode”:”bD4Xfg==”}]

 

دریافت شماره فاکتور سفارش با کد  erpcode”:”bD4Xfg== :

Query Parameters

{Address}/Invoice/OrderInfo?invoiceinfo=[{“erpcode”:”bD4Xfg==”}]

 

 

 

Response
{

“Header”:”InvoiceInfo”,”Success”:{

“ErpCode”:”bDNzfg==”,

“ReturnParam1″:”21970”,

“ReturnParam2″:”1551”}

}

 

توضیحات پارامترهای خروجی :

·        ErpCode : شناسه فاکتور

·        ReturnParam1 : شماره فاکتور

·        ReturnParam1 : شماره سند

 

 

۶- لیست فاکتورها (Invoice) : گزارش فاکتورهای ثبت شده با انتخاب نوع فاکتور و پر کردن فیلد شماره فاکتور یا طبق تاریخ نمایش داده می شود .

 

 

 

{Address}/Invoice URL
Get Http Method
Comment Type Parameter
شماره فاکتور اختیاری string Code
شماره فاکتور از اختیاری string code.from
شماره فاکتور تا اختیاری string code.to
نوع فاکتور اختیاری string Type
شماره سند اختیاری string Sanadcode
تاریخ از اختیاری date date.from
تاریخ تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال لیست فاکتورها :

 

دریافت لیست فاکتورهای از شماره ۱۰ تا ۲۰۰ از نوع خرید(۱) :

 

Query Parameters

{Address}/Invoice?code.from=10&code.to=200&type=2

 

 

 

Response

{

“invoice”:[{

“Code”:”1″,

“Type”:”خرید”,

“SanadCode”:”177″,

“comment”:”invoice comment”

“CustomerName”:”test”,

“CustomerErpCode”:”bBAPOw5Ieg0=”,

“Date”:”2018/05/10″,

“Time”:”12:45:41″,

“SumNaghd”:”0.0″,

“SumNesiyeh”:”1000″,

“SumDiscount”:”2500″,

“SumCheck”:”0.0″,”SumLevy”:”0.0″,

“SumScot”:”0.0″,

“SumPrice”:”3.02352E8″,

“ErpCode”:”bBAPNA12ckg=”

}

]}

 

توضیحات پارامترهای خروجی :

·        Code :  شماره فاکتور

·        Type : نوع فاکتور

·        SanadCode : شماره سند

·        Comment : توضیحات فاکتور

·        CustomerName : نام طرف حساب

·        CustomerErpCode : شناسه طرف حساب درج شده در هلو

·        Date : تاریخ فاکتور

·        Time : ساعت فاکتور

·        SumNaghd : مبلغ نقد

·        SumNesiyeh : مبلغ نسیه

·        SumDiscount : مبلغ تخفیف

·        SumCheck : مبلغ چک

·        SumScot : مبلغ مالیات و عوارض

·        SumPrice : مبلغ فاکتور

·        ErpCode : شناسه فاکتور درج شده در هلو

·        Detail: جزییات فاکتور را نشان می‌دهد

·        Serials: سریال‌های استفاده شده در فاکتور را نشان می‌دهد

 

*: به کمک کلید واژه customererpcode در پارامترهای url می­توانید فاکتورهای مربوط به یک مشتری را ببینید.

۷- ثبت سند حسابداری :

۷-۱-سند حواله طرف‌حساب

 

{Address}/api/Payment/Havaleh URL
Post Http Method
Comment Type Parameter
شناسه اختیاری int Id
تاریخ اجباری date Date
ساعت اجباری date Time
سرفصل طرف‌حساب اجباری string Customersarfasl
سرفصل بانک اجباری string Banksarfasl
مبلغ حواله اجباری float Bank
مبلغ تخفیف اختیاری     float discount”
توضیحات اختیاری string Comment

 

نمونه مثال سند حواله طرف حساب:

ثبت حواله با سرفصل طرف حساب ۱۰۳۰۰۰۱، سرفصل بانک ۱۰۲۰۰۰۱۰۰۰۱، مبلغ حواله ۱۰۰ و .. :

Body

{“payinfo”:[{“id”:”1″,”date”:”2019-09-08″,”time”:”09:21″,”customersarfasl”:”1030001″,”banksarfasl”:”10200010001″,”bank”:100,”discount”:200,”comment”:تست}]}

 

Response
 

{“Header”:

“Payment”,”Success”:{

“Id”:”1″,

“ErpCode”:”bwVzfg==”,

“ReturnParam1″:”5”,

“ReturnParam2″:”5”}}

 

توضیحات پارامترهای خروجی:

·        id : شناسه

·        ErpCode : شناسه سند ثبت شده

·        ReturnParam1: شماره سند

·        ReturnParam2: شماره ثابت سند

 

 

۷-۲-سند دریافت از طرف­حساب

 

{Address}/api/Payment/ReciveFromCustomer URL
Post Http Method
Comment Type Parameter
شناسه اختیاری int Id
تاریخ اجباری date Date
ساعت اجباری date Time
سرفصل طرف‌حساب اجباری string Customersarfasl
سرفصل بانک اجباری string Banksarfasl
مبلغ بانک اجباری string Bank
سرفصل صندوق اجباری   string Cashsarfasl
مبلغ صندوق اجباری string Cash
مبلغ تخفیف اختیاری string Discount
توضیحات اختیاری string Comment

 

نمونه مثال دریافت از طرف حساب:

دریافت از طرف حساب در تاریخ ۲۰۱۹-۰۹-۰۸،  با سرفصل طرف حساب ۱۰۳۰۰۰۷، سرفصل بانک ۱۰۲۰۰۰۱۰۰۰۱ و … :

Body

{“payinfo”:[{“id”:”1″,”date”:”2019-09-08″,”time”:”09:21″,”customersarfasl”:”1030007″,”banksarfasl”:”10200010001″,”bank”:300,”cashsarfasl”:”10100010001″,”cash”:200,”discount”:400,”comment”:تست}]}

 

 

Response

 

{“Header”:

“Payment”,”Success”:{

“Id”:”1″,

“ErpCode”:”bhVzfg==”,

“ReturnParam1″:”8”,

“ReturnParam2″:”8”}}

 

توضیحات پارامترهای خروجی:

·        id : شناسه

·        ErpCode : شناسه سند ثبت شده

·        ReturnParam1: شماره سند

·        ReturnParam2: شماره ثابت سند

 

سطح تنظیمات

تنظیمات واحد پول (Settings):

در حال حاضر این سطح، امکان گرفتن تنظیم واحد پول در هلو را می‌دهد. کافی است آدرس زیر را اجرا نمایید:

{Address}/Settings

 

نمونه مثال:

Query Parameters

{Address}/Settings

 

 

Response
{

“CurrencyUnit”: [

{

“name”: “RepVahedPooli”,

“string”: “ریال”

}

]

{

 

 

 

سطح گزارش‌گیری

 

گزارشات مدیریتی (Report) :

این امکان شامل گزارشات مدیریتی است. در ادامه به معرفی این بخش می پردازیم.

 

۱- مانده سرفصل (GetSarfasl)

{Address}/Report/GetSarfasl URL
Get Http Method
Comment Type Parameter
کد سرفصل ختیاری string Code
تاریخ از اختیاری date date.from
تاریخ  تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال مانده سرفصل :

دریافت سرفصل های با کد ۱۰۳ :

Query Parameters

{Address}/Report/GetSarfasl?code=103

 

 

Response
{

“report”:[{

“Code”:”0010001″,

“Name”:” چکهای امانی ما نزد دیگران “,

“Price”:”-100.0″

]}

 

توضیحات پارامترهای خروجی :

·        Code : کد سرفصل

·        Name : نام سرفصل

·        Price : مانده

 

۲- موجودی صندوق (GetCash)
{Address}/Report/GetCash URL
Get Http Method
Comment Type Parameter
تاریخ از اختیاری date date.from
تاریخ  تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa
 

 

نمونه مثال موجودی صندوق :

دریافت موجودی صندوق از تاریخ ‘۲۰۱۹-۰۵-۰۵’ تا تاریخ ‘۲۰۱۹-۰۵-۰۶’ :

 

Query Parameters

{Address}/Report/GetCash?date.from=’2019-05-05’&date.to=’2019-05-06′

 

 

 

Response

{

“report”:{

“Code”:”10100010001″,

“Name”:”صندوق”,

“Price”:”3.25787252E8″}

}

 

توضیحات پارامترهای خروجی :

·        Code : کد سرفصل صندوق

·        Name : نام صندوق

·        Price : موجودی صندوق

 

 

 

 

۳- موجودی بانک (GetAccound)
{Address}/Report/GetAccound URL
Get Http Method
Comment Type Parameter
تاریخ از اختیاری date date.from
تاریخ  تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال موجودی بانک :

دریافت موجودی بانک از تاریخ ‘۲۰۱۹-۰۵-۰۵’ تا تاریخ ‘۲۰۱۹-۰۵-۰۷’ :

Query Parameters

{Address}/Report/GetAccound?date.from=’2019-05-05’&date.to=’2019-05-07′

 

 

Response

{

“report”:[{

“Code”:”10200010001″,

“Name”:”بانک اقتصاد نوین  ۰۰۰-۰۰۰۰″,

“Price”:”2.8849594E8″}

}]

 

توضیحات پارامترهای خروجی :

·        Code : کد سرفصل بانک

·        Name : نام بانک

·        Price : مانده

 

۴-۱- طرف حسابهای بستانکار به ترتیب بیشترین (GetMaxBesCustomer )
{Address}/Report/GetMaxBesCustomer URL
Get Http Method
Comment Type Parameter
تعداد سطر اختیاری Integer Count
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال طرف حسابهای بستانکار به ترتیب بیشترین:

دریافت ۲ طرف حساب اول با بیشترین بستانکاری:

 

Query Parameters

{Address}/Report/GetMaxBesCustomer?count=2

 

 

Response
{

“report”:[

{“Code”:”1030194″,

“Name”:”تست”

“Price”:”7000″

{“Code”:”4010038″,”Name”:”قربانی”

“Price”:”6000

]}

 

توضیحات پارامترهای خروجی :

·        Code : کد سرفصل طرف حساب

·        Name : نام طرف حساب

·        Price : مانده

 

 

 

۴-۲- طرف حسابهای بدهکار به ترتیب بیشترین (GetMaxBedCustomer )
{Address}/Report/GetMaxBedCustomer URL
Get Http Method
Comment Type Parameter
تعداد سطر اختیاری Integer count
فارسی‌سازی جیسان خروجی اختیاری boolean fa

 

 

نمونه مثال طرف‌حساب‌های بدهکار به ترتیب بیشترین :

دریافت ۲ طرف حساب اول با بیشترین بدهکاری :

 

Query Parameters

Address}/Report/GetMaxBedCustomer?count=2

 

 

 

Response

{

“report”:[

{“Code”:”1030194″,

“Name”:”تست”

“Price”:”7000″

{“Code”:”4010038″,”Name”:”قربانی”

“Price”:”6000

]}

 

توضیحات پارامترهای خروجی :

·        Code : کد سرفصل طرف حساب

·        Name : نام طرف حساب

·        Price : مانده

 

 

۵-۱- موجودی کالا به ترتیب بیشترین(GetMaxFewProduct )
{Address}/Report/GetMaxFewProduct URL
Get Http Method
Comment Type Parameter
تعداد سطر اختیاری Integer count
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال موجودی کالا به ترتیب بیشترین :

دریافت ۲ کالای اول با بیشترین موجودی :

 

Query Parameters

{Address}/Report/GetMaxFewProduct?count=2

 

 

Response

{

“report”:[{

“Code”:”00403004″,

“Name”:”کالای تست “,

“Few”:”4254.0″,

“Price”:”9000.0″},

{“Code”:”00401110″,

“Name”:”کالای انبار”,

“Few”:”560.0″,

“Price”:”30000.0″},

}]

 

توضیحات پارامترهای خروجی :

·        Code : کد سرفصل کالا

·        Name : نام طرف کالا

·        Few : مقدار

·        Price : مبلغ

 

۵-۲- موجودی کالا به ترتیب کمترین (GetMinFewProduct )
{Address}/Report/GetMinFewProduct URL
Get Http Method
Comment Type Parameter
تعداد سطر اختیاری Integer count
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال موجودی کالا به ترتیب کمترین:

دریافت ۲ کالای اول با کمترین موجودی :

 

Query Parameters

{Address}/Report/GetMinFewProduct?count=2

 

 

Response

{

“report”:[{

“Code”:”00101004″,

“Name”:”کالای تست “,

“Few”:”0.0″,

“Price”:”228000.0″},

{“Code”:”00101006″,

“Name”:”test”,

“Few”:”0.0″,

“Price”:”0.0″}

]}

 

توضیحات پارامترهای خروجی :

·        Code : کد سرفصل کالا

·        Name : نام کالا

·        Few : مقدار

·        Price : مبلغ

 

 

۶-۱- کالای فروش رفته به ترتیب بیشترین موجودی (GetMaxSelFewProduct )
URL {Address}/Report/GetMaxSelFewProduct
Http Method Get
Comment Type Parameter
تعداد سطر اختیاری Integer count
تاریخ از اختیاری date date.from
تاریخ تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa
 

 

 

نمونه مثال کالای فروش رفته به ترتیب بیشترین موجودی:

دریافت کالای فروش رفته به ترتیب بیشترین موجودی با تعداد ۲ سطر و از تاریخ ‘۲۰۱۸-۰۵-۰۵’ تا تاریخ ‘۲۰۱۸-۰۵-۰۶’:

 

Query Parameters

http://{Address}/Report/GetMaxSelFewProduct?count=2&date.from=’2018-05-05’&date.to=’2018-05-06′

 

 

 

Response

{

“report”:{

“Name”:”کالای تست “,

“Few”:”2520.0″,

“Price”:”5.74815E7″}

}

 

توضیحات پارامترهای خروجی :

·        Name : نام کالا

·        Few : مقدار

·        Price : مبلغ

 

 

۶-۲- کالای فروش رفته به ترتیب کمترین موجودی (GetMinSelFewProduct )
{Address}/Report/GetMinSelFewProduct URL
Get Http Method
Comment Type Parameter
تعداد سطر اختیاری count
تاریخ از اختیاری date date.from
تاریخ تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa

 

 

نمونه مثال کالای فروش رفته به ترتیب کمترین موجودی:

دریافت کالای فروش رفته به ترتیب کمترین موجودی با تعداد ۲ سطر و از تاریخ ‘۲۰۱۸-۰۵-۰۵’ تا تاریخ ‘۲۰۱۸-۰۵-۰۶’  :

 

Query Parameters

{Address}/Report/GetMinSelFewProduct?count=2&date.from=’2019-05-05’&date.to=’2019-05-06′

 

                                                                                                           

Response
{

“report”:{

“Name”:”کالای تست “,

“Few”:”1.0″,

“Price”:”180000.0″}

}

 

توضیحات پارامترهای خروجی :

·        Name : نام کالا

·        Few : مقدار

·        Price : مبلغ

 

 

۷-۱- کالای فروش رفته به ترتیب بیشترین فروش  (GetMaxSelPriceProduct )
{Address}/Report/GetMaxSelPriceProduct URL
Get Http Method
Comment Type Parameter
تعداد سطر اختیاری count
تاریخ از اختیاری date date.from
تاریخ تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال کالای فروش رفته به ترتیب بیشترین فروش :

دریافت کالای فروش رفته به ترتیب بیشترین فروش با تعداد ۲ سطر و از تاریخ  ‘۲۰۱۹-۰۳-۰۴’تا تاریخ’۲۰۱۹-۰۵-۰۶’   :

 

Query Parameters

{Address}/Report/GetMaxSelPriceProduct?count=2&date.from=’2019-03-04’&date.to=’2019-05-06′

 

 

Response
{

“report”:{

“Name”:”کالای تست “,

“Few”:”1.0″,

“Price”:”180000.0″}

}

 

توضیحات پارامترهای خروجی :

·        Name : نام کالا

·        Few : مقدار

·        Price : مبلغ

 

 

 

۷-۲- کالای فروش رفته به ترتیب کمترین فروش (GetMinSelPriceProduct )
{Address}/Report/GetMinSelPriceProduct URL
Get Http Method
Comment Type Parameter
تعداد سطر اختیاری Integer count
تاریخ از اختیاری date date.from
تاریخ تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال کالای فروش رفته به ترتیب کمترین فروش :

دریافت کالای فروش رفته به ترتیب کمترین فروش با تعداد ۲ سطر و از تاریخ  ‘۲۰۱۹-۰۳-۰۴’تا تاریخ’۲۰۱۹-۰۵-۰۶’   :

Query Parameters

{Address}/Report/GetMinSelPriceProduct?count=2&date.from=’2019-03-04’&date.to=’2019-05-06′

 

 

Response
{

“report”:{

“Name”:”کالای تست”,

“Few”:”1.0″,

“Price”:”29000.0″}

}

 

توضیحات پارامترهای خروجی :

·        Name : نام کالا

·        Few : مقدار

·        Price : مبلغ

 

 

۸- کاردکس سرفصل (GetKardexSarfasl )
{Address}/Report/GetKardexSarfasl URL
Get Http Method
Comment Type Parameter
کد سرفصل code
تعداد سطر اختیاری count
تاریخ از اختیاری date date.from
تاریخ تا اختیاری date date.to
فارسی سازی جیسان خروجی اختیاری boolean fa

 

نمونه مثال کاردکس سرفصل :

دریافت کاردکس سرفصل های با کد ۱۰۳ و تعداد سطر ۲، از تاریخ ‘۲۰۱۹-۰۳-۰۴’ تا تاریخ ‘۲۰۱۹-۰۵-۰۶’ :

 

Query Parameters

{Address}/Report/GetKardexSarfasl?code=103&count=2&date.from=’2019-03-04’&date.to=’2019-05-06′

 

 

Response
{

“report”:{

“Code”:”1545″,

“Date”:”2019/02/05″,

“Bed”:”1365000.0″,

“Bes”:”0.0″,

“Comment”:” فاکتور فروش ۱۱۲۱۷″}

}

 

توضیحات پارامترهای خروجی :

·        Code : کد

·        Date : تاریخ

·        Bed : مبلغ بدهکاری

·        Bes : مبلغ بستانکاری

·        Comment : توضیحات

 

۹- آخرین پرداختی طرف حسابها (GetCustPay )
{Address}/Report/GetCustPay URL
Get Http Method
Comment Type Parameter
کد سرفصل اختیاری String code
فارسی‌سازی جیسان خروجی اختیاری boolean fa

 

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

دریافت آخرین پرداختی طرف حساب با کد سرفصل ۱۰۳۰۰۰۳ :

 

Query Parameters

{Address}/Report/GetCustPay?code=1030003

 

 

Response

 

{

 

“report”:[{

“Code”:”00002″,

“Name”:”تست”,

“Price”:”1530000.0″,

“Date”:”2018/04/08″,

“Mandeh”:”0.0″}

}

 

 

توضیحات پارامترهای خروجی :

·        Code : کد طرف حساب

·        Name : نام طرف حساب

·        Price : مبلغ پرداختی

·        Date : تاریخ

·        Mandeh : مانده طرف حساب

 

۹- آخرین دریافتی طرف‌حساب‌ها (GetCustReceive )
{Address}/Report/GetCustReceive URL
Get Http Method
Comment Type Parameter
کد سرفصل اختیاری String code
فارسی‌سازی جیسان خروجی اختیاری boolean fa

 

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

دریافت آخرین دریافتی طرف حساب با کد سرفصل ۱۰۳۰۰۰۳:

 

Query Parameters

{Address}/Report/GetCustReceive?code=1030003

 

 

Response

 

{

 

“report”:[{

“Code”:”00002″,

“Name”:”تست”,

“Price”:”1530000.0″,

“Date”:”2018/04/08″,

“Mandeh”:”0.0″}

}

 

توضیحات پارامترهای خروجی :

·        Code : کد طرف حساب

·        Name : نام طرف حساب

·        Price : مبلغ پرداختی

·        Date : تاریخ

·        Mandeh : مانده طرف حساب

 

وب هوک

برای استفاده از این قابلیت نیاز هست که SQL Server ورژن ۲۰۰۸ و یا نسخه­های جدیدتر روی سیستم نصب باشد.

برای راه­اندازی وب هوک انجام مراحل زیر به ترتیب لازم است:

  • ابتدا SQL Server Configuration Manager را به صورت Run as Administrator باز کنید و در پنل سمت چپ SQL Server Network Configuration را باز کنید و سپس protocols for… را انتخاب کنید (به جای … باید نسخه دیتابیسی که از آن استفاده می­کنید باشد).

حالا در پنل سمت راست روی TCP/IP کلیک راست کرده و properties را انتخاب کنید. در صفحه باز شده و در تب IP Addresses کاملا پایین رفته و در بخش IPAll قسمت اول که TCP Dynamic Ports می­باشد را خالی نمایید (توجه کنید باید کاملا خالی باشد و حتی صفر هم داخل آن نوشته نشده باشد)؛ سپس در قسمت دوم یعنی TCP Port عدد ۱۴۳۳ را وارد کنید(توجه کنید امکان وارد کردن عدد پورت دیگری در اینجا وجود دارد اما در صورت وارد کردن عدد دیگری غیر از ۱۴۳۳ باید به فایل application.properties در فولدر وب سرویس خود رفته و عددی که در اینجا وارد کردید را در آن فایل به جای مقدار db.port قرار دهید؛ فقط در نظر داشته باشید که پورتی که اینجا وارد می­کنید باید باز باشد و توسط برنامه دیگری اشغال نشده باشد). در آخر به تب Protocol رفته و مقادیر Enabled و Listen All را به yes تغییر داده و ok را بزنید.

در اینجا دوباره باید به برنامه SQL Server Configuration Manager رفته و در پنل سمت چپ SQL Server Services را انتخاب کرده و سپس در پنل سمت راست، روی SQL Server و SQL Server Agent و  SQL Server Browserو SQL Server Integration Services به ترتیب کلیک راست کرده و restart را انتخاب کنید.

  • حالا وب­سرویس را راه­اندازی کرده و با کمک /webhook/subscribe و با فرستادن یک body به شکل زیر برای وب­سرویس با متد post می­توانید یک URL برای یک جدول اصطلاحا نام­نویسی کنید:

 

{

“subscriptions” : [ {

“url” : “http://… “,

“tablename” : “product”,

“apikey” : “…”

} ]

{

  • در حال حاضر فقط customer و product و mainGroup و sideGroup و resInvoice به عنوان tablename قابل قبول هستند.

گروه اصلی = mainGroup

گروه فرعی = sideGroup

فاکتور تک‌فروشی (فاکتور رستوران) = resInvoice

  • Apikey باید یک کلید ثابت برای URL باشد که قابل انقضا نباشد و به کمک آن می­توانید تشخیص دهید اعلان فرستاده شده، از سمت وب سرویس هلو هست. این فیلد می­تواند خالی باشد اما به لحاظ امنیتی بهتر است مقدار داده شود.
  • اگر بدون مشکل این روند انجام شود پس از ارسال json فوق، سرویس وب هوک، خودکار، برای جداولی که ارسال کرده­اید فعال خواهد شد و در صورت تغییر در آن جداول چه از طریق وب­سرویس و چه از طریق هلو به URL ای که تعریف کرده اید یک درخواستpost زده خواهد شد و تغییر را به شکل زیر اعلان خواهد کرد:

{

“Dbname” : “Holoo1”,

“Table” : “product”,

“operation” : “UPDATE”,

“changedfields”: “[{…}]”

}

عملیات update، create و delete به شما اطلاع داده خواهد شد و در قسمت changedfields هم سطرهای جدول ذکر شده که روی آن­ها عملیات رخ داده است لیست می­شود.

فعال و غیرفعال کردن وب هوک

در صورتی که به هر دلیلی به غیرفعال کردن سرویس نیاز باشد دو راه وجود دارد:

  • پاک کردن جدول از لیستsubscribe ها که می­توانید به کمک پارامتر table و دادن نام جدول مورد نظر یک جدول خاص را پاک کنید یا می­توانید بدون دادن پارامتر، تمامی جدول ­های نام­نویسی شده برای وب هوک را پاک کنید. این عمل از طریق متد delete و لینک /webhook/subscribe انجام می­شود.

مثال پارامتر:

/webhook/subscribe?table=product

نکته: در صورت غیر فعال کردن وب هوک به این صورت، جداولی که پاک می شوند در آینده تغییراتشان گزارش نخواهد شد و نیاز هست تا دوباره subscribe شوند.

  • غیرفعال کردن موقت وب هوک که به کمک متد Get و لینک /webhook/stop انجام می­شود.

نکته: در صورت متوقف کردن وب هوک به این صورت، تا وقتی به صورت زیر استارت انجام نشود وب هوک کار نخواهد کرد (مگر اینکه جدول جدیدی subscribe کنید)

برای فعال کردن مجدد وب هوک از متدget  و API:  /webhook/start استفاده نمایید.

همچنین با متد get و API:  /webhook/subscribe می­توانید جداولی که به آن­ها subscribe کرده­اید را دریافت نمایید.

توجه: در صورت غیرفعال کردن وب­سرویس، وب‌هوک هم تغییرات را ارسال نخواهد کرد و بعد از راه­اندازی مجدد وب­سرویس، اگر stop وب‌هوک را از قبل فراخوانی نکرده باشید و مجدد login نمایید وب هوک فعال می­شود در غیر این­صورت باید حتما خودتان یکبار API استارت را فراخوانی نمایید.

توضیح خطاهای برگشتی

 

لاگین
کد خطا توضیحات
۱ عدم برقراری ارتباط با بانک اطلاعاتی، ممکن است نام کاربری یا کلمه عبور نادرست باشد.
۳ فایل Config را در مسیر مورد نظرکپی نکرده­اید .برای تنظیمات Config به ملزومات نصب مراجعه نمایید.
۴ لطفا ابتدا نسخه هلو را اجرا نمایید.
۵ ارتباط با اینترنت برقرار نمی­باشد لطفا اتصال به اینترنت را چک نمایید.
۶ کاربرگرامی شما دسترسی استفاده از وب­سرویس را ندارید.
۲۷ کاربرگرامی شما دسترسی استفاده از وب­سرویس را ندارید.

 

 درج اشخاص
کد خطا توضیحات
۷ نام طرف­حساب خالی می­باشد.
۸ نام طرف­حساب تکراری می­باشد.
۹ کد طرف­حساب تکراری می­باشد.
۱۰ شماره موبایل تکراری می­باشد.
۱۱ پکیج ارسالی اشتباه می­باشد.
۱۲ کد حساب تکراری می­باشد.
۱۳ کد حساب معتبر نمی­باشد.
۱۴ کد طرف­حساب معتبر نمی­باشد.
۲۱ نوع  (بدهکار / بستانکار) به­درستی مشخص نشده است.
۲۲ کد واسطه (ٍErpcode) معتبرنمی­باشد.
۲۳ کد ملی تکراری می­باشد.
۲۴ کد اقتصادی تکراری می­باشد.
۲۵ کدپستی معتبر نمی­باشد.
۴۵ سرفصل طرف حساب معتبر نمی­باشد.

 

 

درج کالا
کد خطا توضیحات
۳۷ کد کالا تکراری می­باشد.
۳۸ نام کالا تکراری می­باشد.
۳۹ نام کالا خالی می­باشد.
۴۰ Erpcode کالا معتبر نمی­باشد.
۴۱ ظرفیت این طبقه جهت اضافه نمودن کالا تکمیل شده است.
۴۲ Erpcode گروه اصلی معتبر نمی­باشد.
۴۳ Erpcodeگروه فرعی معتبر نمی­باشد.
۴۴ شناسه معتبر نمی­باشد.
۴۶ مبلغ مشخص نشده است.

 

درج فاکتور
کد خطا توضیحات
۱۵ کد کالا معتبر نمی­باشد.
۱۶ کد واحد معتبر (Erpcode) نمی­باشد.
۱۷ تاریخ معتبر نمی­باشد.
۱۸ ساعت معتبر نمی­باشد.
۱۹ تعداد کالا معتبر نمی­باشد.
۲۰ قیمت کالا معتبر نمی­باشد.
۲۶ مالیات وعوارض معتبر نمی­باشد.
۲۸ کالاهای زیر فاقد موجودی می­باشد.
۲۹ سرفصل صندوق معتبر نمی­باشد.
۳۰ مبلغ صندوق معتبر نمی باشد.
۳۱ نوع فاکتور معتبر نمی باشد.
۳۲ سرفصل کارت­خوان معتبر نمی­باشد.
۳۳ مبلغ کارت­خوان معتبر نمی­باشد.
۳۴ مبلغ نسیه معتبر نمی­باشد.
۳۵ مبلغ تخفیف معتبر نمی­باشد.
۳۶ مبلغ تسویه فاکتور با جمع فاکتور برابر نمی­باشد.

لیست پروژه های بیشتر:

https://saman-navidi.ir/

https://samsystemco.ir/

 

Unknown