نحوه احراز هویت و استفاده از توابع توسط اتوماسیون اداری فراگستر

نحوه احراز هویت و استفاده از توابع توسط اتوماسیون اداری فراگستر

در زیر مراحل احراز هویت توسط اتوماسیون اداری فراگستر از طریق API توضیح داده شده است :

سرویس های مربوطه دارای یک آدرس ثابت می باشد که می بایست در پروژه مربوطه اضافه شود.

شرحآدرس
سرویس احراز هویتhttp://localhost/Services/AuthService.svc
سرویس نامه نگاریhttp://localhost/Services/CustomerService.svc

نحوه امن سازی سرویس های فراگستر

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

سرویس از نوع پروتکل SOAP می باشند.

هر متد دارای تعدادی ورودی و خروجی است.

در هر متد پارامترهای Ticket و EmployeePositionCode باید به عنوان ورودی ارسال شوند.

هر سامانه ای که قصد استفاده از سرویس را داشته باشد باید دارای یک GUID منحصر به فرد در جدول [Security].[ApplicationManagement] باشد که از قبل به سیستم فراگستر معرفی شده است.

به هنگام استفاده از متد در هر سرویس نیاز است توسط نام کاربری و رمز عبور مختص کاربر و سرویس AuthService و متد SignIn یک Ticket ورودی جهت مجوز ورود دریافت شود و همچنین سمت پیش فرض کاربر از طریق سرویس CustomerService و متد GetUserEmployeePosition تحت عنوان EmployeePositionCode دریافت شود و نتیجه Ticket و EmployeePositionCode به شرح زیر به همراه پارامترهای متد به عنوان ورودی ارسال شود.

در هنگام استفاده از متدهای مورد استفاده در این مستند و پر کردن آبجکت های ورودی ممکن است نیازمند استفاده از متدهای دیگر نیز باشیم. مانند دریافت لیست گیرندگان و فرستندگان، دریافت لیست نامه های مرتبط و …



using (var customerServiceClient = new CustomerServiceClient())
using (var authServiceClient = new AuthServiceClient())
{
const string username = "username";
var userModel = new FaraGostarAuthService.CredentialModel
{
Username = username,
Password = "123456"
};
var applicationGuid = new Guid("0C003558-1846-423F-98BE-87745EC77424");
var ticketModel = authServiceClient.SignIn(applicationGuid, userModel);
var ticket = ticketModel.SecureTicketId;
var employeePositionModel = customerServiceClient.GetUserEmployeePosition(ticket, 	username);
var employeePositionCode = employeePositionModel.SingleOrDefault(x => 	x.IsDefault)?.EmployeePositionCode;
var sampleResult = customerServiceClient.SomeMethod(ticket, employeePositionCode, …);
}

احراز هویت کاربر جاری

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

جهت استفاده از تمامی متد ها در سرویس های فراگستر، نیاز است کاربر جاری تعیین هویت شود، از متد زیر جهت احراز هویت و دریافت Ticket مجوز ورود استفاده می‌کنیم.



const string username = "username";
var userModel = new FaraGostarAuthService.CredentialModel
{
Username = username,
Password = "123456"
};
var applicationGuid = new Guid("0C003558-1846-423F-98BE-87745EC77424");
var ticketModel = authServiceClient.SignIn(applicationGuid, userModel);
var ticket = ticketModel.SecureTicketId;

توضیح

در اینجا فرض شده نام کاربری username و کلمه عبور ۱۲۳۴ میباشد

همچنین هر سیستم که قصد دارد با API های فراگستر کار کند میبایست
GUID که کدی منحصر به فرد میباشد و توسط شرکت فراگستر تولید شده را وارد نماید.

متد های مورد استفاده

 نام متدنام سرویسشرح
1SignInAuthServiceاحراز هویت کاربر جاری
2GetUserEmployeePositionCustomerServiceتشخیص سمت پیش فرض کاربر جاری
3GetLetterCustomerServiceدریافت مشخصات کامل نامه از شماره نامه
4CreateLetterCustomerServiceایجاد نامه جدید و دریافت شماره نامه
5UpdateLetterCustomerServiceبروزرسانی مشخصات نامه
6GetLetterListCustomerServiceدریافت لیست نامه های ثبت شده با توجه به تاریخ

SignIn احراز هویت کاربر جاری:

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


const string username = "username";
var userModel = new FaraGostarAuthService.CredentialModel
{
Username = username,
Password = "123456"
};
var applicationGuid = new Guid("0C003558-1846-423F-98BE-87745EC77424");
var ticketModel = authServiceClient.SignIn(applicationGuid, userModel);
var ticket = ticketModel.SecureTicketId;

توضیح

مقدار ticket که از مدل ticketModel گرفته شده در بردارنده مجور شما برای استفاده از API میباشد

جدول زیر خروجی و ورودی های متد ها را توضیح میدهد

ورودی ها
نامنوعشرح
1applicationGuidGUIDشناسه سامانه استفاده کننده از سرویس
2userModelCredentialModelمدل شامل اطلاعات هویتی کاربر جاری
خروجی
نوعشرح
TicketModelمدل شامل مشخصات Ticket مجوز ورود

GetUserEmployeePosition تشخیص سمت پیش فرض کاربر جاری

هر فرد ممکن است چند سمت داشته باشد این متد تشخیص میدهد که سمت پیش فرض کاربر کدام است تا عملیات های بعدی با شناسه این کاربر انجام پذیرد.

جهت استفاده از متد ها در سرویس های فراگستر نیاز است پست پیش فرض کاربر جاری مشخص شود  از متد زیر جهت تشخیص پست پیش فرض کاربر جاری استفاده میکنیم.



var employeePositionModel = customerServiceClient.GetUserEmployeePosition(ticket, username);

 var employeePositionCode = employeePositionModel.SingleOrDefault(x => x.IsDefault)?.EmployeePositionCode;

جدول زیر ورودی و خروجی توابع را توضیح میدهد

 

ورودی ها
نامنوعشرح
1ticketStringمجوز ورود کاربر
2usernameStringنام کاربری کاربر جاری
خروجی
نوعشرح
UserEmployeePositionModel[]مدل از نوع UserEmployeePositionModel[]  که شامل سمت کاربر جاری می باشد.