1479 lines
45 KiB
JSON
1479 lines
45 KiB
JSON
{
|
||
"openapi": "3.0.3",
|
||
"info": {
|
||
"title": "Swagger Simbrella FirstAdvance - OpenAPI 3.0",
|
||
"description": "This is a Simbrella FirstAdvance Backend Server with the OpenAPI 3.0 specification.\n\nSome useful links:\n- [Web Simulated Demo Page](https://digifi-salaryloan.chiefsoft.net/)\n- [Web Management Support Portal](https://digifi-office.chiefsoft.net/auth/login)",
|
||
"termsOfService": "http://swagger.io/terms/",
|
||
"contact": {
|
||
"email": "support@chiefsoft.com"
|
||
},
|
||
"license": {
|
||
"name": "Apache 2.0",
|
||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||
},
|
||
"version": "1.0.11"
|
||
},
|
||
"servers": [
|
||
{
|
||
"url": "https://devcore.digifi.chiefsoft.net/v1/api/salary"
|
||
}
|
||
],
|
||
"tags": [
|
||
{
|
||
"name": "EligibilityCheck",
|
||
"description": "Eligibility Check Request",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "SelectOffer",
|
||
"description": "This method is used to send the offer the customer selected to Simbrella.",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "ProvideLoan",
|
||
"description": "Provide Loan Request.",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "LoanInformation",
|
||
"description": "Loan Information Request.",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "Repayment",
|
||
"description": "Repayment Request.",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "CustomerConsent",
|
||
"description": "CustomerConsent Request.",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "NotificationCallback",
|
||
"description": "This new feature will be used for informing Simbrella about status of the transactions that FBN have processed.",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "LoanRequest",
|
||
"description": "Request from Simbrella to FirstBank to process a loan",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
}
|
||
],
|
||
"paths": {
|
||
"/EligibilityCheck": {
|
||
"post": {
|
||
"tags": [
|
||
"EligibilityCheck"
|
||
],
|
||
"summary": "Start the process - initiate steps to eligibility RAC Checks",
|
||
"description": "Initiate Eligibility Check Request",
|
||
"operationId": "startEligibilityCheck",
|
||
"requestBody": {
|
||
"description": "Post JSON to conduct eligibility tests",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/EligibilityCheckRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/EligibilityCheckResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"basicAuth": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/SelectOffer": {
|
||
"post": {
|
||
"tags": [
|
||
"SelectOffer"
|
||
],
|
||
"summary": "This method is used to send the offer the customer selected to Simbrella",
|
||
"description": "This method is used to send the offer the customer selected to Simbrella",
|
||
"operationId": "selectOffer",
|
||
"requestBody": {
|
||
"description": "Post JSON with selected offer details",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SelectOffersRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SelectOffersResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Offers not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"basicAuth": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/ProvideLoan": {
|
||
"post": {
|
||
"tags": [
|
||
"ProvideLoan"
|
||
],
|
||
"summary": "Provide Loan Request",
|
||
"description": "Provide Loan Request",
|
||
"operationId": "provideLoan",
|
||
"requestBody": {
|
||
"description": "Post JSON to provide loan",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ProvideLoanRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ProvideLoanResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"basicAuth": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/LoanInformation": {
|
||
"post": {
|
||
"tags": [
|
||
"LoanInformation"
|
||
],
|
||
"summary": "Loan Information Request",
|
||
"description": "Loan Information Request",
|
||
"operationId": "getLoanInformation",
|
||
"requestBody": {
|
||
"description": "Post JSON to get loan information",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LoanInformationRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LoanInformationResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Loan not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"basicAuth": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/Repayment": {
|
||
"post": {
|
||
"tags": [
|
||
"Repayment"
|
||
],
|
||
"summary": "Repayment Request",
|
||
"description": "Repayment Request",
|
||
"operationId": "repaymentRequest",
|
||
"requestBody": {
|
||
"description": "Post JSON to request repayment",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RepaymentRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RepaymentResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"basicAuth": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/CustomerConsent": {
|
||
"post": {
|
||
"tags": [
|
||
"CustomerConsent"
|
||
],
|
||
"summary": "Customer Consent Request",
|
||
"description": "Customer Consent Request",
|
||
"operationId": "customerConsentRequest",
|
||
"requestBody": {
|
||
"description": "Post JSON for customer consent",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CustomerConsentRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CustomerConsentResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"basicAuth": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/NotificationCallback": {
|
||
"post": {
|
||
"tags": [
|
||
"NotificationCallback"
|
||
],
|
||
"summary": "Notification Callback",
|
||
"description": "This new feature will be used for informing Simbrella about status of the transactions that FBN have processed",
|
||
"operationId": "notificationCallback",
|
||
"requestBody": {
|
||
"description": "Post JSON for notification callback",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/NotificationCallbackRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/NotificationCallbackResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"basicAuth": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/Disbursement": {
|
||
"post": {
|
||
"tags": [
|
||
"LoanRequest"
|
||
],
|
||
"summary": "Request from Simbrella to FirstBank to process a loan",
|
||
"description": "This request should be executed as an atomic operation. Providing a loan and collecting the upfront fees operation should be executed within the same transaction.",
|
||
"operationId": "disburseLoanRequest",
|
||
"requestBody": {
|
||
"description": "Post JSON to disburse loan",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/DisbursementRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/DisbursementResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"components": {
|
||
"schemas": {
|
||
"EligibilityCheckRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"$type",
|
||
"transactionId",
|
||
"countryCode",
|
||
"customerId",
|
||
"accountId",
|
||
"lienAmount",
|
||
"channel"
|
||
],
|
||
"properties": {
|
||
"$type": {
|
||
"type": "string",
|
||
"example": "EligibilityCheckRequest",
|
||
"description": "Value is fixed to 'EligibilityCheckRequest'"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique identifier of transaction in FIRSTBANK system"
|
||
},
|
||
"countryCode": {
|
||
"type": "string",
|
||
"example": "NGR",
|
||
"description": "Unique country code. Please refer to 'Country Codes' table"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "ACN8263457",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"msisdn": {
|
||
"type": "string",
|
||
"example": "3451342",
|
||
"description": "User's mobile number in an international format"
|
||
},
|
||
"lienAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 4.0,
|
||
"description": "Amount of lien placed on user's account"
|
||
},
|
||
"channel": {
|
||
"type": "string",
|
||
"example": "USSD",
|
||
"description": "Request channel: 'USSD' or 'MobApp' or 'Web'"
|
||
}
|
||
}
|
||
},
|
||
"EligibilityCheckResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"customerId",
|
||
"transactionId",
|
||
"eligibleOffers",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique identifier of transaction in FIRSTBANK system"
|
||
},
|
||
"msisdn": {
|
||
"type": "string",
|
||
"example": "3451342",
|
||
"description": "User's mobile number in an international format"
|
||
},
|
||
"eligibleOffers": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"minamount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 5000,
|
||
"description": "Minimum amount of loan"
|
||
},
|
||
"maxamount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 20000,
|
||
"description": "Maximum amount of loan"
|
||
},
|
||
"productId": {
|
||
"type": "integer",
|
||
"example": 101,
|
||
"description": "Product identifier"
|
||
},
|
||
"offerid": {
|
||
"type": "integer",
|
||
"example": 101,
|
||
"description": "Offer identifier"
|
||
},
|
||
"Tenor": {
|
||
"type": "integer",
|
||
"example": 30,
|
||
"description": "Loan tenor in days"
|
||
}
|
||
}
|
||
},
|
||
"description": "Array of eligible offers"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction, e.g. (00 – Success etc.)"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Textual description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"SelectOffersRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"requestId",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"msisdn",
|
||
"requestedAmount",
|
||
"productid",
|
||
"channel"
|
||
],
|
||
"properties": {
|
||
"requestId": {
|
||
"type": "string",
|
||
"example": "202111170001371256908",
|
||
"description": "Unique identifier of request"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "1231231321232",
|
||
"description": "Unique ID of customer's USSD session. Must be consistent throughout whole USSD journey"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "1256907",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "5948306019",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"msisdn": {
|
||
"type": "string",
|
||
"example": "123456789",
|
||
"description": "User's mobile number in an international format"
|
||
},
|
||
"requestedAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 10000.0,
|
||
"description": "Amount of loan requested by user"
|
||
},
|
||
"productid": {
|
||
"type": "string",
|
||
"example": "101",
|
||
"description": "Product ID"
|
||
},
|
||
"channel": {
|
||
"type": "string",
|
||
"example": "USSD",
|
||
"description": "Channel of incoming request: USSD"
|
||
}
|
||
}
|
||
},
|
||
"SelectOffersResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"requestId",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"offers",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"outstandingDebtAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0,
|
||
"description": "Outstanding debt amount"
|
||
},
|
||
"requestId": {
|
||
"type": "string",
|
||
"example": "202111170001371256908",
|
||
"description": "Unique identifier of request"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "1231231321232",
|
||
"description": "Unique ID of customer's USSD session"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "1256907",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "5948306019",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"offers": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"offerId": {
|
||
"type": "string",
|
||
"example": "14451",
|
||
"description": "Unique offer identifier"
|
||
},
|
||
"productId": {
|
||
"type": "string",
|
||
"example": "2030",
|
||
"description": "Product identifier"
|
||
},
|
||
"amount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 10000.0,
|
||
"description": "Amount of loan customer is eligible for"
|
||
},
|
||
"upfrontPayment": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1000.0,
|
||
"description": "Amount to be deducted upfront"
|
||
},
|
||
"interestRate": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 3.0,
|
||
"description": "% of interest rate"
|
||
},
|
||
"Interest": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 300.0,
|
||
"description": "Amount of Interest"
|
||
},
|
||
"ManagementRate": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1.0,
|
||
"description": "% of Management Fee"
|
||
},
|
||
"ManagementFee": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1.0,
|
||
"description": "Amount of Management Fee"
|
||
},
|
||
"InsuranceRate": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1.0,
|
||
"description": "% of Amount of Insurance"
|
||
},
|
||
"InsuranceFee": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 100.0,
|
||
"description": "Amount of Insurance"
|
||
},
|
||
"VATRate": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 7.5,
|
||
"description": "% of Amount of VAT"
|
||
},
|
||
"VATamount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 100.0,
|
||
"description": "Amount of VAT"
|
||
},
|
||
"recommendedRepaymentDates": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"example": ["2022-11-30"],
|
||
"description": "Array of recommended payment dates for all installments in yyyy-mm-dd format"
|
||
},
|
||
"installmentAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 11000.0,
|
||
"description": "Amount to be paid each month (upfrontPayment not included)"
|
||
},
|
||
"totalRepaymentAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 11000.0,
|
||
"description": "Total amount to be paid by customer. All installment amounts + upfront payment"
|
||
}
|
||
}
|
||
},
|
||
"description": "Array of offers"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"ProvideLoanRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"$type",
|
||
"requestId",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"productId",
|
||
"lienAmount",
|
||
"requestedAmount",
|
||
"collectionType",
|
||
"loanType",
|
||
"channel"
|
||
],
|
||
"properties": {
|
||
"$type": {
|
||
"type": "string",
|
||
"example": "ProvideLoanRequest",
|
||
"description": "Value is fixed to 'ProvideLoanRequest'"
|
||
},
|
||
"requestId": {
|
||
"type": "string",
|
||
"example": "202111170001371256908",
|
||
"description": "Unique identifier of request"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique ID of customer's USSD session"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "ACN8263457",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"msisdn": {
|
||
"type": "string",
|
||
"example": "3451342",
|
||
"description": "User's mobile number in an international format"
|
||
},
|
||
"productId": {
|
||
"type": "string",
|
||
"example": "101",
|
||
"description": "Identifier of a product chosen by user"
|
||
},
|
||
"lienAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 400,
|
||
"description": "Amount of lien"
|
||
},
|
||
"requestedAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 900,
|
||
"description": "Amount of loan that requested by user"
|
||
},
|
||
"collectionType": {
|
||
"type": "integer",
|
||
"example": 1,
|
||
"description": "Type of collection that user is preferred. 0 – as soon as salary inflow occurs; 1- as soon as any new inflow occurs, 1 – collection after XX days"
|
||
},
|
||
"loanType": {
|
||
"type": "integer",
|
||
"example": 0,
|
||
"description": "Type of loan. 0 – simple; 1 – refinance"
|
||
},
|
||
"channel": {
|
||
"type": "string",
|
||
"example": "USSD",
|
||
"description": "Request channel: 'USSD' or 'MobileApp' or 'Web'"
|
||
}
|
||
}
|
||
},
|
||
"ProvideLoanResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"requestId",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"requestId": {
|
||
"type": "string",
|
||
"example": "202111170001371256908",
|
||
"description": "Unique identifier of request"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique ID of customer's USSD session"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "ACN8263457",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"msisdn": {
|
||
"type": "string",
|
||
"example": "3451342",
|
||
"description": "User's mobile number in an international format"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"LoanInformationRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"$type",
|
||
"transactionId",
|
||
"customerId",
|
||
"channel"
|
||
],
|
||
"properties": {
|
||
"$type": {
|
||
"type": "string",
|
||
"example": "LoanInformationRequest",
|
||
"description": "Value is fixed to 'LoanInformationRequest'"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique identifier of transaction in FIRSTBANK system"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"msisdn": {
|
||
"type": "string",
|
||
"example": "3451342",
|
||
"description": "User's mobile number in an international format"
|
||
},
|
||
"channel": {
|
||
"type": "string",
|
||
"example": "USSD",
|
||
"description": "Request channel: 'USSD' or 'MobileApp' or 'Web'"
|
||
}
|
||
}
|
||
},
|
||
"LoanInformationResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"customerId",
|
||
"loans",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"loans": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "123456789",
|
||
"description": "Unique identifier of a debt of a user"
|
||
},
|
||
"loanDate": {
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"example": "2019-10-18 14:26:21.063",
|
||
"description": "Date and time of provided loan"
|
||
},
|
||
"dueDate": {
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"example": "2019-11-20 14:26:21.063",
|
||
"description": "Due date of provided loan"
|
||
},
|
||
"currentLoanAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 8500.0,
|
||
"description": "Outstanding debt amount of the user"
|
||
},
|
||
"initialLoanAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 10000.0,
|
||
"description": "Initial loan amount"
|
||
},
|
||
"defaultFee": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0.0,
|
||
"description": "Penalty fee amount"
|
||
},
|
||
"continiousFee": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0.0,
|
||
"description": "Interest fee charged continuously. First occurs when payment is delayed. Continuous fee is equal to Service Fee divided into 30 days. Service fee is equal to 5%, Continuous Interest is 5%/30 = 0,0016% daily."
|
||
},
|
||
"productId": {
|
||
"type": "string",
|
||
"example": "101",
|
||
"description": "Identifier of a provided product to a user"
|
||
}
|
||
}
|
||
},
|
||
"description": "Array of loan entities. If customer doesn't have a loan, 'loans' array will be empty and length of this array will be zero."
|
||
},
|
||
"totalDebtAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 8500.0,
|
||
"description": "Sum amount of all existing debts of a user"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"RepaymentRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"$type",
|
||
"transactionId",
|
||
"customerId",
|
||
"debtId",
|
||
"productId",
|
||
"channel"
|
||
],
|
||
"properties": {
|
||
"$type": {
|
||
"type": "string",
|
||
"example": "RepaymentRequest",
|
||
"description": "Value is fixed to 'RepaymentRequest'"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "20171209232115",
|
||
"description": "Unique identifier of transaction in FIRSTBANK system"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"msisdn": {
|
||
"type": "string",
|
||
"example": "3451342",
|
||
"description": "User's mobile number in an international format"
|
||
},
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "273194670",
|
||
"description": "Debt identifier provided in 'Current Loans' response"
|
||
},
|
||
"productId": {
|
||
"type": "string",
|
||
"example": "101",
|
||
"description": "Identifier of a product that user is repaying for"
|
||
},
|
||
"channel": {
|
||
"type": "string",
|
||
"example": "USSD",
|
||
"description": "Request channel: 'USSD' or 'APP'"
|
||
}
|
||
}
|
||
},
|
||
"RepaymentResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"customerId",
|
||
"productId",
|
||
"debtId",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"productId": {
|
||
"type": "string",
|
||
"example": "101",
|
||
"description": "Identifier of a product that user is payed for"
|
||
},
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "273194670",
|
||
"description": "Unique identifier of an existing debt of a user"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"CustomerConsentRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"$type",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"requestTime",
|
||
"consentType",
|
||
"channel"
|
||
],
|
||
"properties": {
|
||
"$type": {
|
||
"type": "string",
|
||
"example": "CustomerConsentRequest",
|
||
"description": "Value is fixed to 'CustomerConsentRequest'"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "20171209232177",
|
||
"description": "Unique identifier of transaction in FIRSTBANK system"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "ACN8263457",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"requestTime": {
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"example": "2019-10-18 14:26:21.063",
|
||
"description": "Date and time of consent request"
|
||
},
|
||
"consentType": {
|
||
"type": "string",
|
||
"example": "Revoke",
|
||
"description": "'Enable' or 'Revoke'"
|
||
},
|
||
"channel": {
|
||
"type": "string",
|
||
"example": "USSD",
|
||
"description": "Request channel: 'USSD' or 'APP'"
|
||
}
|
||
}
|
||
},
|
||
"CustomerConsentResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Request is received",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"NotificationCallbackRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"fbnTransactionId",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"debtId",
|
||
"transactionType",
|
||
"amountProvided",
|
||
"amountCollected",
|
||
"responseCode",
|
||
"responseDescription"
|
||
],
|
||
"properties": {
|
||
"fbnTransactionId": {
|
||
"type": "string",
|
||
"example": "123456789",
|
||
"description": "Unique id of the transaction received from FBN in Eligibility or Provision requests"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "123456789",
|
||
"description": "Unique identifier of transaction in FIRSTBANK system"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "ACN8263457",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "987654321",
|
||
"description": "Unique identifier of providing loan in Simbrella system"
|
||
},
|
||
"transactionType": {
|
||
"type": "string",
|
||
"example": "Disbursement",
|
||
"description": "Type of transaction initiated by Simbrella: 'Disbursement', 'Collection', or 'PenalCharge'"
|
||
},
|
||
"amountProvided": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1000.00,
|
||
"description": "Amount provided to customer within Disbursement operation. Will equal to 0 when transaction type is Collection or PenalCharge."
|
||
},
|
||
"amountCollected": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0.00,
|
||
"description": "Amount collected during execution of operation. Will equal to 0 when transaction type is Disbursement."
|
||
},
|
||
"responseCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of the notification"
|
||
},
|
||
"responseDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Result description of the notification, detailing status of the transaction"
|
||
}
|
||
}
|
||
},
|
||
"NotificationCallbackResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of successful request"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"DisbursementRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"requestId",
|
||
"debtId",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"productId",
|
||
"provideAmount",
|
||
"countryId"
|
||
],
|
||
"properties": {
|
||
"requestId": {
|
||
"type": "string",
|
||
"example": "202111170001371256908",
|
||
"description": "Unique identifier of request"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "T001",
|
||
"description": "Unique ID of customer's USSD session"
|
||
},
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "273194670",
|
||
"description": "Unique identifier of a loan in Simbrella system"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "2017821799",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"productId": {
|
||
"type": "string",
|
||
"example": "101",
|
||
"description": "Identifier of a product to be provided to a user"
|
||
},
|
||
"provideAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 100000.0,
|
||
"description": "Amount of loan to be provided on a specific account of a user"
|
||
},
|
||
"collectAmountInterest": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 5000.0,
|
||
"description": "Interest Amount to be collected immediately after loan is provided"
|
||
},
|
||
"collectAmountMgtFee": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1000.0,
|
||
"description": "Management Fee Amount to be collected immediately after loan is provided"
|
||
},
|
||
"collectAmountInsurance": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1000.0,
|
||
"description": "Insurance Amount to be collected immediately after loan is provided"
|
||
},
|
||
"collectAmountVAT": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 75.0,
|
||
"description": "VAT Amount to be collected immediately after loan is provided"
|
||
},
|
||
"countryId": {
|
||
"type": "string",
|
||
"example": "01",
|
||
"description": "Set to static value '01'"
|
||
},
|
||
"comment": {
|
||
"type": "string",
|
||
"example": "Testing LoanRequest",
|
||
"description": "Any additional comment for provided loan operation"
|
||
}
|
||
}
|
||
},
|
||
"DisbursementResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"requestId",
|
||
"debtId",
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"productId",
|
||
"provideAmount",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"requestId": {
|
||
"type": "string",
|
||
"example": "202111170001371256908",
|
||
"description": "Unique identifier of request"
|
||
},
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "T001",
|
||
"description": "Unique ID of customer's USSD session"
|
||
},
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "273194670",
|
||
"description": "Unique identifier of a loan in Simbrella system"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "2017821799",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"productId": {
|
||
"type": "string",
|
||
"example": "101",
|
||
"description": "Identifier of a product to be provided to a user"
|
||
},
|
||
"provideAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 100000.0,
|
||
"description": "Amount of loan to be provided on a specific account of a user"
|
||
},
|
||
"collectAmountInterest": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 5000.0,
|
||
"description": "Interest Amount to be collected immediately after loan is provided"
|
||
},
|
||
"collectAmountMgtFee": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1000.0,
|
||
"description": "Management Fee Amount to be collected immediately after loan is provided"
|
||
},
|
||
"collectAmountInsurance": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1000.0,
|
||
"description": "Insurance Amount to be collected immediately after loan is provided"
|
||
},
|
||
"collectAmountVAT": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 75.0,
|
||
"description": "VAT Amount to be collected immediately after loan is provided"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Loan Request Completed Successfully!",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"securitySchemes": {
|
||
"basicAuth": {
|
||
"type": "http",
|
||
"scheme": "basic",
|
||
"description": "Basic Authentication method is implemented. Each request should contain Authorization header with Base64 encoded username:password"
|
||
},
|
||
"apiKey": {
|
||
"type": "apiKey",
|
||
"in": "header",
|
||
"name": "appID",
|
||
"description": "API Key authentication method is implemented. Each request should contain appID and apiKey headers."
|
||
}
|
||
}
|
||
}
|
||
} |