Authentication, Notifications And Session Management
Authentication Type: Basic Authentication
Username/LOGIN_NAME and Password/LOGIN_PASSWORD will be passed within requests' header.
A Valid LOGIN_NAME and LOGIN_PASSWORD for an existing user within CUSTODIANS table must be passed with each API call header.
LOGIN_PASSWORD must be MD5 hashed in lower charcters before sending to server and it will always be in MD5 wherever used.
For guests and anonymous Web Service Consumers (Mobile/Desktop apps) access, username = 1 and a predefined password will be used.
After success login, During every app startup (very first-time startup and every app startup) a call of POST ADD DEVICE must be sent to the server with device's unique UDID and a valid token to enable web server sending push notificatoins the mobile device.
Sessions need not to be expire ever. So, session management and tokens will not be exist.
General Information
Global Culture: tr-TR
All returned data will be in JSON format
To Minimize JSON data size, objects/properties with NULL values will not be serialized within returned JSON data. It's better also for sent JSON data to follow this rule.
All tables have a single primary key field with an automatically incremented long/big integer values
All DateTime values got from web service and also sent to it must be at Northern Cyprus' Local Time. Format: yyyy-MM-ddTHH:mm:ss.fffZ Example: 2020-12-25T14:18:28.123Z
POST/PUT/DELETE requests' reply will always consist of: Status + affected Object array of the same type of passed object. Details are explained within each API's help page
Response Status/Values:
Status codes and their explanations are explained in detail within each API's help page.
GET:
Always Returns Array of DATA that has same type of requested object + Status object + Paging object
Success
HttpStatusCode.OK
code = 0
success = true
message = "Success"
detailedMessage = ""
Fail (Exception)
HttpStatusCode.BadRequest
code = 2
success = false
message = "Exception"
detailedMessage = "Exception detail"
PUT:
Always Returns updated object + Status object
Success
HttpStatusCode.OK
code = 0
success = true
message = "Success"
detailedMessage = ""
Fail
Model Error
HttpStatusCode.BadRequest
code = 16
success = false
message = "Invalid input parameter values"
detailedMessage = "incorrect parameters"
Not Found Error
HttpStatusCode.NotFound
code = 64
success = false
message = "Record could not be found"
detailedMessage = ""
Update Concurrency Exception
HttpStatusCode.BadRequest
code = 2
success = false
message = "Exception"
detailedMessage = "Exception details"
Entity Validation Exception
HttpStatusCode.BadRequest
code = 32
success = false
message = "Database Exception"
detailedMessage = "Fields that causes this exception"
Update Exception
HttpStatusCode.BadRequest
code = 16
success = false
message = "Invalid/Missed input parameter values"
detailedMessage = "Exception details"
Duplicate Record
HttpStatusCode.BadRequest
code = 1024
success = false
message = "Duplicate Record!"
detailedMessage = ""
Forbidden Error
HttpStatusCode.Forbidden
code = 2048
success = false
message = "Forbidden because of passed validity date for target trasaction!"
detailedMessage = ""
POST:
Always Returns added object + Status object
Success
HttpStatusCode.OK
code = 0
success = true
message = "Success"
detailedMessage = ""
Fail
Model Error
HttpStatusCode.BadRequest
code = 16
success = false
message = "Invalid input parameter values"
detailedMessage = "incorrect parameters"
Entity Validation Exception
HttpStatusCode.BadRequest
code = 32
success = false
message = "Database Exception"
detailedMessage = "Fields that causes this exception"
Insert/Add Exception
HttpStatusCode.BadRequest
code = 2
success = false
message = "Exception"
detailedMessage = "Exception details"
Duplicate Record
HttpStatusCode.BadRequest
code = 1024
success = false
message = "Duplicate Record!"
detailedMessage = ""
Forbidden Error
HttpStatusCode.Forbidden
code = 2048
success = false
message = "Forbidden because of passed validity date for target trasaction!"
detailedMessage = ""
Forbidden Error
HttpStatusCode.Forbidden
code = 4096
success = false
message = "Forbidden because of insufficient quantity !"
detailedMessage = ""
DELETE:
Always Returns Status object and Object with value null
Success
HttpStatusCode.OK
code = 0
success = true
message = "Success"
detailedMessage = ""
Fail
Not Found Error
HttpStatusCode.NotFound
code = 64
success = false
message = "Record could not be found"
detailedMessage = ""
Delete Exception
HttpStatusCode.BadRequest
code = 2
success = false
message = "Exception"
detailedMessage = "Exception details"
Delete Error
HttpStatusCode.BadRequest
code = 128
success = false
message = "Operation cannot be completed because of related records existance!"
detailedMessage = "Error details"
LOGIN:
Always Returns PARTICIPANT object + Status object
Success
HttpStatusCode.OK
code = 0
success = true
message = "Success"
detailedMessage = ""
Fail
Login Denied
HttpStatusCode.Forbidden
code = 8
success = false
message = "Membership is not activated yet!"
detailedMessage = ""
Login Fail
HttpStatusCode.Forbidden
code = 4
success = false
message = "Invalid Username or Password!"
detailedMessage = ""
Exception
HttpStatusCode.BadRequest
code = 2
success = false
message = "Exception"
detailedMessage = "Exception details"
RESET_PASSWORD:
Always Returns only Status object
Success
HttpStatusCode.OK
code = 0
success = true
message = "Success"
detailedMessage = ""
Fail
Password Recovery Error
HttpStatusCode.BadRequest
code = 512
success = false
message = "Password recovery email could not be sent to user's email!"
detailedMessage = ""
Exception
HttpStatusCode.BadRequest
code = 2
success = false
message = "Exception"
detailedMessage = "Exception details"
Member does not exist
HttpStatusCode.NotFound
code = 256
success = false
message = "Member does not exist!"
detailedMessage = ""
Entity Validation Exception
HttpStatusCode.BadRequest
code = 32
success = false
message = "Database Exception"
detailedMessage = "Fields that causes this exception"