diff --git a/FSB/README.md b/FSB/README.md new file mode 100644 index 0000000..fda3079 --- /dev/null +++ b/FSB/README.md @@ -0,0 +1 @@ +https://first-advance-middleware-develop.fbn-devops-dev-asenv.appserviceenvironment.net/swagger/v1/swagger.json diff --git a/FSB/swagger.json b/FSB/swagger.json new file mode 100644 index 0000000..bee0149 --- /dev/null +++ b/FSB/swagger.json @@ -0,0 +1,1916 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "API", + "version": "1.0" + }, + "paths": { + "/api/Auth/generate-token": { + "post": { + "tags": [ + "Auth" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AuthCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AuthCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/Loan/eligibilityCheck": { + "post": { + "tags": [ + "Loan" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EligibilityCheckCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EligibilityCheckCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/EligibilityCheckCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/EligibilityCheckResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/EligibilityCheckResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EligibilityCheckResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/Loan/SelectOffer": { + "post": { + "tags": [ + "Loan" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SelectOfferCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SelectOfferCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/SelectOfferCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/SelectOfferResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/SelectOfferResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SelectOfferResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/Loan/RequestLoan": { + "post": { + "tags": [ + "Loan" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProvideLoanCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProvideLoanCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ProvideLoanCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProvideLoanResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProvideLoanResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProvideLoanResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/Loan/LoanInformation": { + "post": { + "tags": [ + "Loan" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoanInfoCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LoanInfoCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/LoanInfoCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LoanInfoResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoanInfoResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LoanInfoResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/Loan/RepayLoan": { + "post": { + "tags": [ + "Loan" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RepayLoanCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RepayLoanCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RepayLoanCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RepayLoanResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RepayLoanResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RepayLoanResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/rac-check": { + "post": { + "tags": [ + "RACCheck" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RACCheckCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RACCheckCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RACCheckCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RACCheckResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RACCheckResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RACCheckResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/DisburseLoan": { + "post": { + "tags": [ + "Simbrella" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DisburseLoanCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DisburseLoanCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DisburseLoanCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/DisburseLoanResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/DisburseLoanResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DisburseLoanResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/CollectLoan": { + "post": { + "tags": [ + "Simbrella" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectLoanCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CollectLoanCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CollectLoanCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CollectLoanResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectLoanResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CollectLoanResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/CollectPenalFee": { + "post": { + "tags": [ + "Simbrella" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectPenalFeeCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CollectPenalFeeCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CollectPenalFeeCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CollectPenalFeeResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectPenalFeeResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CollectPenalFeeResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/TransactionVerify": { + "post": { + "tags": [ + "Simbrella" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/StatusCallback": { + "post": { + "tags": [ + "Simbrella" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StatusCallbackCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/StatusCallbackCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/StatusCallbackCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TransactionVerifyResponse" + } + } + } + } + } + } + }, + "/api/system-health-check": { + "get": { + "tags": [ + "Simbrella" + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/HealthCheckResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/HealthCheckResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HealthCheckResponse" + } + } + } + } + } + } + }, + "/SMS/singleSMS": { + "post": { + "tags": [ + "SMSNotification" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SmsSendCommand" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SmsSendCommand" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/SmsSendCommand" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/SmsSendResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/SmsSendResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SmsSendResponse" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "oauth2": [] + } + ] + } + }, + "/SMS/bulkSMS": { + "post": { + "tags": [ + "SMSNotification" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SmsSendCommand" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SmsSendCommand" + } + } + }, + "application/*+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SmsSendCommand" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/BulkSmsSendResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkSmsSendResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BulkSmsSendResponse" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "oauth2": [] + } + ] + } + } + }, + "components": { + "schemas": { + "AuthCommand": { + "required": [ + "password", + "username" + ], + "type": "object", + "properties": { + "username": { + "minLength": 1, + "type": "string" + }, + "password": { + "minLength": 1, + "type": "string" + }, + "grant_type": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "BulkSmsSendResponse": { + "type": "object", + "properties": { + "data": { + "type": "string", + "nullable": true + }, + "isSuccess": { + "type": "boolean", + "nullable": true + }, + "errorMessage": { + "type": "string", + "nullable": true + }, + "statusCode": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "CollectLoanCommand": { + "type": "object", + "properties": { + "channel": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "fbnTransactionId": { + "type": "string", + "nullable": true + }, + "debtId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "productId": { + "type": "string", + "nullable": true + }, + "collectAmount": { + "type": "number", + "format": "double" + }, + "penalCharge": { + "type": "number", + "format": "double" + }, + "collectionMethod": { + "type": "string", + "nullable": true + }, + "lienAmount": { + "type": "number", + "format": "double" + }, + "countryId": { + "type": "string", + "nullable": true + }, + "comment": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "CollectLoanResponse": { + "type": "object", + "properties": { + "responseCode": { + "type": "string", + "nullable": true + }, + "responseDescr": { + "type": "string", + "nullable": true + }, + "fullDescription": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "debtId": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "productId": { + "type": "string", + "nullable": true + }, + "amountCollected": { + "type": "number", + "format": "double" + }, + "countryId": { + "type": "string", + "nullable": true + }, + "comment": { + "type": "string", + "nullable": true + }, + "responseMessage": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "CollectPenalFeeCommand": { + "type": "object", + "properties": { + "channel": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "fbnTransactionId": { + "type": "string", + "nullable": true + }, + "debtId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "penalCharge": { + "type": "number", + "format": "double" + }, + "customerId": { + "type": "string", + "nullable": true + }, + "lienAmount": { + "type": "number", + "format": "double" + }, + "comment": { + "type": "string", + "nullable": true + }, + "countryId": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "CollectPenalFeeResponse": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "amountCollected": { + "type": "number", + "format": "double" + }, + "accountId": { + "type": "string", + "nullable": true + }, + "responseCode": { + "type": "string", + "nullable": true + }, + "responseMessage": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "DisburseLoanCommand": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "nullable": true + }, + "fbnTransactionId": { + "type": "string", + "nullable": true + }, + "debtId": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "productId": { + "type": "string", + "nullable": true + }, + "provideAmount": { + "type": "number", + "format": "double" + }, + "collectAmountInterest": { + "type": "number", + "format": "double" + }, + "collectAmountMgtFee": { + "type": "number", + "format": "double" + }, + "collectAmountInsurance": { + "type": "number", + "format": "double" + }, + "collectAmountVAT": { + "type": "number", + "format": "double" + }, + "countryId": { + "type": "string", + "nullable": true + }, + "comment": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "DisburseLoanResponse": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "nullable": true + }, + "fbnTransactionId": { + "type": "string", + "nullable": true + }, + "debtId": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "productId": { + "type": "string", + "nullable": true + }, + "provideAmount": { + "type": "number", + "format": "double" + }, + "collectAmountInterest": { + "type": "number", + "format": "double" + }, + "collectAmountMgtFee": { + "type": "number", + "format": "double" + }, + "collectAmountInsurance": { + "type": "number", + "format": "double" + }, + "collectAmountVAT": { + "type": "number", + "format": "double" + }, + "countryId": { + "type": "string", + "nullable": true + }, + "responseCode": { + "type": "string", + "nullable": true + }, + "responseMessage": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "EligibilityCheckCommand": { + "type": "object", + "properties": { + "requestId": { + "type": "string", + "nullable": true + }, + "phoneNumber": { + "type": "string", + "nullable": true + }, + "createdDate": { + "type": "string", + "nullable": true + }, + "uniqueIdentifier": { + "type": "string", + "nullable": true + }, + "merchantId": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "EligibilityCheckResponse": { + "type": "object", + "properties": { + "responseCode": { + "type": "string", + "nullable": true + }, + "responseDescr": { + "type": "string", + "nullable": true + }, + "fullDescription": { + "type": "string", + "nullable": true + }, + "eligibleProducts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EligibleProduct" + }, + "nullable": true + }, + "requestId": { + "type": "string", + "nullable": true + }, + "responseId": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "EligibleProduct": { + "type": "object", + "properties": { + "offerId": { + "type": "string", + "nullable": true + }, + "amount": { + "type": "string", + "nullable": true + }, + "salAccount": { + "type": "string", + "nullable": true + }, + "currency": { + "type": "string", + "nullable": true + }, + "moduleName": { + "type": "string", + "nullable": true + }, + "ussdDisplayName": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "HealthCheckResponse": { + "type": "object", + "properties": { + "status": { + "type": "string", + "nullable": true + }, + "responseCode": { + "type": "string", + "nullable": true + }, + "responseMessage": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LoanInfoCommand": { + "type": "object", + "properties": { + "channel": { + "type": "string", + "nullable": true + }, + "sessionId": { + "type": "string", + "nullable": true + }, + "msisdn": { + "type": "string", + "nullable": true + }, + "countryId": { + "type": "string", + "nullable": true + }, + "accountNumber": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LoanInfoResponse": { + "type": "object", + "properties": { + "responseCode": { + "type": "string", + "nullable": true + }, + "responseDescr": { + "type": "string", + "nullable": true + }, + "fullDescription": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LoanSchedule": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "loanRef": { + "type": "string", + "nullable": true + }, + "componentName": { + "type": "string", + "nullable": true + }, + "amountDue": { + "type": "number", + "format": "double", + "nullable": true + }, + "currency": { + "type": "string", + "nullable": true + }, + "amountSettled": { + "type": "number", + "format": "double", + "nullable": true + }, + "friendlyDescription": { + "type": "string", + "nullable": true + }, + "ussdFriendlyDescription": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ProblemDetails": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "status": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "detail": { + "type": "string", + "nullable": true + }, + "instance": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": { + + } + }, + "ProvideLoanCommand": { + "type": "object", + "properties": { + "channel": { + "type": "string", + "nullable": true + }, + "requestId": { + "type": "string", + "nullable": true + }, + "phoneNumber": { + "type": "string", + "nullable": true + }, + "uniqueIdentifier": { + "type": "string", + "nullable": true + }, + "moduleName": { + "type": "string", + "nullable": true + }, + "amount": { + "type": "string", + "nullable": true + }, + "mobileNetwork": { + "type": "string", + "nullable": true + }, + "merchantId": { + "type": "string", + "nullable": true + }, + "tenor": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "offerId": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ProvideLoanResponse": { + "type": "object", + "properties": { + "responseCode": { + "type": "string", + "nullable": true + }, + "responseDescr": { + "type": "string", + "nullable": true + }, + "fullDescription": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "requestId": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "msisdn": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RACCheckCommand": { + "type": "object", + "properties": { + "channel": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "fbnTransactionId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "countryCode": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RACCheckData": { + "type": "object", + "properties": { + "hasSalaryAccount": { + "type": "boolean" + }, + "bvnValidated": { + "type": "boolean" + }, + "crmsCheck": { + "type": "boolean" + }, + "creditBureauCheck": { + "type": "boolean" + }, + "hasPastDueLoan": { + "type": "boolean" + }, + "hasLien": { + "type": "boolean" + }, + "accountStatus": { + "type": "boolean" + }, + "noBouncedCheck": { + "type": "boolean" + }, + "isWhitelisted": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "RACCheckResponse": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "racResponse": { + "$ref": "#/components/schemas/RACCheckData" + } + }, + "additionalProperties": false + }, + "RepayLoanCommand": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "msisdn": { + "type": "string", + "nullable": true + }, + "debtId": { + "type": "string", + "nullable": true + }, + "productId": { + "type": "string", + "nullable": true + }, + "countryCode": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RepayLoanResponse": { + "type": "object", + "additionalProperties": false + }, + "SelectOfferCommand": { + "required": [ + "amount", + "merchantId", + "phoneNumber", + "tenorDays" + ], + "type": "object", + "properties": { + "requestId": { + "type": "string", + "nullable": true + }, + "phoneNumber": { + "minLength": 1, + "type": "string" + }, + "offerId": { + "type": "string", + "nullable": true + }, + "moduleName": { + "type": "string", + "nullable": true + }, + "createdDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "amount": { + "type": "number", + "format": "double" + }, + "uniqueIdentifier": { + "type": "string", + "nullable": true + }, + "merchantId": { + "minLength": 1, + "type": "string" + }, + "tenorDays": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "SelectOfferResponse": { + "type": "object", + "properties": { + "loanSchedule": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoanSchedule" + }, + "nullable": true + }, + "responseDescr": { + "type": "string", + "nullable": true + }, + "responseCode": { + "type": "string", + "nullable": true + }, + "fullDescription": { + "type": "string", + "nullable": true + }, + "responseId": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "SmsSendCommand": { + "required": [ + "dest", + "text" + ], + "type": "object", + "properties": { + "dest": { + "minLength": 1, + "pattern": "^234\\d{10}$", + "type": "string" + }, + "text": { + "minLength": 1, + "type": "string" + }, + "unicode": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "SmsSendResponse": { + "type": "object", + "properties": { + "data": { + "type": "string", + "nullable": true + }, + "isSuccess": { + "type": "boolean", + "nullable": true + }, + "errorMessage": { + "type": "string", + "nullable": true + }, + "statusCode": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "StatusCallbackCommand": { + "type": "object", + "additionalProperties": false + }, + "TransactionVerifyCommand": { + "type": "object", + "properties": { + "channel": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "transactionType": { + "type": "string", + "nullable": true + }, + "countryId": { + "type": "string", + "nullable": true + }, + "requestId": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "TransactionVerifyResponse": { + "type": "object", + "properties": { + "responseCode": { + "type": "string", + "nullable": true + }, + "responseDescr": { + "type": "string", + "nullable": true + }, + "fullDescription": { + "type": "string", + "nullable": true + }, + "customerId": { + "type": "string", + "nullable": true + }, + "accountId": { + "type": "string", + "nullable": true + }, + "providedAmount": { + "type": "number", + "format": "double" + }, + "collectedAmount": { + "type": "number", + "format": "double" + }, + "transactionId": { + "type": "string", + "nullable": true + }, + "transactionType": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + } + }, + "securitySchemes": { + "oauth2": { + "type": "apiKey", + "description": "Standard Authorization header using bearer scheme (\" Bearer {token}\")", + "name": "Authorization", + "in": "header" + } + } + } +} \ No newline at end of file