32 lines
3.0 KiB
Python
32 lines
3.0 KiB
Python
from marshmallow import Schema, fields, validate
|
||
|
||
# CollectLoan Request Schema
|
||
class CollectLoanSchema(Schema):
|
||
transactionId = fields.Str(required=True, description="Unique identifier of transaction in Simbrella system")
|
||
fbnTransactionId = fields.Str(required=True, description="Unique id of the transaction received from FBN in Eligibility or Provision requests")
|
||
debtId = fields.Str(required=True, description="Unique identifier of a loan in Simbrella system that is going to be collected (it correlates with provision request)")
|
||
customerId = fields.Str(required=True, description="Unique identifier of a user")
|
||
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
|
||
productId = fields.Str(required=True, description="Identifier of a product for which collection to be made")
|
||
collectAmount = fields.Float(required=True, description="Amount to be collected from user's account (penalCharge is not included)")
|
||
penalCharge = fields.Float(required=False, description="Amount of penalty to be collected from user's account. If there is no penalty, amount is '0'")
|
||
collectionMethod = fields.Int(required=True, description="1 - on deposit of salary; 2 - on due date; 3 - initiated by user",
|
||
validate=validate.OneOf([1, 2, 3]))
|
||
lienAmount = fields.Float(required=True, description="Aggregated (summed up) lien amount")
|
||
countryId = fields.Str(required=True, description="Set to static value '01'")
|
||
comment = fields.Str(required=False, description="Any additional comment for provided loan operation")
|
||
|
||
# CollectLoan Response Schema
|
||
class CollectLoanResponseSchema(Schema):
|
||
transactionId = fields.Str(required=True, description="Unique identifier of transaction in Simbrella system")
|
||
debtId = fields.Str(required=True, description="Unique identifier of a loan in Simbrella system that is going to be collected (it correlates with provision request)")
|
||
customerId = fields.Str(required=True, description="Unique identifier of a user")
|
||
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
|
||
productId = fields.Str(required=True, description="Identifier of a product for which collection to be made")
|
||
collectAmount = fields.Float(required=True, description="Amount collected from user's account (penalCharge is not included)")
|
||
penalCharge = fields.Float(required=True, description="Amount of penalty collected from user's account. If there is no penalty, amount is '0'")
|
||
lienAmount = fields.Float(required=True, description="Aggregated (summed up) lien amount")
|
||
countryId = fields.Str(required=False, description="Set to static value '01'")
|
||
comment = fields.Str(required=False, description="Any additional comment for provided loan operation")
|
||
resultCode = fields.Str(required=True, description="Result code of executed transaction, e.g. (00 – Success etc.) see result codes table")
|
||
resultDescription = fields.Str(required=True, description="Description of provided result code") |