سلام
مستندات php برای محصول و دسته بندی محصول رو از کجا باید دانلود کنم. توی این فایل هایی که کذاشتید نیست.
با تسکر
راهنمای استفاده از وب سرویس ثبت محصول
(Product)
وب سرویس ثبت محصول، عملیات ذخیره اطلاعات محصول را انجام می دهد.
متد SaveProduct
این متد وظیفه ذخیره محصول را بر عهده دارد که جهت استفاده می بایست توسط کاربر فراخوانی شود.
پارامترهای ورودی
جدول ذیل پارامترهای ورودی تابع SaveProduct را به ترتیب شرح می دهد.
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
این پارامتر نام کاربری کاربر مورد نظر را جهت بررسی دریافت می نماید. |
password |
string |
این پارامتر رمز عبور کاربر مورد نظر را جهت بررسی دریافت می نماید. |
productInfo |
ProductInfo |
این پارامتر که از نوع کلاس ProductInfo می باشد تمامی اطلاعات مربوط به محصول مورد نظر را برای ثبت در پایگاه داده دریافت می نماید. |
فیلدهای کلاس ProductInfo |
||
نام |
نوع |
توضیحات |
Name |
string |
نام محصول در این پارامتر مشخص می گردد. |
Code |
string |
کد محصول در این پارامتر مشخص می گردد. |
GroupName |
string |
عنوان گروه محصول در این پارامتر مشخص می گردد. |
IsService |
bool? |
در صورتی که نوع محصول مورد نظر خدمت باشد می توان به این پارامتر مقدار True را ارسال نمود. |
UnitBuyPrice |
decimal? |
قیمت خرید محصول در این پارامتر مشخص می گردد. |
UnitPrice |
decimal? |
قیمت واحد محصول در این پارامتر مشخص می گردد. |
ProductUnitType |
string |
واحد محصول در این پارامتر مشخص می گردد. لازم به ذکر است مقدار این پارامتر می بایست یکی از مقادیر تعریف شده برای نوع "واحد شمارش محصول" در قسمت "مدیریت آیتم های سیستم" باشد. |
TechInfo |
string |
اطلاعات فنی محصول در این پارامتر مشخص می گردد. |
Description |
string |
توضیحات مربوط به محصول در این پارامتر مشخص می گردد. |
RefId |
string |
این فیلد برای ارجاعات احتمالی به CrmObject استفاده می گردد. |
Commision |
Decimal? |
پورسانت فروش محصول در این پارامتر مشخص می گردد. |
CommisionType |
string |
نوع پورسانت فروش محصول بصورت "رقم" یا "درصد" در این پارامتر مشخص می گردد. |
Sellable |
bool? |
قابل فروش بودن محصول در این پارامتر مشخص می گردد. |
Inventory |
bool? |
در صورتی که به این پارامتر مقدار true ارسال گردد، محصول دارای قابلیت های انبارداری شده و می توان برای آن تعداد ورود و خروج به انبار و سایر عملیات مرتبط با آن را انجام داد. |
Brand |
string |
عنوان برند محصول در این پارامتر مشخص می گردد. |
MadeIn |
string |
نام کشور ساخت محصول در این پارامتر مشخص می گردد. |
Taxable |
bool? |
در صورتی که به این پارامتر مقدار true ارسال شود، اعمال مالیات بر روی محصول مورد نظر امکان پذیر می گردد. |
Tollable |
bool |
در صورتی که به این پارامتر مقدار true ارسال شود، اعمال عوارض بر روی محصول مورد نظر امکان پذیر می گردد. |
IsCommission |
bool? |
این مقدار تعیین می کند که پورسانت بر روی این محصول محاسبه گردد یا خیر. لازم به ذکر است در صورتی که مقدار و نوع پورسانت برای محصول در نظر گرفته نشده باشد، مقدار این فیلد بصورت پیش فرض false خواهد بود. |
PriceListInfo |
PriceListInfo |
این پارامتر که از نوع کلاس PriceListInfo می باشد تمامی اطلاعات مربوط به لیست قیمت مورد نظر را برای نمایش از پایگاه داده دریافت می نماید و با عدم فعال بودن ماژول لیست قیمت مقداری در لیست قیمت برگردانده نمیشود(آبجکت جاری فقط خواندنی است و در متد ذخیره کاربردی ندارد). |
فیلدهای کلاس PriceListInfo |
||
نام |
نوع |
توضیحات |
Name |
string |
نام لیست قیمت در این پارامتر مشخص می گردد. |
InvoiceType |
string |
نوع فاکتور در این پارامتر مشخص می گردد. · برای فاکتور فروش و پیش فاکتور فروش مقدار "فاکتور فروش" · برای فاکتور خرید و پیش فاکتور خرید مقدار "فاکتور خريد" · برای فاکتور برگشت از فروش مقدار "فاکتور برگشت از فروش" · و برای فاکتور برگشت از خرید مقدار "فاکتور برگشت از خريد" |
PriceListProducts |
List<PriceListProductInfo> |
لیستی از قیمت ها برای هر محصول در این پارامتر مشخص می گردد. |
فیلدهای کلاس PriceListProductInfo |
||
نام |
نوع |
توضیحات |
PricingType |
string |
سیاست قیمت گذاری در این پارامتر مشخص می گردد. |
Amount |
decimal |
به کمک مشخصه PricingType قیمت اعمال شده این پارامتر مشخص می گردد. |
ProductId |
Guid |
شناسه محصول را مشخص می کند. |
ProductCode |
string |
کد محصول را مشخص می کند. |
مقدار بازگشتی
جدول ذیل مقدار بازگشتی متد SaveProduct که توسط آن می توان از صحت ثبت اطلاعات مطلع گردید را شرح می دهد.
مقدار بازگشتی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
SaveCrmObjectResult |
object |
نوع خروجی این متد یک object از نوع SaveCrmObjectResult است که دارای دو ویژگی Message و Success می باشد. · ویژگی Message پیغامی مبنی بر عدم موفقیت ذخیره اطلاعات را به همراه شرح خطا باز میگرداند. · ویژگی Success مقداری از نوع bool مبنی بر موفقیت یا عدم موفقیت نهایی در عملکرد وب سرویس را باز میگرداند. |
متد FindProductByCode
این متد لیست محصولات را بر اساس کد محصول و گروه محصول فیلتر می کند
پارمترهای ورودی
جدول زیر شرحی از پارامترهای ورودی متد فوق را ارائه می دهد
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
نام کاربری جهت اهراز هویت |
password |
string |
مکملی برای نام کاربری برای اهراز هویت |
code |
string |
کد محصول برای فیلتر شدن |
groupName |
string |
گروه محصول |
مقدار بازگشتی
جدول زیر شرحی از مقادیر خروجی را ارائه می دهد
مقدار بازگشتی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
ProductInfoResult |
object |
نوع خروجی این متد object ای از نوع productInfoResult می باشد که دارای خصوصیات زیر می باشد: 1- Success: موفقیت یا عدم موفقیت فیلترشدن را مشخص می کند 2- Message: در صورت عدم موفقیت دارای مقدار می باشد که دلیل عدم موفقیت را حمل می کند 3- CrmId: استفاده نشده 4- ProductInfoList: لیست محصولاتی که فیلتر شده اند را حمل میکند |
متد DeleteProductByCode
این متد محصولات را بر اساس کد و نام گروهی که در آن قرار دارند را فیلتر می کند و سپس اگر فقط یک محصول با این کد ثبت شده باشد آن را حذف می کند در غیر این صورت عملیات ناموفق خواهد بود.
پارامترهای ورودی
پارامترهای ورودی این متد همانند پارمترهای ورودی مربوط به متد FindProductByCode می باشد.
مقدار بازگشتی
مقدار بازگشتی این متد مانند مقدار بازگشتی مربوط به متد FindProductByCode می باشد با این تفاوت که دیگر لیست خالی می باشد و اگر Success برابر با true بود به این معنی است که عملیات حذف موفقیت آمیز بوده و در غیر اینصورت عملیات ناموفق و دلیل آن در خصوصیت Message حمل می شود.
متد DeleteProductById
این متد کد شناسایی محصول را دریافت و عملیات حذف شدن آن از بانک را انجام می دهد.
پارامترهای ورودی
جدول زیر شرحی از پارامترهای ورودی این متد را ارائه میدهد:
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
نام کاربری جهت اهراز هویت |
Password |
string |
مکمل نام کاربری جهت اهراز هویت |
productId |
guid |
کد شناسایی محصول که برای هر محصول یکتا می باشد |
مقدار بازگشتی
مقدار بازگشتی این متد همانند مقدار بازگشتی مربوط به متد DeleteProductByCode می باشد.
متد GetProductBySerialNumber
این متد وظیفه جستجوی محصولات را بر اساس سریال آنها بر عهده دارد.
پارامترهای ورودی
جدول زیر شرحی از پارامترهای ورودی متد فوق را ارائه می دهد
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
نام کاربری جهت اهراز هویت |
password |
string |
مکملی برای نام کاربری برای اهراز هویت |
serial |
string |
سریال کالا |
مقدار بازگشتی
مقدار بازگشتی این متد همانند مقدار بازگشتی مربوط به متد FindProductByCode می باشد.
متد FindProductByName
این متد لیست محصولات را بر اساس نام محصول و گروه محصول فیلتر می کند
پارامتر های ورودی
جدول زیر شرحی از پارامترهای ورودی متد فوق را ارائه می دهد
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
نام کاربری جهت اهراز هویت |
password |
string |
مکملی برای نام کاربری برای اهراز هویت |
name |
string |
نام محصول برای فیلتر شدن |
groupName |
string |
گروه محصول |
مقدار بازگشتی
مقدار بازگشتی این متد همانند مقدار بازگشتی مربوط به متد FindProductByCode می باشد.
متد FindProductItem
این متد یک قلم کالا را بر اساس کد محصول و شماره سریال آن فیلتر می کند
پارامتر های ورودی
جدول زیر شرحی از پارامترهای ورودی متد فوق را ارائه می دهد
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
نام کاربری جهت اهراز هویت |
password |
string |
مکملی برای نام کاربری برای اهراز هویت |
productCode |
string |
کد محصول برای فیلتر شدن |
serialNumber |
string |
شماره سریال قلم محصول |
مقدار بازگشتی
جدول ذیل مقدار بازگشتی متدFindProductItem را شرح می دهد.
مقدار بازگشتی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
ProductItemInfo |
object |
نوع خروجی این متد یک object از نوع ProductItemInfo است که دارای دو ویژگی Message و Success می باشد. · ویژگی Message پیغامی مبنی بر موفقیت عملیات را به همراه شرح خطا باز میگرداند. · ویژگی Success مقداری از نوع bool مبنی بر موفقیت یا عدم موفقیت نهایی در عملکرد وب سرویس را باز میگرداند. |
فیلدهای کلاس ProductItemInfo |
||
نام |
نوع |
توضیحات |
ProductName |
string |
نام انبار را مشخص می کند |
ProductId |
Guid |
شناسه محصول را مشخص می کند. |
InventoryId |
Guid? |
شناسه انبار را مشخص می کند. |
InventoryName |
string |
نام انبار را مشخص می کند. |
ProductItemInventoryStatus |
ProductItemInventoryStatus |
وضعیت این قلم کالا در انبار را مشخص می کند. |
ProductItemStatus |
ProductItemStatus |
وضعیت سلامت این قلم کالا را مشخص می کند. |
ProductionDate |
DateTime? |
تاریخ تولید را مشخص می کند |
ExpireDate |
DateTime? |
تاریخ انقضا را مشخص میکند. |
WarrantyStartType |
WarrantyStartType |
نحوه شروع تاریخ گارانتی را مشخص می کند. |
WarrantyDurationMonths |
int? |
مدت گارانتی به ماه را مشخص می کند. |
WarrantyStartDate |
DateTime? |
تاریخ شروع گارانتی را مشخص می کند. |
WarrantyEndDate |
DateTime? |
تاریخ خاتمه گارانتی را مشخص می کند. |
InputTransactionId |
Guid? |
رسید انبار مرتبط را مشخص می کند. |
OutputTransactionId |
Guid? |
حواله انبار مرتبط را مشخص می کند. |
HistoryItems |
List<ProductItemHistory> |
سوابق این قلم کالا را مشخص می کند. |
فیلدهای کلاس ProductItemHistory |
||
نام |
نوع |
توضیحات |
Number |
string |
شماره تراکنش انبار را مشخص می کند |
SerialNumber |
string |
شماره سریال را مشخص می کند. |
DateTime |
DateTime |
تاریخ تراکنش انبار را مشخص می کند. |
ShipperDesc |
string |
نام تحویل دهنده را مشخص می کند. |
ShipperIdentityId |
Guid? |
شناسه هویت تحویل دهنده را مشخص می کند. |
ShipperUserId |
Guid? |
شناسه کاربر تحویل دهنده را مشخص می کند. |
ReceiverDesc |
string |
نام تحویل گیرنده را مشخص می کند. |
ReceiverIdentityId |
Guid? |
شناسه هویت تحویل گیرنده را مشخص می کند. |
ReceiverUserId |
Guid? |
شناسه کاربر تحویل گیرنده را مشخص می کند. |
SourceInventoryName |
string |
انبار مبدا را مشخص می کند. |
SourceInventoryId |
Guid? |
شناسه انبار مبدا را مشخص می کند. |
DestinationInventoryName |
string |
انبار مقصد را مشخص می کند. |
DestinationInventoryId |
Guid? |
شناسه انبار مقصد را مشخص می کند. |
InventoryTransactionType |
InventoryTransactionType |
نوع تراکنش انبار را مشخص می کند. |
TransactionStatus |
TransactionStatus |
وضعیت تراکنش انبار را مشخص می کند. |
متد SaveProductGroup
این متد یک گروه محصول ذخیره میکند.
پارمترهای ورودی
جدول زیر شرحی از پارامترهای ورودی متد فوق را ارائه می دهد
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
این پارامتر نام کاربری کاربر مورد نظر را جهت بررسی دریافت می نماید. |
password |
string |
این پارامتر رمز عبور کاربر مورد نظر را جهت بررسی دریافت می نماید. |
productGroupInfo |
ProductGroupInfo |
این پارامتر که از نوع کلاس productGroupInfo می باشد تمامی اطلاعات مربوط به گروه محصول مورد نظر را برای ثبت در پایگاه داده دریافت می نماید. |
فیلدهای کلاس ProductGroupInfo |
||
نام |
نوع |
توضیحات |
Id |
Guid? |
شناسه مربوط به گروه محصول برای ویرایش کردن محصول استفاده میشود. |
Name
RefId |
string
string |
نام گروه محصول در این پارامتر مشخص می گردد.
میتوانید مقدار شناسه این محصول در سیستم دیگر را وارد کنید |
ParentGroupId |
Guid? |
شناسه مربوط به والد گروه محصول در این پارامتر مشخص می گردد. |
Code |
string |
کد گروه محصول در این پارامتر مشخص می گردد. |
مقدار بازگشتی
جدول ذیل مقدار بازگشتی متد SaveProductGroup که توسط آن می توان از صحت ثبت اطلاعات مطلع گردید را شرح می دهد.
مقدار بازگشتی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
SaveProductGroupResult |
object |
نوع خروجی این متد یک object از نوع SaveProductGroupResult است که دارای دو ویژگی Message و ProductGroupId وSuccess می باشد. · ویژگی Message پیغامی مبنی بر عدم موفقیت ذخیره اطلاعات را به همراه شرح خطا باز میگرداند. · ویژگی Success مقداری از نوع bool مبنی بر موفقیت یا عدم موفقیت نهایی در عملکرد وب سرویس را باز میگرداند. · ویژگی ProductGroupId مقداری از نوع Guid را در صورت ذخیره گروه محصول برمیگرداند که شناسه یکتا گروه محصول است. |
متد FindProductGroupById
این متد نتیجه سرچ بر روی گروه محصول بر اساس شناسه را ارائه میدهد.
پارمترهای ورودی
جدول زیر شرحی از پارامترهای ورودی متد فوق را ارائه می دهد
پارامترهای ورودی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
userName |
string |
این پارامتر نام کاربری کاربر مورد نظر را جهت بررسی دریافت می نماید. |
password |
string |
این پارامتر رمز عبور کاربر مورد نظر را جهت بررسی دریافت می نماید. |
groupId |
Guid |
این پارامتر شناسه یکتا گروه محصول را دریافت میکند. |
مقدار بازگشتی
جدول ذیل مقدار بازگشتی متد FindProductGroupById که توسط آن می توان از صحت ثبت اطلاعات مطلع گردید را شرح می دهد.
مقدار بازگشتی |
||
نام پارامتر |
نوع پارامتر |
توضیحات |
ProductGroupResult |
object |
نوع خروجی این متد یک object از نوع ProductGroupResult است که دارای دو ویژگی Message و ProductGroupInfo وSuccess می باشد. · ویژگی Message پیغامی مبنی بر عدم موفقیت ذخیره اطلاعات را به همراه شرح خطا باز میگرداند. · ویژگی Success مقداری از نوع bool مبنی بر موفقیت یا عدم موفقیت نهایی در عملکرد وب سرویس را باز میگرداند. · ویژگی ProductGroupInfo طبق جدول ورودی در زمان ذخیره گروه محصول تمام پارامتر ها را خروجی میدهد. |
ممنون از مستنداتی که قرار دادید، فقط یه سوال دارم
اونم اینکه روتی که باید در خواست SaveProductGroup رو بهش بدیم چی هست؟ من پیداش نکردم
چون مثلا برای ذخیره محصول ما از روت /services/api/IProduct.svc?WSDL استفاده میکنیم و میخواستم بدونم برای ذخیره گروه محصول از چه روتی استفاده میکنیم؟
اگه وجود نداره خب پس این مستندات مربوط به ایجاد و پیدا کردن و حذف گروه محصول رو برای چی قرار دادید؟ کجا باید ازش استفاده کرد؟
سلام بفرمایید خدمت شما
ممنون
سلام مجدد
ما شناسه ای که شما موقع ذخیره یرای دسته بندی محصول بر می گردونید رو نمی تونیم ذخیره کنیم. مثل بقیه موارد یه RefId باید داشته باشه که بک اند ما بتونه پیداش کنه. توی وب سرویس هایی هم که ارسال کردید فقط find by id هست. لطفا راهنمایی بفرمایید.
با تشکر
سلام این مشکلتون رو متوجه نیازتون نشدم ممنون میشم بیشتر راهنمایی کنین
و یه مورد دیگه، کلا این قسمت محصولات و دسته بندی یه مشکل بزرگ داره و اینکه میشه دسته بندی با اسم تکراری درست کرد. با توجه به اینکه توی ثبت محصول دارید نام دسته بندی رو می گیرید احتمال اشتباه زیاد میشه. حداقل باید یه وب سرویس بدید که ما بتونیم قبل از ثبت دسته بندی چک کنیم که توی دیتابیس شما موجود نباشه. یا توی ثبت محصول از شناسه دسته بندی استفاده بشه به جای نام که این خودش همون مورد پیام قبلی رو لازم داره.
یه موردی هم که برای شرکت پیام گستر با این سابقه وجود داره و برای من عجیبه، داکیومنت های پر از اشتباه و ناقصه. واقعا باید کشف رمز کرد. اکثرا case type ها مغایرت دارن. یه جا کمل کیسه یه جای دیکه پاسکال یا ....
با این حال ممنون از زحمات شما. ممنون میشم برای این مشکل یه راه حل به ما ارائه بدید.
سلام تو بیزینس ملاکی برای جلوگیری از نام تکراری وجود نداره و کاربر میتونه طبق نیاز محصول و گروه تکراری داشته باشد و این کنترل سمت خود کاربر است بنابر این متدی برای این عملکر درخواستی شما هم وجود ندارد
درود.
برای اون قسمت که فرمودید متوجه نشدید :
توی فیلد های کلاس ProductGroupInfo ما باید یه فیلد برای ارجاع های بعدی داشته باشیم مثل سایر موارد. که ما بتونیم شناسه دسته بندی از دیتابیس خودمون رو بفرستیم. یه فیلد Id هست که فقط uuid قبول می کنه و با دیتابیس ما که شناسه هاش int هست جور در نمیاد. به فیلد Code هم هست که دقیق نمی دونم چیه ولی من شناسه دسته بندی خودمون رو توی اون می فرستم. ولی مشکل اینجاست که وب سرویسی وجود نداره که با code دسته بندی رو پیدا کنم. توی بقیه موارد مثل محصول با person به درستی یه RefId یا فیلدی هست که بشه ما با شناسه دیتایس خودمون مورد مد نظر رو پیدا کنبم. ولی توی دسته بندی همچین چیزی نیست.
فیلدهای کلاس ProductGroupInfo |
||
نام |
نوع |
توضیحات |
Id |
Guid? |
شناسه مربوط به گروه محصول برای ویرایش کردن محصول استفاده میشود. |
Name |
string |
نام گروه محصول در این پارامتر مشخص می گردد. |
ParentGroupId |
Guid? |
شناسه مربوط به والد گروه محصول در این پارامتر مشخص می گردد. |
Code |
string |
کد گروه محصول در این پارامتر مشخص می گردد. |
سلام
دوست عزیز شما که هیچ وقت به Id نمیتوانید مقدار بدید چون که unique identifier است و توسط ما مقدار دهی میشه
متد save product group یک مشخصه به اسم refid داره که شما میتوانید مقدار id مورد نظر خودتون رو اونجا وارد کنید
موضوع بعدی شما وقتی یک گروه محصول رو ذخیره میکنی ما یک Id به شما بر میگردونیم
حالا شما موقع ذخیره خوده محصول برای اینکه مشخص کنید این محصول تو کدوم گروه دسته بندی بشینه 2 تا راه دارید
یکی اینکه اون id های که قبلا از ذخیره گروه درسافت کردید رو یه جا نگه دارید کنید و از اون ها اینجا استفاده کنید
راه دوم اینکه فقط نام گروه محصول رو وارد کنید
متد save product
بخش
GroupId
یا
GroupName
یکی از این دو مورد را مقدار دهی کنید کافیست
"دوست عزیز شما که هیچ وقت به Id نمیتوانید مقدار بدید چون که unique identifier است و توسط ما مقدار دهی میشه
متد save product group یک مشخصه به اسم refid داره که شما میتوانید مقدار id مورد نظر خودتون رو اونجا وارد کنید"
توی داکیومنت refId نبود و حالا اگر refId رو دادم با چه متدی refId مد نظرم رو پیدا کنم؟ متد جستجو تو دسته بندی اگر هست که داکیومنتش رو بدید لطفا
با تشکر.
در حال حاضر امکان جستجو با refid وجود ندارد
شما فقط میتوانید با متد FindProductGroupById اقدام به جستجو گروه محصول کنید
و درصورتی که بخواهید یک محصول جدید اضافه کنید برای قرار دادن محصول در آن دسته بندی از همان روشی که در پست قبلی گفتم میتوانید استفاده کنید
الان RefId بدم نتونم ازش استفاده کنم به چه دردی می خوره.
دوست عزیز من فقط میتونم در مورد سرویس ها و متد های موجود راهنماییتون کنم که به چه نحوی استفاده کنید چنانچه نیاز دیگری دارید لطفا از طریق باشگاه مشتریان اقدام به ثبت درخواست تغییرات خود کنید
سلام
برای آپدیت کردن محصولات و قیمتشون توی داکیومنت ارسال شده وب سرویسی نیست. به چه شکلی باید آپدیت رو انجام بدیم.
با تشکر
سلام
برای بروزرسانی یک محصول باید مقدار Id را در متد Saveproduct مقدار دهی کنید