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

در زیر مراحل احراز هویت توسط اتوماسیون اداری فراگستر از طریق 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 که کدی منحصر به فرد میباشد و توسط شرکت فراگستر تولید شده را وارد نماید.

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

  نام متد نام سرویس شرح
1 SignIn AuthService احراز هویت کاربر جاری
2 GetUserEmployeePosition CustomerService تشخیص سمت پیش فرض کاربر جاری
3 GetLetter CustomerService دریافت مشخصات کامل نامه از شماره نامه
4 CreateLetter CustomerService ایجاد نامه جدید و دریافت شماره نامه
5 UpdateLetter CustomerService بروزرسانی مشخصات نامه
6 GetLetterList CustomerService دریافت لیست نامه های ثبت شده با توجه به تاریخ

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 میباشد

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

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

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

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

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



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

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

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

 

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