2954 lines
90 KiB
JSON
2954 lines
90 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"
|
||
}
|
||
},
|
||
{
|
||
"name": "CollectLoanRequest",
|
||
"description": "Request to collect money from user accounts",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "TransactionCheckRequest",
|
||
"description": "Request to check transaction status",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "PenalChargeRequest",
|
||
"description": "Request to charge customer for penalty",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "RevokeEnableConsentRequest",
|
||
"description": "Request to revoke or enable consent",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "TokenValidation",
|
||
"description": "Validate token for user authentication",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "LienCheck",
|
||
"description": "Check lien amount on account",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "NewTransactionCheck",
|
||
"description": "Check status of transactions in asynchronous requests",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "SMSRequest",
|
||
"description": "Send SMS notification",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "BulkSMSRequest",
|
||
"description": "Send bulk SMS notifications",
|
||
"externalDocs": {
|
||
"description": "Find out more",
|
||
"url": "https://www.simbrellang.net"
|
||
}
|
||
},
|
||
{
|
||
"name": "RACCheck",
|
||
"description": "Check if a customer passes the Risk Acceptance Criteria",
|
||
"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": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/CollectLoan": {
|
||
"post": {
|
||
"tags": [
|
||
"CollectLoanRequest"
|
||
],
|
||
"summary": "Request to collect money from user accounts",
|
||
"description": "This request is to collect money from user accounts. When request is received, FIRSTBANK should check all user accounts and collect as much as possible money to cover existing loan either partially or fully.",
|
||
"operationId": "collectLoanRequest",
|
||
"requestBody": {
|
||
"description": "Post JSON to collect loan",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CollectLoanRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CollectLoanResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/TransactionCheck": {
|
||
"post": {
|
||
"tags": [
|
||
"TransactionCheckRequest"
|
||
],
|
||
"summary": "Request to check transaction status",
|
||
"description": "This request is to double check the response received from DisburseLoan and CollectLoan Synchronous APIs. This request is required to check transaction result on FIRSTBANK.",
|
||
"operationId": "transactionCheckRequest",
|
||
"requestBody": {
|
||
"description": "Post JSON to check transaction status",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/TransactionCheckRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/TransactionCheckResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/PenalCharge": {
|
||
"post": {
|
||
"tags": [
|
||
"PenalChargeRequest"
|
||
],
|
||
"summary": "Request to charge customer for penalty",
|
||
"description": "This request is used to charge customer for penalty as per existing debt. Results of requests sent to this endpoint will be received from NotificationCallback endpoint.",
|
||
"operationId": "penalChargeRequest",
|
||
"requestBody": {
|
||
"description": "Post JSON to charge penalty",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PenalChargeRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PenalChargeResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/RevokeEnableConsent": {
|
||
"post": {
|
||
"tags": [
|
||
"RevokeEnableConsentRequest"
|
||
],
|
||
"summary": "Request to revoke or enable consent",
|
||
"description": "This request is used to revoke or enable consent for a customer",
|
||
"operationId": "revokeEnableConsentRequest",
|
||
"requestBody": {
|
||
"description": "Post JSON to revoke or enable consent",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RevokeEnableConsentRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RevokeEnableConsentResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/ValidateToken": {
|
||
"post": {
|
||
"tags": [
|
||
"TokenValidation"
|
||
],
|
||
"summary": "Validate token for user authentication",
|
||
"description": "This method is used while users from FBN access Customer Care Portal. User will enter soft/hard token code. This will be captured and sent to this endpoint for validation.",
|
||
"operationId": "validateToken",
|
||
"requestBody": {
|
||
"description": "Post JSON to validate token",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ValidateTokenRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ValidateTokenResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/LienCheck": {
|
||
"post": {
|
||
"tags": [
|
||
"LienCheck"
|
||
],
|
||
"summary": "Check lien amount on account",
|
||
"description": "This method is used to get applied lien amount to the specific account",
|
||
"operationId": "lienCheck",
|
||
"requestBody": {
|
||
"description": "Post JSON to check lien amount",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LienCheckRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LienCheckResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/NewTransactionCheck": {
|
||
"post": {
|
||
"tags": [
|
||
"NewTransactionCheck"
|
||
],
|
||
"summary": "Check status of transactions in asynchronous requests",
|
||
"description": "This new Transaction Check will be utilized for checking status of transactions in new Asynchronous requests. Request will be sent by Simbrella to check the status of Transaction on FirstBank side if Simbrella doesn't receive callback notification 5 minutes after initial request.",
|
||
"operationId": "newTransactionCheck",
|
||
"requestBody": {
|
||
"description": "Post JSON to check transaction status",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/NewTransactionCheckRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/NewTransactionCheckResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/SMS": {
|
||
"post": {
|
||
"tags": [
|
||
"SMSRequest"
|
||
],
|
||
"summary": "Send SMS notification",
|
||
"description": "The request is used to send SMS message",
|
||
"operationId": "smsNotification",
|
||
"requestBody": {
|
||
"description": "Post JSON to send SMS",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SMSRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SMSResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/BulkSMS": {
|
||
"post": {
|
||
"tags": [
|
||
"BulkSMSRequest"
|
||
],
|
||
"summary": "Send bulk SMS notifications",
|
||
"description": "The request is used to send Bulk SMS request. The max length of the array should equal 20.",
|
||
"operationId": "bulkSmsNotification",
|
||
"requestBody": {
|
||
"description": "Post JSON to send bulk SMS",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/BulkSMSRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SMSResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Invalid request parameters"
|
||
},
|
||
"404": {
|
||
"description": "Resource not found"
|
||
},
|
||
"422": {
|
||
"description": "Validation exception"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"apiKey": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/RACCheck": {
|
||
"post": {
|
||
"tags": [
|
||
"RACCheck"
|
||
],
|
||
"summary": "Check if a customer passes the Risk Acceptance Criteria",
|
||
"description": "This request is used to check if a customer passes the Risk Acceptance Criteria defined by the bank",
|
||
"operationId": "racCheck",
|
||
"requestBody": {
|
||
"description": "Post JSON to check RAC criteria",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RACCheckRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful operation",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RACCheckResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"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",
|
||
"example": [
|
||
{
|
||
"minamount": 5000,
|
||
"maxamount": 20000,
|
||
"productId": 101,
|
||
"offerid": 101,
|
||
"Tenor": 30
|
||
},
|
||
{
|
||
"minamount": 20000,
|
||
"maxamount": 50000,
|
||
"productId": 102,
|
||
"offerid": 102,
|
||
"Tenor": 60
|
||
}
|
||
]
|
||
},
|
||
"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", "2022-12-30", "2023-01-29"],
|
||
"description": "Array of recommended payment dates for all installments in yyyy-mm-dd format"
|
||
},
|
||
"installmentAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 4021.15,
|
||
"description": "Amount to be paid each month (upfrontPayment not included)"
|
||
},
|
||
"totalRepaymentAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 12063.45,
|
||
"description": "Total amount to be paid by customer. All installment amounts + upfront payment"
|
||
}
|
||
}
|
||
},
|
||
"description": "Array of offers",
|
||
"example": [
|
||
{
|
||
"offerId": "14451",
|
||
"productId": "2030",
|
||
"amount": 10000.0,
|
||
"upfrontPayment": 1000.0,
|
||
"interestRate": 3.0,
|
||
"ManagementRate": 1.0,
|
||
"ManagementFee": 1.0,
|
||
"InsuranceRate": 1.0,
|
||
"InsuranceFee": 100.0,
|
||
"VATRate": 7.5,
|
||
"VATamount": 100.0,
|
||
"recommendedRepaymentDates": ["2022-11-30"],
|
||
"installmentAmount": 11000.0,
|
||
"totalRepaymentAmount": 11000.0
|
||
},
|
||
{
|
||
"offerId": "16645",
|
||
"productId": "2060",
|
||
"amount": 10000.0,
|
||
"upfrontPayment": 0.0,
|
||
"interestRate": 3.0,
|
||
"ManagementRate": 1.0,
|
||
"ManagementFee": 1.0,
|
||
"InsuranceRate": 1.0,
|
||
"InsuranceFee": 100.0,
|
||
"VATRate": 7.5,
|
||
"VATamount": 100.0,
|
||
"recommendedRepaymentDates": ["2022-11-30", "2023-12-30"],
|
||
"installmentAmount": 5761.9,
|
||
"totalRepaymentAmount": 11523.8
|
||
},
|
||
{
|
||
"offerId": "122212",
|
||
"productId": "2090",
|
||
"amount": 10000.0,
|
||
"upfrontPayment": 0.0,
|
||
"interestRate": 3.0,
|
||
"ManagementRate": 1.0,
|
||
"ManagementFee": 1.0,
|
||
"InsuranceRate": 1.0,
|
||
"InsuranceFee": 100.0,
|
||
"VATRate": 7.5,
|
||
"VATamount": 100.0,
|
||
"recommendedRepaymentDates": ["2022-11-30", "2022-12-30", "2023-01-29"],
|
||
"installmentAmount": 4021.15,
|
||
"totalRepaymentAmount": 12063.45
|
||
}
|
||
]
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"CollectLoanRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"fbnTransactionId",
|
||
"debtId",
|
||
"customerId",
|
||
"accountId",
|
||
"productId",
|
||
"collectAmount",
|
||
"collectionMethod",
|
||
"lienAmount",
|
||
"countryId"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "T002",
|
||
"description": "Unique identifier of transaction in Simbrella system"
|
||
},
|
||
"fbnTransactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique id of the transaction received from FBN in Eligibility or Provision requests"
|
||
},
|
||
"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 for which collection to be made"
|
||
},
|
||
"collectAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 80000.00,
|
||
"description": "Amount to be collected from user's account (penalCharge is not included)"
|
||
},
|
||
"penalCharge": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0.0,
|
||
"description": "Amount of penalty to be collected from user's account. If there is no penalty, amount is '0'."
|
||
},
|
||
"collectionMethod": {
|
||
"type": "integer",
|
||
"example": 1,
|
||
"description": "1 - on deposit of salary; 2 - on due date; 3 - initiated by user"
|
||
},
|
||
"lienAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 80000.00,
|
||
"description": "Aggregated (summed up) lien amount"
|
||
},
|
||
"countryId": {
|
||
"type": "string",
|
||
"example": "01",
|
||
"description": "Set to static value '01'"
|
||
},
|
||
"comment": {
|
||
"type": "string",
|
||
"example": "Testing CollectionLoanRequest",
|
||
"description": "Any additional comment for provided loan operation"
|
||
}
|
||
}
|
||
},
|
||
"CollectLoanResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"debtId",
|
||
"customerId",
|
||
"accountId",
|
||
"productId",
|
||
"collectAmount",
|
||
"lienAmount",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "T002",
|
||
"description": "Unique identifier of transaction in Simbrella system"
|
||
},
|
||
"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 for which collection to be made"
|
||
},
|
||
"collectAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 60000.00,
|
||
"description": "Amount collected from user's account"
|
||
},
|
||
"penalCharge": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0.0,
|
||
"description": "Amount of penalty collected from user's account"
|
||
},
|
||
"lienAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 20000.00,
|
||
"description": "Remaining lien amount"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Loan Collection Successful",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"TransactionCheckRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"counter",
|
||
"TransactionId",
|
||
"requestID",
|
||
"customerId",
|
||
"accountId",
|
||
"countryId",
|
||
"transactionType"
|
||
],
|
||
"properties": {
|
||
"counter": {
|
||
"type": "string",
|
||
"example": "2",
|
||
"description": "Unique counter for number of attempts of the API call. Original attempt is 1."
|
||
},
|
||
"TransactionId": {
|
||
"type": "string",
|
||
"example": "T002",
|
||
"description": "Id of the transaction we are checking"
|
||
},
|
||
"requestID": {
|
||
"type": "string",
|
||
"example": "R02802",
|
||
"description": "Id of this transaction query"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "2017821799",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"countryId": {
|
||
"type": "string",
|
||
"example": "01",
|
||
"description": "Set to static value '01'"
|
||
},
|
||
"transactionType": {
|
||
"type": "string",
|
||
"example": "Disbursement",
|
||
"description": "Type of transaction: 'Disbursement', 'Collection', or 'Penalty'"
|
||
}
|
||
}
|
||
},
|
||
"TransactionCheckResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"$type",
|
||
"nativeId",
|
||
"customerId",
|
||
"accountId",
|
||
"providedAmount",
|
||
"collectedAmount",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"$type": {
|
||
"type": "string",
|
||
"example": "TransactionCheckResponse",
|
||
"description": "Value is fixed to 'TransactionCheckResponse'"
|
||
},
|
||
"nativeId": {
|
||
"type": "string",
|
||
"example": "FBN20191031104405CN621868",
|
||
"description": "Unique identifier of transaction in FIRSTBANK 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"
|
||
},
|
||
"providedAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0.0,
|
||
"description": "Amount provided to a user within loan provision operation"
|
||
},
|
||
"collectedAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 7.50,
|
||
"description": "Amount collected from user's account within collection operation"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Collect Status retrieved successfully.",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"PenalChargeRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"fbnTransactionId",
|
||
"debtId",
|
||
"customerId",
|
||
"accountId",
|
||
"penalCharge",
|
||
"lienAmount",
|
||
"countryId"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "T004",
|
||
"description": "Unique identifier of transaction in Simbrella system"
|
||
},
|
||
"fbnTransactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique id of the transaction received from FBN in Eligibility or Provision requests"
|
||
},
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "273194670",
|
||
"description": "Unique identifier of providing 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"
|
||
},
|
||
"penalCharge": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1.2,
|
||
"description": "Penalty amount that needs to be collected from user's account"
|
||
},
|
||
"lienAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 101.2,
|
||
"description": "Aggregated (summed up) lien amount"
|
||
},
|
||
"countryId": {
|
||
"type": "string",
|
||
"example": "01",
|
||
"description": "Set to static value '01'"
|
||
},
|
||
"comment": {
|
||
"type": "string",
|
||
"example": "Testing PenalChargeRequest",
|
||
"description": "Any additional comment for provided loan operation"
|
||
}
|
||
}
|
||
},
|
||
"PenalChargeResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Penal charge debited successfully",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"RevokeEnableConsentRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"fbnTransactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"processTime",
|
||
"consentType",
|
||
"countryId"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "T0014",
|
||
"description": "Unique identifier of transaction in Simbrella system"
|
||
},
|
||
"fbnTransactionId": {
|
||
"type": "string",
|
||
"example": "20171209232177",
|
||
"description": "Unique id of the transaction received from FBN in CustomerConsentRequest"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "2017821799",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"processTime": {
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"example": "2019-10-18 14:26:21.063",
|
||
"description": "Date and time when consent request was processed"
|
||
},
|
||
"consentType": {
|
||
"type": "string",
|
||
"example": "Revoke",
|
||
"description": "'Enable' or 'Revoke'"
|
||
},
|
||
"countryId": {
|
||
"type": "string",
|
||
"example": "01",
|
||
"description": "Set to static value '01'"
|
||
},
|
||
"comment": {
|
||
"type": "string",
|
||
"example": "Testing RevokeEnableConsentRequest",
|
||
"description": "Any additional comment for consent operation"
|
||
}
|
||
}
|
||
},
|
||
"RevokeEnableConsentResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"$type",
|
||
"customerId",
|
||
"accountId",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"$type": {
|
||
"type": "string",
|
||
"example": "RevokeEnableConsentResponse",
|
||
"description": "Value is fixed to 'RevokeEnableConsentResponse'"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "2017821799",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Success",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"ValidateTokenRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"RequestId",
|
||
"UserId",
|
||
"CountryId",
|
||
"TokenCode"
|
||
],
|
||
"properties": {
|
||
"RequestId": {
|
||
"type": "string",
|
||
"example": "SMB1234567",
|
||
"description": "Unique Identifier in Simbrella system"
|
||
},
|
||
"UserId": {
|
||
"type": "string",
|
||
"example": "TMP0840",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"CountryId": {
|
||
"type": "string",
|
||
"example": "01",
|
||
"description": "Set to static value '01'"
|
||
},
|
||
"TokenCode": {
|
||
"type": "string",
|
||
"example": "32365214",
|
||
"description": "Token code to be validated"
|
||
}
|
||
}
|
||
},
|
||
"ValidateTokenResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"Authenticated",
|
||
"AuthenticatedMessage",
|
||
"ResponseCode",
|
||
"ResponseMessage",
|
||
"RequestId"
|
||
],
|
||
"properties": {
|
||
"Authenticated": {
|
||
"type": "boolean",
|
||
"example": true,
|
||
"description": "Boolean value describing result of validation"
|
||
},
|
||
"AuthenticatedMessage": {
|
||
"type": "string",
|
||
"example": "The user Oluwole Olusoga has successfully authenticated!",
|
||
"description": "Message describing authentication"
|
||
},
|
||
"ResponseCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of response"
|
||
},
|
||
"ResponseMessage": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Response description"
|
||
},
|
||
"RequestId": {
|
||
"type": "string",
|
||
"example": "SMB1234567",
|
||
"description": "Unique id that was sent in request"
|
||
}
|
||
}
|
||
},
|
||
"LienCheckRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"countryId"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "SMB1234567",
|
||
"description": "Unique Identifier in Simbrella system"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "123456",
|
||
"description": "Unique identifier of customer"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "E9F77222920BAAB1C5ACF2253C6D6113",
|
||
"description": "Unique identifier of account"
|
||
},
|
||
"countryId": {
|
||
"type": "string",
|
||
"example": "01",
|
||
"description": "Set to static value '01'"
|
||
}
|
||
}
|
||
},
|
||
"LienCheckResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"lienAmount",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"lienAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 20000.0,
|
||
"description": "Lien amount applied to the account"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of response"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Successful",
|
||
"description": "Response description"
|
||
}
|
||
}
|
||
},
|
||
"NewTransactionCheckRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"debtId",
|
||
"transactionType",
|
||
"fbnTransactionId",
|
||
"origTransactionId",
|
||
"customerId"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "173021",
|
||
"description": "Unique identifier of request in Simbrella system"
|
||
},
|
||
"debtId": {
|
||
"type": "string",
|
||
"example": "173021",
|
||
"description": "Unique identifier of provided loan in Simbrella system"
|
||
},
|
||
"transactionType": {
|
||
"type": "string",
|
||
"example": "Disbursement",
|
||
"description": "Type of Transaction: 'Disbursement', 'Collection', or 'PenalCharge'"
|
||
},
|
||
"fbnTransactionId": {
|
||
"type": "string",
|
||
"example": "FBN2411011411413A74960",
|
||
"description": "Unique id of the transaction received from FBN in Eligibility or Provision requests"
|
||
},
|
||
"origTransactionId": {
|
||
"type": "string",
|
||
"example": "2411011411413A74960",
|
||
"description": "TransactionId sent by Simbrella within initial request to Firstbank API"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
}
|
||
}
|
||
},
|
||
"NewTransactionCheckResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"data",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "24110114545374721",
|
||
"description": "Unique identifier of request in Simbrella system"
|
||
},
|
||
"data": {
|
||
"type": "object",
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "241101",
|
||
"description": "Unique identifier of transaction in Simbrella system that was sent for transaction check"
|
||
},
|
||
"providedAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 1000.00,
|
||
"description": "Amount collected from user's account within disbursement operation"
|
||
},
|
||
"collectedAmount": {
|
||
"type": "number",
|
||
"format": "double",
|
||
"example": 0.00,
|
||
"description": "Amount collected from user's account"
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of the operation one sent for transaction check"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "Loan Provision is successful",
|
||
"description": "Description of provided result code that was sent for transaction check"
|
||
}
|
||
}
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "SUCCESS",
|
||
"description": "Description of provided result code"
|
||
}
|
||
}
|
||
},
|
||
"SMSRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"text",
|
||
"dest",
|
||
"unicode"
|
||
],
|
||
"properties": {
|
||
"text": {
|
||
"type": "string",
|
||
"example": "This is a test message for SMS request method.",
|
||
"description": "Message to send to customer"
|
||
},
|
||
"dest": {
|
||
"type": "string",
|
||
"example": "+2348039409144",
|
||
"description": "Phone Number in international format"
|
||
},
|
||
"unicode": {
|
||
"type": "boolean",
|
||
"example": false,
|
||
"description": "Character encoding standard (set as False)"
|
||
}
|
||
}
|
||
},
|
||
"SMSResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"data",
|
||
"statusCode",
|
||
"IsSuccessful",
|
||
"errorMessage"
|
||
],
|
||
"properties": {
|
||
"data": {
|
||
"type": "string",
|
||
"example": "",
|
||
"description": "Any additional data in response"
|
||
},
|
||
"statusCode": {
|
||
"type": "integer",
|
||
"example": 200,
|
||
"description": "Result code of executed process"
|
||
},
|
||
"IsSuccessful": {
|
||
"type": "boolean",
|
||
"example": true,
|
||
"description": "An Indicator that the process was successful or not"
|
||
},
|
||
"errorMessage": {
|
||
"type": "string",
|
||
"example": null,
|
||
"description": "Description of status code if process is failed, null if successful"
|
||
}
|
||
}
|
||
},
|
||
"BulkSMSRequest": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"text": {
|
||
"type": "string",
|
||
"example": "This is a test message for SMS request method.",
|
||
"description": "Message to send to customer"
|
||
},
|
||
"dest": {
|
||
"type": "string",
|
||
"example": "+2348039409144",
|
||
"description": "Phone Number in international format"
|
||
},
|
||
"unicode": {
|
||
"type": "boolean",
|
||
"example": true,
|
||
"description": "Character encoding standard (set as True)"
|
||
}
|
||
}
|
||
},
|
||
"description": "Array of SMS messages to send (max 20)"
|
||
},
|
||
"RACCheckRequest": {
|
||
"type": "object",
|
||
"required": [
|
||
"transactionId",
|
||
"fbnTransactionId",
|
||
"customerId",
|
||
"accountId",
|
||
"RAC_Array"
|
||
],
|
||
"properties": {
|
||
"transactionId": {
|
||
"type": "string",
|
||
"example": "T001",
|
||
"description": "Unique identifier of transaction in Simbrella system"
|
||
},
|
||
"fbnTransactionId": {
|
||
"type": "string",
|
||
"example": "Tr201712RK9232P115",
|
||
"description": "Unique id of the transaction received from FBN in Eligibility or Provision requests"
|
||
},
|
||
"customerId": {
|
||
"type": "string",
|
||
"example": "CN621868",
|
||
"description": "Unique identifier of a user"
|
||
},
|
||
"accountId": {
|
||
"type": "string",
|
||
"example": "2017821799",
|
||
"description": "Specific identifier of a user's account"
|
||
},
|
||
"RAC_Array": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"description": "Array of RAC items to check (BVN, CRC, CRMS, Salary account, lien, whitelist, lien, account status, no bounced check and existing loan)"
|
||
}
|
||
}
|
||
},
|
||
"RACCheckResponse": {
|
||
"type": "object",
|
||
"required": [
|
||
"RACResponse",
|
||
"resultCode",
|
||
"resultDescription"
|
||
],
|
||
"properties": {
|
||
"RACResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"SalaryAccount": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "Has Salary account or Not"
|
||
},
|
||
"BVN": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "BVN Ok"
|
||
},
|
||
"BVNAttachedtoAccount": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "BVN attached to account"
|
||
},
|
||
"CRMS": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "No Delinquent loan"
|
||
},
|
||
"CRC": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "No Delinquent loan"
|
||
},
|
||
"AccountStatus": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "Has 'Regular' account status"
|
||
},
|
||
"Lien": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "No Lien on account"
|
||
},
|
||
"NoBounchedCheck": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "No Bounced (Ever?)"
|
||
},
|
||
"Whitelist": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "False if blacklisted"
|
||
},
|
||
"NoPastDueSalaryLoan": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "No Past Due Salary Loan"
|
||
},
|
||
"NoPastDueOtherLoan": {
|
||
"type": "string",
|
||
"example": "1",
|
||
"description": "No Past Due Other Loans"
|
||
}
|
||
}
|
||
},
|
||
"resultCode": {
|
||
"type": "string",
|
||
"example": "00",
|
||
"description": "Result code of executed transaction"
|
||
},
|
||
"resultDescription": {
|
||
"type": "string",
|
||
"example": "RAC Check Successful",
|
||
"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."
|
||
},
|
||
"apiKeySecret": {
|
||
"type": "apiKey",
|
||
"in": "header",
|
||
"name": "apiKey",
|
||
"description": "API Key Secret authentication method is implemented. Must be used together with appID."
|
||
}
|
||
}
|
||
}
|
||
} |