با سلام و عرض خسته نباشید
جهت اتصال وبسایت و ثبت آنلاین کاربران سایت به crm پیام گستر دچار مشکل شده ایم و مستندات لازم را خوانده ایم اما برایمان بسیار گنگ بوده است و نامشخص
از وب سرویس Person جهت ارتباط و ثبت کاربر سایت با عنوان مشتری حقیق استفاده میکنیم اما در ابتدا چنانچه نمونه کدهای php کامل وب سرویس موجود است برای ما ارسال نمایید و در ادامه جهت اتصال به وب سرویس person به دو مقدار CrmObjectTypeCode و CrmObjectTypeIndex مشکل گرفته و اتصال انجام نخواهد شد این دو مقدار از چه و از کجا مقدار دهی خواهد شد
آیا میتوان اطلاعات کاربر سایت را به سرویس پیام گستر انتقال داد و در ادامه شماره مشتری و شماره سر نخ گرفت ؟
لطفا دوباره فایل ها و مستندات وردی وب سرویس را نفرستید چون که موجود است تنها نمونه فایل کد php و راهنمای دستور العمل به دست آوردن داده های وابسته را برایم ارسال کنید ، با تشکر
System.Exception: type code 0 was not found
at Septa.PayamGostar.ServiceLayer.ServiceType.PGServiceTypes.Modules.CrmObjectConverters.IdentityConverter`3.Initialize(TInfo crmObjectInfo)
at Septa.PayamGostar.ServiceLayer.ServiceType.PGServiceTypes.Modules.CrmObjectConverters.IdentityConverter`3.Create(TInfo crmObjectInfo, Guid userId)
at Septa.PayamGostar.ServiceLayer.ServiceType.PGServiceTypes.Modules.CrmObjectService`3.Save(String userName, String password, TInfo crmObjectInfo)
در تصویر ccc.jpg مشاهده میشود که با خطاء "Value cannot be null" مواجه شدهاید. علت این خطاء در مثال شما عدم انتخاب دستهبندی برای هویت میباشد.
مقدار Key در تصویر err2.jpg اشتباه است.
با مراجعه به این مطلب آموزشی، شما را با نحوه ایجاد کلید برای دستهبندی آشنا میکنیم.
بعد از ایجاد کلید برای دستهبندی، کلید را در فیلد Key وارد نموده سپس Invoke را کلیک کنید. ایجاد هویت با موفقیت انجام میشود.
پاسخ اول:
نمونه کد فراخوانی تایع ذخیره، حذف و جستجو با کلید با استفاده از زبان PHP از مسیر ذیل قابل دسترس است:
https://developer.payamgostar.com/
پاسخ دوم:
برای دسترسی به مقدار صحیح CrmObjectTypeCode، وارد نرم افزار سیآرام شوید، از منو بالای صفحه بر روی منو تنظیمات > شخصی سازی CRM > نمای کلی را کلیک کنید. صفحه شخصی سازی در تب جدید بارگزاری خواهد شد، اکنون با انتخاب نوع و کلیک بر روی دکمه ویرایش Popup ویرایش نوع بارگزاری خواهد شد اکنون میتوان برای این نوع کلید تعریف نمود و در انتهای صفحه دکمه ذخیره را کلیک کنید. این کلید را در CrmObjectTypeCode استفاده کنید.
پاسخ سوم:
آیا میتوان اطلاعات کاربر سایت را به سرویس پیام گستر انتقال داد و در ادامه شماره مشتری و شماره سر نخ گرفت؟ جواب بله است. برای اطلاعات بیشتر لطفاً توضیحات تکمیلی را برای بنده ارسال نماید.
با سلام تشکر این مورد حل شد اما در مرحله بعد با خطای
looks like we got no XML document مواجه خواهیم شد
ممنون از پاسخگوییتون
از خطا تصویری پیوست نماید. نمونه کد فراخوانی سرویس برای زبان PHP و Node.js از لینک ذیل قابل مشاهده است:
https://developer.payamgostar.com
خطایی نیست فقط پیغام looks like we got no XML document که سیستمی هست میده مبنی بر اینکه xml نیست تو سیستم
با نمونه کد php شما هم با همین پیام مواجه خواهیم شد
خوشبختانه به مشتریان زیادی نمونه کدها ارائه شده و در فراخوانی آن مشکلی نداشتند. ممکن است نمونه کدهای که ایجاد نمودهاید رو مجدد بررسی کنید و اگر به جواب نرسیدید بفرمایید براتون تست انجام بدیم.
در بخش معرفی نرمافزار موجود در تالار جامعه کاربران، نرمافزار WCF Test Client جهت تست وبسرویس قرار گرفته است و با کلیک بر روی دکمه Invoke کدهای ارسالی و دریافتی Soap رو براتون تولید خواهد کرد که کمک شایانی است.
متاسفانه با گذشت 2 هفته همچنان مشکل برقرار هست نمیدونم انگار روی سی آر ام خریداری شده باید چیزی تنظیم بشه تا وصل بشه حتی با کدهای php نمونه خود شما هم به سی آر آم دیتا ارسال نمیشه و خطای looks like we got no XML document میده دقیقا عینا همین پیام ارسال میشه از طرف وب سرویس لطفا چنانچه موردی باید تنظیم گردد اعلام بفرمایید ،
ضمن اینکه حتی مالک هویت و تنظیمات هم برابر با کاربری قرار دادم که به عنوان کاربر سرویس سایت در نظر گرفتم
<?php
try{
$username = 'نام کاربری سی آر ام';
$password = 'کلمه عبور';
$url = 'http://crm.site.ir/services/api/IPerson.svc?wsdl';
$soapClient = new SoapClient( $url );
$params = array(
'username' => $username,
'password' => $password,
'person' => array(
'CrmObjectTypeCode' => 'person',
'CrmObjectTypeIndex' => 24,
'Categories' => array(
array(
'Key' => 'keyno'
)
),
'IdentityType' => 'Person',
'FirstName' => 'Ehsan',
'LastName' => 'Pakroo'
)
);
$result = $soapClient->SavePerson($params);
if ($result->SavePersonResult->Success){
echo json_encode($result, JSON_UNESCAPED_UNICODE);
}else
echo $result->SavePersonResult->Message;
}catch ( Exception $e ) {
echo $e->getMessage();
}
دسترسی ایجاد و مدیریت کلاس مشتریان
سلام. قبلا با خطای looks like we got no XML document مواجه شدیم و مسئله را حل کردیم. زمانی رخ می دهد که شما پارامتری را به اشتباه به وب سرویس ارسال کنید و ظاهرا وب سرویس پیغام خطا را به فرمت xml برنگرداند. پیشنهاد می کنم در قسمت catch از دستور $soapClient->__getLastResponse() استفاده کنید تا بتوانید پیغام خطا را ببینید. در ضمن آبجکت soapclient به صورت زیر بسازید تا قابل ردیابی باشد.
$soapClient = new SoapClient( $url, array('trace' => true) );
موفق باشید.