عناوین فهرست
نحوه احراز هویت و استفاده از توابع توسط اتوماسیون اداری فراگستر
در زیر مراحل احراز هویت توسط اتوماسیون اداری فراگستر از طریق 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;
متد های مورد استفاده
نام متد | نام سرویس | شرح | |
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;
جدول زیر خروجی و ورودی های متد ها را توضیح میدهد
ورودی ها | |||
نام | نوع | شرح | |
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[] که شامل سمت کاربر جاری می باشد. |