پروژه نرم افزارهای یکپارچه سازمانی و مدیریت دریافت های شرکت فروش مرغ
به دلیل حجم زیاد واریزی های مشتری در بانک کشاورزی، سیستمی برای مشتری طراحی گردید تا بتواند اطلاعات مربوط به واریزی و واریز کننده را از وب سرویس های بانک کشاورزی دریافت نماید و در سیستم ذخیره کند، سپس از طریق وب سرویس های نرم افزار حسابداری هلو دریافت مذکور همراه اطلاعات به این سیستم ارسال گردد، ماژول دریافت یکی از ماژول های نرم افزارهای یکپارچه سازمانی می باشد.
دیتابیس 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 | |
| کدپستی | اختیاری | 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 : کد مشتری ثبت شدهدر هلو · Param2Return : کد سرفصل حسابداری بدهکار ثبت شده در هلو · 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 | |
| کدپستی | اختیاری | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
۴-۲- ثبت درآمد در فاکتور همانند ثبت هزینه با تفاوت در کلیدهای ارسالی به صورت زیر:
۵- شماره فاکتور (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
|
| سطح گزارشگیری
گزارشات مدیریتی (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 |
|
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 |
|
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) نمیباشد. |
| ۱۷ | تاریخ معتبر نمیباشد. |
| ۱۸ | ساعت معتبر نمیباشد. |
| ۱۹ | تعداد کالا معتبر نمیباشد. |
| ۲۰ | قیمت کالا معتبر نمیباشد. |
| ۲۶ | مالیات وعوارض معتبر نمیباشد. |
| ۲۸ | کالاهای زیر فاقد موجودی میباشد. |
| ۲۹ | سرفصل صندوق معتبر نمیباشد. |
| ۳۰ | مبلغ صندوق معتبر نمی باشد. |
| ۳۱ | نوع فاکتور معتبر نمی باشد. |
| ۳۲ | سرفصل کارتخوان معتبر نمیباشد. |
| ۳۳ | مبلغ کارتخوان معتبر نمیباشد. |
| ۳۴ | مبلغ نسیه معتبر نمیباشد. |
| ۳۵ | مبلغ تخفیف معتبر نمیباشد. |
| ۳۶ | مبلغ تسویه فاکتور با جمع فاکتور برابر نمیباشد. |
لیست پروژه های بیشتر: