Ana içeriğe geç

eBAConnect Dokümanı

Bu doküman eBAConnect yapılandırmasını, içindeki endpointleri ve bu endpointlerin request-response modellerini anlatmaktadır.

Yapılandırma

eBAConnect API'ını çalıştırabilmek için eBAConnect/Web.Config dosyasındaki appSettings kırılımı altında ki değerlerin aşağıdaki yönergelerde ayarlanması gerekmektedir.

  • eBAPath: eBA'nın kurulu olduğu dizinde ki Common klasörünün konumu (Örneğin C:\BimserCozum\eBA\Common).
  • Server: Kurulu olan eBA'nın instance adı (Örneğin PRODUCTION).

Genel Bilgiler

API içerisinde 4 farklı controller bulunmaktadır, bunlar;

  • Login
  • Menu
  • Process
  • ShareLink

NOT: Doküman içerisinde response örneği bulunmayan endpointler geriye bir değer döndürmemektedir.

API içerisinde response wrapper bulunmaktadır, bundan dolayı tüm endpoint sonuçları sabit bir formatta döndürülmektedir. Formatı aşağıdan inceleyebilirsiniz.

Success

{
"Success": true,
"Code": 200,
"Result": null
}

Error

{
"success": false,
"code": 200,
"message": "An error occured",
"stackTrace": "An error occured in PropertyController line:21"
}

Authentication

API içerisindeki endpointleri kullanabilmek için eBA sisteminde kayıtlı olan bir bir kullanıcı ile token alınmalıdır, daha sonra bu token ile diğer endpointler kullanılmalıdır. Token alabilmek için api/Login/Login (POST) endpointi kullanılır. Diğer endpointlerde bu oluşturulan tokenı header kısmında token değeri ile göndermemiz gerekli.

Request Example

http://localhost/eBAConnect/api/Login/Login

Request Body Parameters

  • UserId (string): eBA kullanıcı adı.
  • ImpersonatingUserId (string): Adına işlem yapılacak kullancının ID değeri.
  • Password (string):eBA kullanıcı şifresi.
  • Language (string): Kullanılmak istenen dil, English, Turkish gibi belirtilebilir.
  • ExternalUserType (string): eBAConfiguration Manager tarafında tanımlanması gereken parametre değeri, Security.AcceptedExternalUserProperties key'ine tanımlanmalıdır, "," ile ayrılarak birden çok değer belirtilebilir. Bu tanımlanan değer ile aynı olacak şekilde SystemManager üzerinde bir custom property tanımlanmalıdır.
  • ExternalUserName (string): Tanımlanan ExternalUserType propertysine verilecek olan değer. Bu değerin SystemManager üzerinde login olunması istenen kullanıcıya set edilmesi gerekmektedir.

Response Example

{
"Success": true,
"Code": 200,
"Result": {
"UserID": "admin",
"ImpersonatingUser": "admin",
"Token": "h7b9g1N+69N2X7VieO75Hd05UcK6YfzYTnwNIFnrJS8maKyK2pFxmrIpofVXBdeHw4CAkH8MlIDoD8VTr3FHMKC6xjUK0VLVX+7Ldaw+Gpc="
}
}

Endpoints

api/Login/Logout [POST]


eBAConnect token'ını silerek oturumu sonlandırır.

Headers

Content-Type: application/json\ Token: token

api/Menu/GetMenuStructure [POST]


Gönderilen token bilgisine göre kullanıcının görebildiği menüleri getirir.

Headers

Content-Type: application/json\ Token: token

Request Example

{
"ExcludeTypes": [
0
]
}

Request Body Parameters

  • ExcludeTypes (integer[]): Getirilmek istenmeyen menü tiplerini belirtir.

Response Example

{
"Success": true,
"Code": 200,
"Result": [
{
"Id": 0,
"ParentId": 0,
"Text": "string",
"Items": [
{
"Id": 0,
"ParentId": 0,
"Text": "string",
"Items": [
{}
],
"NodeKey": "string",
"NodeActionType": 0
}
],
"NodeKey": "string",
"NodeActionType": 0
}
]
}

api/Process/GetWaitingProcesses [POST]


Gönderilen token bilgisine göre kullanıcıya ait onay listesi döndürülür.

Headers

Content-Type: application/json\ Token: token

Response Example

{
"Success": true,
"Code": 200,
"Result": [
{
"ProcessName": "string",
"ProcessCaption": "string",
"Description": {},
"Count": 0,
"MultiLanguage": true
}
]
}

api/Process/GetWaitingProcessRequests [POST]


Gönderilen değerlere göre bekleyen süreçler ve değerleri döndürülür.

Headers

Content-Type: application/json\ Token: token

Request Example

{
"ProcessName": "string",
"Skip": 0,
"Take": 0
}

Request Body Parameters

  • ProcessName (string): Detayları getirilmek istenen süreç adı.
  • Skip (integer): Sayfalama işlemi için kaç değerin atlanacağını belirten parametre.
  • Take (integer): Sayfalama işlemi için kaç değerin getirileceğini belirten parametre.

Response Example

{
"Success": true,
"Code": 200,
"Result": [
{
"ProcessId": 0,
"RequestId": 0,
"Status": "string",
"Fields": [
{
"Name": "string",
"FieldName": "string",
"Value": "string",
"OrjValue": {},
"FieldType": 0,
"OrjName": "string",
"DisplayFormat": "string"
}
],
"RequestDate": {}
}
]
}

api/Process/GetFlowRequestEvents [POST]


Gönderilen değerlere göre sürecin eventlarını getirir.

Headers

Content-Type: application/json\ Token: token

Request Example

{
"ProcessId": 0,
"RequestId": 0
}

Request Body Parameters

  • ProcessId (integer): Eventları getirilmek istenen sürecin ID değeri.
  • RequestId (integer): Eventları getirilmek istenen sürecin Request ID değeri.

Response Example

{
"Success": true,
"Code": 200,
"Result": {
"Events": [
{
"Id": 0,
"Text": "string",
"ReasonRequired": true,
"Validate": true,
"EventForm": "string",
"EventIcon": "string",
"EventIconColor": "string",
"Confirm": true,
"FastApprove": true,
"DigitalSignatureRequired": true
}
]
}
}

api/Process/ContinueProcess [POST]


Gönderilen değerlere göre süreci belirtilen event üzerinden ilerletir.

Headers

Content-Type: application/json\ Token: token

Request Example

{
"ProcessId": 0,
"RequestId": 0,
"EventId": 0,
"Reason": "string",
"EventFormId": 0
}

Request Body Parameters

  • ProcessId (integer): İlerletilecek olan sürecin ID değeri.
  • RequestId (integer): İlerletilecek olan sürecin Request ID değeri.
  • EventId (integer): Sürecin hangi eventtan ilerletileceğini belirten Event ID değeri.
  • Reason (string): Reason Required olan eventlar için reason değerinin girileceği alan.
  • EventormId (integer): Event eğer bir form açacaksa bu formun ID değeri.

api/ShareLink/CreateLinkForProcessItem [POST]


Gönderilen değerlere göre sürecin açılacağı bir URL döndürür.

Headers

Content-Type: application/json\ Token: token

Request Example

{
"ProcessId": 0,
"RequestId": 0
}

Request Body Parameters

  • ProcessId (integer): Link oluşturulmak istenen sürecin ID değeri.
  • RequestId (integer): Link oluşturulmak istenen sürecin Request ID değeri.

Response Example

{
"Success": true,
"Code": 200,
"Result": "http://localhost/eba.net/default.aspx?ep=63927904-EF0F-4748-9E68-8F9924831D37"
}

api/ShareLink/CreateLinkForMenu [POST]


Gönderilen MenuItemKey değerine göre menü için link oluşturur.

Headers

Content-Type: application/json\ Token: token

Request Example

{
"MenuItemKey": 0
}

Request Body Parameters

  • MenuItemKey (integer): Link oluşturulmak istenen menünün değeri.

Response Example

{
"Success": true,
"Code": 200,
"Result": "http://localhost/eba.net/default.aspx?ep=099A84FD-E43D-40E7-84DC-89B99608FB3C"
}