درود و ارادت
ما از API پیام گستر استفاده میکنیم و در این مسیر به مشکلاتی برخورد کردیم که من جزئیات رو خدمتتون ارسال میکنم. لطفا جهت رفع این مشکلات راهنمائی بفرمائید.
سپاس
موضوع: خالی برگشتن فیلد مسئول در خروجی وبسرویس برای Task و Form
ما از وبسرویس SOAP پیامگستر برای گزارشگیری داخلی استفاده میکنیم. کاربر سرویس ما فقط خواندنی است.
مشاهده: در متد SearchTask (سرویس ITask)، المان AssignedUserToTask در خروجی TaskInfo برای تمام ۹۹۶ رکورد به صورت i:nil="true" برمیگردد. همچنین در TaskInfo هیچ المانی برای «ایجادکننده» وجود ندارد.
این وابسته به وضعیت وظیفه نیست. آزمودیم:
انجام شده: ۹۲۰ رکورد — صفر دارای مسئول
شروع نشده: ۶۳ رکورد — صفر دارای مسئول
در حال اجرا: ۷ رکورد — صفر دارای مسئول
منتظر دیگری: ۵ رکورد — صفر دارای مسئول
همین وضعیت برای AssignedTo در خروجی فرمها هم هست: در ۳٬۴۷۲ رکورد فرم (تیکت ادمین، پشتیبانی، دستور پرداخت، مرخصی) این فیلد صد در صد خالی است.
در مقابل، همین وبسرویس با همین کاربر:
برای فرصت فروش، AssignedTo را در ۶۷۸ از ۶۹۲ رکورد درست برمیگرداند
برای قرار ملاقات، AssignedToId را در ۷۰ از ۷۰ رکورد درست برمیگرداند
سؤالهای ما:
۱. چرا فیلد مسئول برای Opportunity و Appointment پر برمیگردد ولی برای Task و Form همیشه خالی است؟ آیا این رفتار طراحیشده است یا نقص؟
۲. اگر مسئلهٔ سطح دسترسی است، دقیقاً کدام مجوز خواندنی باید به کاربر سرویس داده شود؟ (متد GetUserList هم برای این کاربر خطای «شما مجوز لازم را برای دسترسی به این قسمت ندارید» میدهد.)
۳. آیا متد یا فیلدی برای خواندن تاریخچهٔ گردش مراحل وجود دارد؟ یعنی اینکه چه کاربری، در چه تاریخی، یک تیکت یا وظیفه را از چه مرحلهای به چه مرحلهای برده است. این برای ما اهمیت زیادی دارد چون بخشی از کار همکاران، حرکت دادن رکورد در میانهٔ فرایند است و در حال حاضر هیچ ردی از آن در خروجی نیست.
۴. آیا راهی هست که «کاربر ایجادکنندهٔ» رکورد (Task و Form) در خروجی وبسرویس قرار بگیرد؟
با تشکر
@104760
با سلام و احترام
1.AssignedTo در فرصت همان فیلد "تخصیص داده شده به" و در قرارملاقات فیلد "هماهنگ کننده" میباشد...روی فرم و وظیفه از این تایپ فیلدها موجود نیست...لطفا بفرمایید نیازتان روی فرم و وظیفه چیست؟
2.یوزری که برای وب سرویس استفاده میشود بهتر است FullAccess باشد اگر از یوزر ادمین استفاده نمیکنید بهتر است به یوزر مورد نظر دسترسی "مدیر سیستم " دهید در غیر این صورت برای هر api نیاز به دسترسی جداگانه دارید.
3.خیر
4.در صورت استفاده از rest api ها میتوانید creatorId آیتم ها را داشته باشد.
با سلام. پیرو پاسخ قبلی شما که به امکان دریافت creatorId از طریق REST API اشاره فرمودید، برای راهاندازی گزارشگیری مدیریتی به اطلاعات زیر نیاز داریم:
دسترسی و احراز هویت
۱. آدرس پایهٔ REST API روی نسخهٔ on-premise ما چیست؟ (مثلاً http://192.168.168.25/... )
۲. روش احراز هویت چیست؟ (کلید API، توکن، یا نام کاربری/رمز) و توکن چگونه گرفته و تمدید میشود؟
۳. حداقل سطح دسترسیِ فقطخواندنی برای کاربر این API چیست؟ (ما به دلایل امنیتی نمیتوانیم به یک حساب سرویس دسترسی کامل یا مدیر سیستم بدهیم.)
۴. مستندات کامل یا فایل Swagger/OpenAPI را در اختیار ما میگذارید؟
کارکرد
۵. آیا امکان صفحهبندی (pagination) برای خواندن چند هزار رکورد وجود دارد؟ سقف هر درخواست چقدر است؟
۶. آیا محدودیت نرخ درخواست (rate limit) دارد؟
۷. آیا امکان خواندن تفاضلی هست؟ یعنی «رکوردهایی که از تاریخ مشخصی به بعد ساخته یا ویرایش شدهاند» — تا مجبور نباشیم هر بار کل داده را بکشیم.
فیلدها و موجودیتها
۸. برای هر یک از این موجودیتها endpoint خواندن وجود دارد؟ وظیفه (Task)، فرمها (تیکت، پشتیبانی، دستور پرداخت)، فرصت فروش، اشخاص/مشتریان، و فهرست کاربران.
۹. خروجی هر رکورد علاوه بر creatorId، آیا اینها را هم دارد: نام کاربری ایجادکننده، شناسه و نام آخرین ویرایشکننده (lastModifier)، و تاریخ ویرایش؟
۱۰. آیا endpoint «فهرست کاربران» هست که نگاشت «شناسه ← نام کاربری ← نام و نام خانوادگی» را بدهد؟
۱۱. آیا فیلدهای سفارشی (x_...) در خروجی REST هم مثل وبسرویس SOAP برمیگردند؟
۱۲. تاریخها شمسی برمیگردند یا میلادی؟
@104760
با سلام و احترام
1.http(s)://[crm address]/swagger ورژن 2
2.توکن
3.بسته به api و endpoint ای که استفاده میکنید میتوانید پرمیشن های متفاوت در پیام گستر به یوزر دهید.
4.داکیومنتی موجود نیست ولی به ازای هر endpoint مدل قرار داده شده است.
5.6.7.بله امکان find براساس فیلترهای مختلف وجود دارد.
8.بله
9.بستگی به endpoint مورد نظرتان دارد.
10.خیر
11.بله
12.اگر منظورتان creatDate میباشد میلادی