From 5e848b40d7b1c6bc924153f8f821edcf86c682ae Mon Sep 17 00:00:00 2001 From: VivianDee <115420678+VivianDee@users.noreply.github.com> Date: Wed, 19 Mar 2025 19:37:53 +0100 Subject: [PATCH] Code Cleanup --- digifi_swagger.json | 2164 +-------------------- paths/BulkSMS.json | 53 + paths/CollectLoan.json | 53 + paths/CustomerConsent.json | 53 + paths/Disbursement.json | 53 + paths/EligibilityCheck.json | 65 + paths/LienCheck.json | 53 + paths/LoanInformation.json | 65 + paths/NewTransactionCheck.json | 53 + paths/NotificationCallback.json | 65 + paths/PenalCharge.json | 53 + paths/ProvideLoan.json | 65 + paths/RACCheck.json | 53 + paths/Repayment.json | 53 + paths/RevokeEnableConsent.json | 53 + paths/SMS.json | 53 + paths/SelectOffer.json | 65 + paths/TokenValidation.json | 53 + paths/TransactionVerify.json | 53 + schemas/ApiResponse.json | 18 + schemas/BulkSMSRequest.json | 25 + schemas/BulkSMSResponse.json | 24 + schemas/CollectLoanRequest.json | 65 + schemas/CollectLoanResponse.json | 70 + schemas/CustomerConsentRequest.json | 43 + schemas/CustomerConsentResponse.json | 17 + schemas/DisbursementRequest.json | 77 + schemas/DisbursementResponse.json | 82 + schemas/EligibilityCheckRequest.json | 37 + schemas/EligibilityCheckResponse.json | 32 + schemas/LienCheckRequest.json | 21 + schemas/LienCheckResponse.json | 17 + schemas/LoanInformationRequest.json | 28 + schemas/LoanInformationResponse.json | 28 + schemas/NewTransactionCheckRequest.json | 29 + schemas/NewTransactionCheckResponse.json | 13 + schemas/NotificationCallbackRequest.json | 0 schemas/NotificationCallbackResponse.json | 0 schemas/PenalChargeRequest.json | 41 + schemas/PenalChargeResponse.json | 13 + schemas/ProvideLoanRequest.json | 0 schemas/ProvideLoanResponse.json | 0 schemas/RACCheckRequest.json | 28 + schemas/RACCheckResponse.json | 65 + schemas/RepaymentRequest.json | 42 + schemas/RepaymentResponse.json | 32 + schemas/RevokeEnableConsentRequest.json | 38 + schemas/RevokeEnableConsentResponse.json | 25 + schemas/SMSRequest.json | 22 + schemas/SMSResponse.json | 24 + schemas/SelectOfferRequest.json | 41 + schemas/SelectOfferResponse.json | 36 + schemas/TokenValidationRequest.json | 21 + schemas/TokenValidationResponse.json | 25 + schemas/TransactionVerifyRequest.json | 33 + schemas/TransactionVerifyResponse.json | 37 + schemas/schemas.json | 101 + security/securitySchemes.json | 19 + 58 files changed, 2303 insertions(+), 2144 deletions(-) create mode 100644 paths/BulkSMS.json create mode 100644 paths/CollectLoan.json create mode 100644 paths/CustomerConsent.json create mode 100644 paths/Disbursement.json create mode 100644 paths/EligibilityCheck.json create mode 100644 paths/LienCheck.json create mode 100644 paths/LoanInformation.json create mode 100644 paths/NewTransactionCheck.json create mode 100644 paths/NotificationCallback.json create mode 100644 paths/PenalCharge.json create mode 100644 paths/ProvideLoan.json create mode 100644 paths/RACCheck.json create mode 100644 paths/Repayment.json create mode 100644 paths/RevokeEnableConsent.json create mode 100644 paths/SMS.json create mode 100644 paths/SelectOffer.json create mode 100644 paths/TokenValidation.json create mode 100644 paths/TransactionVerify.json create mode 100644 schemas/ApiResponse.json create mode 100644 schemas/BulkSMSRequest.json create mode 100644 schemas/BulkSMSResponse.json create mode 100644 schemas/CollectLoanRequest.json create mode 100644 schemas/CollectLoanResponse.json create mode 100644 schemas/CustomerConsentRequest.json create mode 100644 schemas/CustomerConsentResponse.json create mode 100644 schemas/DisbursementRequest.json create mode 100644 schemas/DisbursementResponse.json create mode 100644 schemas/EligibilityCheckRequest.json create mode 100644 schemas/EligibilityCheckResponse.json create mode 100644 schemas/LienCheckRequest.json create mode 100644 schemas/LienCheckResponse.json create mode 100644 schemas/LoanInformationRequest.json create mode 100644 schemas/LoanInformationResponse.json create mode 100644 schemas/NewTransactionCheckRequest.json create mode 100644 schemas/NewTransactionCheckResponse.json create mode 100644 schemas/NotificationCallbackRequest.json create mode 100644 schemas/NotificationCallbackResponse.json create mode 100644 schemas/PenalChargeRequest.json create mode 100644 schemas/PenalChargeResponse.json create mode 100644 schemas/ProvideLoanRequest.json create mode 100644 schemas/ProvideLoanResponse.json create mode 100644 schemas/RACCheckRequest.json create mode 100644 schemas/RACCheckResponse.json create mode 100644 schemas/RepaymentRequest.json create mode 100644 schemas/RepaymentResponse.json create mode 100644 schemas/RevokeEnableConsentRequest.json create mode 100644 schemas/RevokeEnableConsentResponse.json create mode 100644 schemas/SMSRequest.json create mode 100644 schemas/SMSResponse.json create mode 100644 schemas/SelectOfferRequest.json create mode 100644 schemas/SelectOfferResponse.json create mode 100644 schemas/TokenValidationRequest.json create mode 100644 schemas/TokenValidationResponse.json create mode 100644 schemas/TransactionVerifyRequest.json create mode 100644 schemas/TransactionVerifyResponse.json create mode 100644 schemas/schemas.json create mode 100644 security/securitySchemes.json diff --git a/digifi_swagger.json b/digifi_swagger.json index a8e265e..021ad37 100644 --- a/digifi_swagger.json +++ b/digifi_swagger.json @@ -166,2190 +166,66 @@ ], "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" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckResponse" - } - } - } - }, - "400": { - "description": "Invalid ID supplied" - }, - "404": { - "description": "Pet not found" - }, - "422": { - "description": "Validation exception" - } - }, - "security": [ - { - "petstore_auth": [ - "write:pets", - "read:pets" - ] - } - ] - } + "$ref": "./paths/EligibilityCheck.json" }, "/SelectOffer": { - "post": { - "tags": [ - "SelectOffer" - ], - "summary": "This method is used the send the offer the customer selected to Simbrella ", - "description": "This method is used the send the offer the customer selected to Simbrella", - "operationId": "startEligibilityCheck", - "requestBody": { - "description": "Post JSON to conduct eligibility tests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SelectOffersRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/SelectOffersRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/SelectOffersRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SelectOffersResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/SelectOffersResponse" - } - } - } - }, - "400": { - "description": "Invalid ID supplied" - }, - "404": { - "description": "Offers not found" - }, - "422": { - "description": "Validation exception" - } - }, - "security": [ - { - "petstore_auth": [ - "write:pets", - "read:pets" - ] - } - ] - } + "$ref": "./paths/SelectOffer.json" }, "/ProvideLoan": { - "post": { - "tags": [ - "ProvideLoan" - ], - "summary": "Provide Loan Request ", - "description": "Provide Loan Request", - "operationId": "startEligibilityCheck", - "requestBody": { - "description": "Post JSON to conduct eligibility tests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/EligibilityCheckResponse" - } - } - } - }, - "400": { - "description": "Invalid ID supplied" - }, - "404": { - "description": "Pet not found" - }, - "422": { - "description": "Validation exception" - } - }, - "security": [ - { - "petstore_auth": [ - "write:pets", - "read:pets" - ] - } - ] - } + "$ref": "./paths/ProvideLoan.json" }, "/LoanInformation": { - "get": { - "tags": [ - "LoanInformation" - ], - "summary": "Loan Information Request ", - "description": "Loan Information Request", - "operationId": "startEligibilityCheck", - "requestBody": { - "description": "Post JSON to conduct eligibility tests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LoanInformationRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/LoanInformationRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/LoanInformationRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LoanInformationResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/LoanInformationResponse" - } - } - } - }, - "400": { - "description": "Invalid ID supplied" - }, - "404": { - "description": "Loan not found" - }, - "422": { - "description": "Validation exception" - } - }, - "security": [ - { - "petstore_auth": [ - "write:pets", - "read:pets" - ] - } - ] - } + "$ref": "./paths/LoanInformation.json" }, "/Repayment": { - "post": { - "tags": [ - "Repayment" - ], - "summary": "Repayment Request", - "description": "Repayment Request", - "operationId": "Repayment", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RepaymentRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/RepaymentRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/RepaymentRequest" - } - } - } - }, - "responses": { - "200": { - "description": "Repayment Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RepaymentResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/RepaymentResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/Repayment.json" }, "/CustomerConsent": { - "post": { - "tags": [ - "CustomerConsent" - ], - "summary": "Customer Consent Request", - "description": "Customer Consent Request", - "operationId": "CustomerConsent", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CustomerConsentRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/CustomerConsentRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/CustomerConsentRequest" - } - } - } - }, - "responses": { - "200": { - "description": "Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CustomerConsentResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/CustomerConsentResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/CustomerConsent.json" }, "/NotificationCallback": { - "post": { - "tags": [ - "NotificationCallback" - ], - "summary": "Loan Information Request ", - "description": "Loan Information Request", - "operationId": "startEligibilityCheck", - "requestBody": { - "description": "Post JSON to conduct eligibility tests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LoanInformationRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/LoanInformationRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/LoanInformationRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LoanInformationResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/LoanInformationResponse" - } - } - } - }, - "400": { - "description": "Invalid ID supplied" - }, - "404": { - "description": "Loan not found" - }, - "422": { - "description": "Validation exception" - } - }, - "security": [ - { - "petstore_auth": [ - "write:pets", - "read:pets" - ] - } - ] - } + "$ref": "./paths/NotificationCallback.json" }, "/RACCheck": { - "post": { - "tags": [ - "RACCheck" - ], - "summary": "Risk Acceptance Criteria Check", - "description": "Check if a customer passes the Risk Acceptance Criteria defined by the bank", - "operationId": "racCheck", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RACCheckRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/RACCheckRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/RACCheckRequest" - } - } - } - }, - "responses": { - "200": { - "description": "RAC Check Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RACCheckResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/RACCheckResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/RACCheck.json" }, "/Disbursement": { - "post": { - "tags": [ - "Disbursement" - ], - "summary": "Disbursement Request", - "description": "Disbursement Request", - "operationId": "Disbursement", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DisbursementRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/DisbursementRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/DisbursementRequest" - } - } - } - }, - "responses": { - "200": { - "description": "Disbursement Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DisbursementResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/DisbursementResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/Disbursement.json" }, "/CollectLoan": { - "post": { - "tags": [ - "CollectLoan" - ], - "summary": "Collect Loan Request", - "description": "Collect Loan Request", - "operationId": "CollectLoan", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CollectLoanRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/CollectLoanRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/CollectLoanRequest" - } - } - } - }, - "responses": { - "200": { - "description": "CollectLoan Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CollectLoanResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/CollectLoanResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/CollectLoan.json" }, "/TransactionVerify": { - "post": { - "tags": [ - "TransactionVerify" - ], - "summary": "Transaction Verify Request", - "description": "Transaction Verify Request", - "operationId": "TransactionVerify", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TransactionVerifyRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/TransactionVerifyRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/TransactionVerifyRequest" - } - } - } - }, - "responses": { - "200": { - "description": "TransactionVerify Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TransactionVerifyResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/TransactionVerifyResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/TransactionVerify.json" }, "/PenalCharge": { - "post": { - "tags": [ - "PenalCharge" - ], - "summary": "Penal Charge Request", - "description": "Penal Charge Request", - "operationId": "PenalCharge", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PenalChargeRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/PenalChargeRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/PenalChargeRequest" - } - } - } - }, - "responses": { - "200": { - "description": "PenalCharge Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PenalChargeResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/PenalChargeResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/PenalCharge.json" }, "/RevokeEnableConsent": { - "post": { - "tags": [ - "RevokeEnableConsent" - ], - "summary": "Revoke Enable Consent Request", - "description": "Revoke Enable Consent Request", - "operationId": "RevokeEnableConsent", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RevokeEnableConsentRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/RevokeEnableConsentRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/RevokeEnableConsentRequest" - } - } - } - }, - "responses": { - "200": { - "description": "RevokeEnableConsent Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RevokeEnableConsentResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/RevokeEnableConsentResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/RevokeEnableConsent.json" }, "/TokenValidation": { - "post": { - "tags": [ - "TokenValidation" - ], - "summary": "Token Validation Request", - "description": "Token Validation Request", - "operationId": "TokenValidation", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TokenValidationRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/TokenValidationRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/TokenValidationRequest" - } - } - } - }, - "responses": { - "200": { - "description": "TokenValidation Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TokenValidationResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/TokenValidationResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/TokenValidation.json" }, "/LienCheck": { - "post": { - "tags": [ - "LienCheck" - ], - "summary": "Lien Check Request", - "description": "Lien Check Request", - "operationId": "LienCheck", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LienCheckRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/LienCheckRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/LienCheckRequest" - } - } - } - }, - "responses": { - "200": { - "description": "LienCheck Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LienCheckResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/LienCheckResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/LienCheck.json" }, "/NewTransactionCheck": { - "post": { - "tags": [ - "NewTransactionCheck" - ], - "summary": "New Transaction Check Request", - "description": "New Transaction Check Request", - "operationId": "NewTransactionCheck", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewTransactionCheckRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/NewTransactionCheckRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/NewTransactionCheckRequest" - } - } - } - }, - "responses": { - "200": { - "description": "NewTransactionCheck Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewTransactionCheckResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/NewTransactionCheckResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/NewTransactionCheck.json" }, "/SMS": { - "post": { - "tags": [ - "SMS" - ], - "summary": "SMS Request", - "description": "SMS Request", - "operationId": "SMS", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SMSRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/SMSRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/SMSRequest" - } - } - } - }, - "responses": { - "200": { - "description": "SMS Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SMSResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/SMSResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/SMS.json" }, "/BulkSMS": { - "post": { - "tags": [ - "BulkSMS" - ], - "summary": "BulkSMS Request", - "description": "BulkSMS Request", - "operationId": "BulkSMS", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkSMSRequest" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/BulkSMSRequest" - } - }, - "application/x-www-form-urlencoded": { - "schema": { - "$ref": "#/components/schemas/BulkSMSRequest" - } - } - } - }, - "responses": { - "200": { - "description": "BulkSMS Successful", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkSMSResponse" - } - }, - "application/xml": { - "schema": { - "$ref": "#/components/schemas/BulkSMSResponse" - } - } - } - }, - "400": { - "description": "Invalid request" - }, - "500": { - "description": "Internal server error" - } - } - } + "$ref": "./paths/BulkSMS.json" } }, "components": { "schemas": { - "EligibilityCheckRequest": { - "type": "object", - "properties": { - "lienAmount": { - "type": "number", - "format": "double", - "example": 500.01 - }, - "transactionId": { - "type": "string", - "example": "Tr201712RK9232P115" - }, - "countryCode": { - "type": "string", - "example": "NGR" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "msisdn": { - "type": "string", - "example": "3451342" - }, - "channel": { - "type": "string", - "example": "USSD" - }, - "accountId": { - "type": "string", - "example": "ACN8263457" - } - }, - "xml": { - "name": "EligibilityCheckRequest" - } - }, - "EligibilityCheckResponse": { - "type": "object", - "properties": { - "eligibleOffers": { - "type": "string", - "example": "OFFERS ARRAY HERE" - }, - "resultDescription": { - "type": "string", - "example": "Successful" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "msisdn": { - "type": "string", - "example": "3451342" - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "accountId": { - "type": "string", - "example": "ACN8263457" - } - }, - "xml": { - "name": "EligibilityCheckResponse" - } - }, - "SelectOffersRequest": { - "type": "object", - "properties": { - "requestId": { - "type": "string", - "example": "202111170001371256908" - }, - "transactionId": { - "type": "string", - "example": "1231231321232" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "msisdn": { - "type": "string", - "example": "123456789" - }, - "requestedAmount": { - "type": "number", - "format": "double", - "example": 10000.55 - }, - "accountId": { - "type": "string", - "example": "ACN8263457" - }, - "productid": { - "type": "string", - "example": "101" - }, - "channel": { - "type": "string", - "example": "USSD" - } - }, - "xml": { - "name": "SelectOffersRequest" - } - }, - "SelectOffersResponse": { - "type": "object", - "properties": { - "requestId": { - "type": "string", - "example": "202111170001371256908" - }, - "transactionId": { - "type": "string", - "example": "1231231321232" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "ACN8263457" - }, - "offers": { - "type": "string", - "example": "ARRAY of Offers" - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Successful" - } - }, - "xml": { - "name": "SelectOffersResponse" - } - }, - "LoanInformationRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "Tr201712RK9232P115" - }, - "resultDescription": { - "type": "string", - "example": "Successful" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "msisdn": { - "type": "string", - "example": "3451342" - }, - "channel": { - "type": "string", - "example": "USSD" - } - }, - "xml": { - "name": "LoanInformationRequest" - } - }, - "LoanInformationResponse": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "Tr201712RK9232P115" - }, - "resultDescription": { - "type": "string", - "example": "Successful" - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "loan": { - "type": "string", - "example": "Arrray of loans" - } - }, - "xml": { - "name": "LoanInformationResponse" - } - }, - "RepaymentRequest": { - "type": "object", - "properties": { - "$type": { - "type": "string", - "example": "RepaymentRequest" - }, - "msisdn": { - "type": "string", - "example": "3451342" - }, - "debtId": { - "type": "string", - "example": "273194670" - }, - "productId": { - "type": "string", - "example": "101" - }, - "transactionId": { - "type": "string", - "example": "20171209232115" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "channel": { - "type": "string", - "example": "USSD" - } - }, - "required": [ - "$type", - "msisdn", - "debtId", - "productId", - "transactionId", - "customerId", - "channel" - ] - }, - "RepaymentResponse": { - "type": "object", - "properties": { - "customerId": { - "type": "string", - "example": "CN621868" - }, - "productId": { - "type": "string", - "example": "101" - }, - "debtId": { - "type": "string", - "example": "273194670" - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Successful" - } - }, - "required": [ - "customerId", - "productId", - "debtId", - "resultCode", - "resultDescription" - ] - }, - "RACCheckRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "T001" - }, - "fbnTransactionId": { - "type": "string", - "example": "Tr201712RK9232P115" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "RAC_Array": { - "type": "string", - "example": "XXX" - } - }, - "xml": { - "name": "RACCheckRequest" - } - }, - "RACCheckResponse": { - "type": "object", - "properties": { - "resultCode": { - "type": "string", - "example": "00" - }, - "RACResponse": { - "type": "object", - "properties": { - "Salary account": { - "type": "string", - "example": "1" - }, - "BVN": { - "type": "string", - "example": "1" - }, - "BVNAttachedtoAccount": { - "type": "string", - "example": "1" - }, - "CRMS": { - "type": "string", - "example": "1" - }, - "CRC": { - "type": "string", - "example": "1" - }, - "AccountStatus": { - "type": "string", - "example": "1" - }, - "Lien": { - "type": "string", - "example": "1" - }, - "NoBouncedCheck": { - "type": "string", - "example": "1" - }, - "Whitelist": { - "type": "string", - "example": "1" - }, - "NoPastDueSalaryLoan": { - "type": "string", - "example": "1" - }, - "NoPastDueOtherLoan": { - "type": "string", - "example": "1" - } - } - }, - "resultDescription": { - "type": "string", - "example": "RAC Check Successful" - } - }, - "xml": { - "name": "RACCheckResponse" - } - }, - "CustomerConsentRequest": { - "type": "object", - "properties": { - "$type": { - "type": "string", - "example": "CustomerConsentRequest" - }, - "transactionId": { - "type": "string", - "example": "20171209232177" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "ACN8263457" - }, - "requestTime": { - "type": "string", - "format": "date-time", - "example": "2019-10-18 14:26:21.063" - }, - "consentType": { - "type": "string", - "example": "Revoke" - }, - "channel": { - "type": "string", - "example": "USSD" - } - }, - "required": [ - "$type", - "transactionId", - "customerId", - "accountId", - "requestTime", - "consentType", - "channel" - ] - }, - "CustomerConsentResponse": { - "type": "object", - "properties": { - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Request is received" - } - }, - "required": [ - "resultCode", - "resultDescription" - ] - }, - "DisbursementRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "T001" - }, - "TransactionId": { - "type": "string", - "example": "Tr201712RK9232P115" - }, - "debtId": { - "type": "string", - "example": "273194670" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "productId": { - "type": "string", - "example": "101" - }, - "provideAmount": { - "type": "number", - "format": "double", - "example": 100000.0 - }, - "collectAmountInterest": { - "type": "number", - "format": "double", - "example": 5000.0 - }, - "collectAmountMgtFee": { - "type": "number", - "format": "double", - "example": 1000.0 - }, - "collectAmountInsurance": { - "type": "number", - "format": "double", - "example": 1000.0 - }, - "collectAmountVAT": { - "type": "number", - "format": "double", - "example": 75.0 - }, - "countryId": { - "type": "string", - "example": "01" - }, - "comment": { - "type": "string", - "example": "Testing LoanRequest" - } - }, - "required": [ - "transactionId", - "TransactionId", - "debtId", - "customerId", - "accountId", - "productId", - "provideAmount", - "collectAmountInterest", - "collectAmountMgtFee", - "collectAmountInsurance", - "collectAmountVAT", - "countryId", - "comment" - ] - }, - "DisbursementResponse": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "T001" - }, - "TransactionId": { - "type": "string", - "example": "Tr201712RK9232P115" - }, - "debtId": { - "type": "string", - "example": "273194670" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "productId": { - "type": "string", - "example": "101" - }, - "provideAmount": { - "type": "number", - "format": "double", - "example": 100000.0 - }, - "collectAmountInterest": { - "type": "number", - "format": "double", - "example": 5000.0 - }, - "collectAmountMgtFee": { - "type": "number", - "format": "double", - "example": 1000.0 - }, - "collectAmountInsurance": { - "type": "number", - "format": "double", - "example": 1000.0 - }, - "collectAmountVAT": { - "type": "number", - "format": "double", - "example": 75.0 - }, - "countryId": { - "type": "string", - "example": "01" - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Loan Request Completed Successfully!" - } - }, - "required": [ - "transactionId", - "TransactionId", - "debtId", - "customerId", - "accountId", - "productId", - "provideAmount", - "collectAmountInterest", - "collectAmountMgtFee", - "collectAmountInsurance", - "collectAmountVAT", - "countryId", - "resultCode", - "resultDescription" - ] - }, - "CollectLoanRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "T002" - }, - "debtId": { - "type": "string", - "example": "273194670" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "productId": { - "type": "string", - "example": "101" - }, - "collectAmount": { - "type": "number", - "format": "double", - "example": 80000.0 - }, - "penalCharge": { - "type": "number", - "format": "double", - "example": 0.0 - }, - "collectionMethod": { - "type": "integer", - "example": 1 - }, - "lienAmount": { - "type": "number", - "format": "double", - "example": 80000.0 - }, - "countryId": { - "type": "string", - "example": "01" - }, - "comment": { - "type": "string", - "example": "Testing CollectionLoanRequest" - } - }, - "required": [ - "transactionId", - "debtId", - "customerId", - "accountId", - "productId", - "collectAmount", - "penalCharge", - "collectionMethod", - "lienAmount", - "countryId", - "comment" - ] - }, - "CollectLoanResponse": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "T002" - }, - "debtId": { - "type": "string", - "example": "273194670" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "productId": { - "type": "string", - "example": "101" - }, - "collectAmount": { - "type": "number", - "format": "double", - "example": 60000.0 - }, - "penalCharge": { - "type": "number", - "format": "double", - "example": 0.0 - }, - "lienAmount": { - "type": "number", - "format": "double", - "example": 20000.0 - }, - "countryId": { - "type": "string", - "example": "01" - }, - "comment": { - "type": "string", - "example": "Testing CollectionLoanRequest" - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Loan Collection Successful" - } - }, - "required": [ - "transactionId", - "debtId", - "customerId", - "accountId", - "productId", - "collectAmount", - "penalCharge", - "lienAmount", - "countryId", - "comment", - "resultCode", - "resultDescription" - ] - }, - "TransactionVerifyRequest": { - "type": "object", - "properties": { - "counter": { - "type": "string", - "example": "2" - }, - "TransactionId": { - "type": "string", - "example": "T002" - }, - "RequestId": { - "type": "string", - "example": "R02802" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "countryId": { - "type": "string", - "example": "01" - }, - "transactionType": { - "type": "string", - "example": "Disbursement" - } - } - }, - "TransactionVerifyResponse": { - "type": "object", - "properties": { - "$type": { - "type": "string", - "example": "TransactionCheckResponse" - }, - "nativeId": { - "type": "string", - "example": "FBN20191031104405CN621868" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "providedAmount": { - "type": "number", - "example": 0.0 - }, - "collectedAmount": { - "type": "number", - "example": 7.50 - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Collect Status retrieved successfully." - } - } - }, - "PenalChargeRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "T004" - }, - "fbnTransactionId": { - "type": "string", - "example": "Tr201712RK9232P115" - }, - "debtId": { - "type": "string", - "example": "273194670" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "penalCharge": { - "type": "number", - "example": 1.2 - }, - "lienAmount": { - "type": "number", - "example": 101.2 - }, - "countryId": { - "type": "string", - "example": "01" - }, - "comment": { - "type": "string", - "example": "Testing PenalChargeRequest" - } - } - }, - "PenalChargeResponse": { - "type": "object", - "properties": { - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Penal charge debited successfully" - } - } - }, - "RevokeEnableConsentRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "T0014" - }, - "fbnTransactionId": { - "type": "string", - "example": "20171209232177" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "processTime": { - "type": "string", - "format": "date-time", - "example": "2019-10-18 14:26:21.063" - }, - "consentType": { - "type": "string", - "example": "Revoke" - }, - "countryId": { - "type": "string", - "example": "01" - }, - "comment": { - "type": "string", - "example": "Testing RevokeEnableConsentRequest" - } - } - }, - "RevokeEnableConsentResponse": { - "type": "object", - "properties": { - "$type": { - "type": "string", - "example": "RevokeEnableConsentResponse" - }, - "customerId": { - "type": "string", - "example": "CN621868" - }, - "accountId": { - "type": "string", - "example": "2017821799" - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Success" - } - } - }, - "TokenValidationRequest": { - "type": "object", - "properties": { - "UserId": { - "type": "string", - "example": "TMP0840" - }, - "TokenCode": { - "type": "string", - "example": "32365214" - }, - "RequestId": { - "type": "string", - "example": "SMB1234567" - }, - "CountryId": { - "type": "string", - "example": "01" - } - } - }, - "TokenValidationResponse": { - "type": "object", - "properties": { - "Authenticated": { - "type": "boolean", - "example": true - }, - "AuthenticatedMessage": { - "type": "string", - "example": "The user Oluwole Olusoga has successfully authenticated!" - }, - "ResponseCode": { - "type": "string", - "example": "00" - }, - "ResponseMessage": { - "type": "string", - "example": "Successful" - }, - "RequestId": { - "type": "string", - "example": "SMB1234567" - } - } - }, - "NewTransactionCheckRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "173021" - }, - "debtId": { - "type": "string", - "example": "173021" - }, - "transactionType": { - "type": "string", - "example": "Disbursement" - }, - "fbnTransactionId": { - "type": "string", - "example": "FBN2411011411413A74960" - }, - "origTransactionId": { - "type": "string", - "example": "2411011411413A74960" - }, - "customerId": { - "type": "string", - "example": "CN621868" - } - } - }, - "NewTransactionCheckResponse": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Success" - }, - "message": { - "type": "string", - "example": "Transaction check completed successfully." - } - } - }, - "LienCheckRequest": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "example": "SMB1234567" - }, - "customerId": { - "type": "string", - "example": "123456" - }, - "accountId": { - "type": "string", - "example": "E9F77222920BAAB1C5ACF2253C6D6113" - }, - "countryId": { - "type": "string", - "example": "01" - } - } - }, - "LienCheckResponse": { - "type": "object", - "properties": { - "lienAmount": { - "type": "number", - "example": 20000.0 - }, - "resultCode": { - "type": "string", - "example": "00" - }, - "resultDescription": { - "type": "string", - "example": "Successful" - } - } - }, - "SMSRequest": { - "type": "object", - "properties": { - "text": { - "type": "string", - "example": "This is a test message for SMS request method." - }, - "dest": { - "type": "string", - "example": "+2348039409144" - }, - "unicode": { - "type": "boolean", - "example": false - } - }, - "required": [ - "text", - "dest", - "unicode" - ] - }, - "SMSResponse": { - "type": "object", - "properties": { - "data": { - "type": "string", - "example": "" - }, - "statusCode": { - "type": "integer", - "example": 200 - }, - "IsSuccessful": { - "type": "boolean", - "example": true - }, - "errorMessage": { - "type": [ - "string", - "null" - ], - "example": null - } - } - }, - "BulkSMSRequest": { - "type": "array", - "items": { - "type": "object", - "properties": { - "text": { - "type": "string", - "example": "This is a test message for SMS request method." - }, - "dest": { - "type": "string", - "example": "+2348039409144" - }, - "unicode": { - "type": "boolean", - "example": true - } - }, - "required": [ - "text", - "dest", - "unicode" - ] - } - }, - "BulkSMSResponse": { - "type": "object", - "properties": { - "data": { - "type": "string", - "example": "" - }, - "statusCode": { - "type": "integer", - "example": 200 - }, - "IsSuccessful": { - "type": "boolean", - "example": true - }, - "errorMessage": { - "type": [ - "string", - "null" - ], - "example": null - } - } - }, - "ApiResponse": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "type": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "xml": { - "name": "##default" - } - } + "$ref": "./schemas/schemas.json" }, "securitySchemes": { - "petstore_auth": { - "type": "oauth2", - "flows": { - "implicit": { - "authorizationUrl": "https://petstore3.swagger.io/oauth/authorize", - "scopes": { - "write:pets": "modify pets in your account", - "read:pets": "read your pets" - } - } - } - }, - "api_key": { - "type": "apiKey", - "name": "api_key", - "in": "header" - } + "$ref": "./security/securitySchemes.json" } } } \ No newline at end of file diff --git a/paths/BulkSMS.json b/paths/BulkSMS.json new file mode 100644 index 0000000..8c43a02 --- /dev/null +++ b/paths/BulkSMS.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "BulkSMS" + ], + "summary": "BulkSMS Request", + "description": "BulkSMS Request", + "operationId": "BulkSMS", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/BulkSMSRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/BulkSMSRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/BulkSMSRequest" + } + } + } + }, + "responses": { + "200": { + "description": "BulkSMS Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/BulkSMSResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/BulkSMSResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/CollectLoan.json b/paths/CollectLoan.json new file mode 100644 index 0000000..9b493b7 --- /dev/null +++ b/paths/CollectLoan.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "CollectLoan" + ], + "summary": "Collect Loan Request", + "description": "Collect Loan Request", + "operationId": "CollectLoan", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/CollectLoanRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/CollectLoanRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/CollectLoanRequest" + } + } + } + }, + "responses": { + "200": { + "description": "CollectLoan Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/CollectLoanResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/CollectLoanResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/CustomerConsent.json b/paths/CustomerConsent.json new file mode 100644 index 0000000..9ac8e53 --- /dev/null +++ b/paths/CustomerConsent.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "CustomerConsent" + ], + "summary": "Customer Consent Request", + "description": "Customer Consent Request", + "operationId": "CustomerConsent", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/CustomerConsentRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/CustomerConsentRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/CustomerConsentRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/CustomerConsentResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/CustomerConsentResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/Disbursement.json b/paths/Disbursement.json new file mode 100644 index 0000000..8cdaf2f --- /dev/null +++ b/paths/Disbursement.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "Disbursement" + ], + "summary": "Disbursement Request", + "description": "Disbursement Request", + "operationId": "Disbursement", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/DisbursementRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/DisbursementRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/DisbursementRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Disbursement Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/DisbursementResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/DisbursementResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/EligibilityCheck.json b/paths/EligibilityCheck.json new file mode 100644 index 0000000..a6231d7 --- /dev/null +++ b/paths/EligibilityCheck.json @@ -0,0 +1,65 @@ +{ + "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": "../schemas/EligibilityCheckRequest.json" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/EligibilityCheckRequest.json" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/EligibilityCheckRequest.json" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/EligibilityCheckResponse.json" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/EligibilityCheckResponse.json" + } + } + } + }, + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Pet not found" + }, + "422": { + "description": "Validation exception" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } +} \ No newline at end of file diff --git a/paths/LienCheck.json b/paths/LienCheck.json new file mode 100644 index 0000000..0d61142 --- /dev/null +++ b/paths/LienCheck.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "LienCheck" + ], + "summary": "Lien Check Request", + "description": "Lien Check Request", + "operationId": "LienCheck", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/LienCheckRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/LienCheckRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/LienCheckRequest" + } + } + } + }, + "responses": { + "200": { + "description": "LienCheck Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/LienCheckResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/LienCheckResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/LoanInformation.json b/paths/LoanInformation.json new file mode 100644 index 0000000..337c1b2 --- /dev/null +++ b/paths/LoanInformation.json @@ -0,0 +1,65 @@ +{ + "get": { + "tags": [ + "LoanInformation" + ], + "summary": "Loan Information Request ", + "description": "Loan Information Request", + "operationId": "startEligibilityCheck", + "requestBody": { + "description": "Post JSON to conduct eligibility tests", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/LoanInformationRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/LoanInformationRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/LoanInformationRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/LoanInformationResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/LoanInformationResponse" + } + } + } + }, + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Loan not found" + }, + "422": { + "description": "Validation exception" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + } \ No newline at end of file diff --git a/paths/NewTransactionCheck.json b/paths/NewTransactionCheck.json new file mode 100644 index 0000000..cf2e1d3 --- /dev/null +++ b/paths/NewTransactionCheck.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "NewTransactionCheck" + ], + "summary": "New Transaction Check Request", + "description": "New Transaction Check Request", + "operationId": "NewTransactionCheck", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/NewTransactionCheckRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/NewTransactionCheckRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/NewTransactionCheckRequest" + } + } + } + }, + "responses": { + "200": { + "description": "NewTransactionCheck Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/NewTransactionCheckResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/NewTransactionCheckResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/NotificationCallback.json b/paths/NotificationCallback.json new file mode 100644 index 0000000..c6bd8b7 --- /dev/null +++ b/paths/NotificationCallback.json @@ -0,0 +1,65 @@ +{ + "post": { + "tags": [ + "NotificationCallback" + ], + "summary": "Loan Information Request ", + "description": "Loan Information Request", + "operationId": "startEligibilityCheck", + "requestBody": { + "description": "Post JSON to conduct eligibility tests", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/LoanInformationRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/LoanInformationRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/LoanInformationRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/LoanInformationResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/LoanInformationResponse" + } + } + } + }, + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Loan not found" + }, + "422": { + "description": "Validation exception" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + } \ No newline at end of file diff --git a/paths/PenalCharge.json b/paths/PenalCharge.json new file mode 100644 index 0000000..6817325 --- /dev/null +++ b/paths/PenalCharge.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "PenalCharge" + ], + "summary": "Penal Charge Request", + "description": "Penal Charge Request", + "operationId": "PenalCharge", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/PenalChargeRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/PenalChargeRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/PenalChargeRequest" + } + } + } + }, + "responses": { + "200": { + "description": "PenalCharge Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/PenalChargeResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/PenalChargeResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/ProvideLoan.json b/paths/ProvideLoan.json new file mode 100644 index 0000000..07f9412 --- /dev/null +++ b/paths/ProvideLoan.json @@ -0,0 +1,65 @@ +{ + "post": { + "tags": [ + "ProvideLoan" + ], + "summary": "Provide Loan Request ", + "description": "Provide Loan Request", + "operationId": "startEligibilityCheck", + "requestBody": { + "description": "Post JSON to conduct eligibility tests", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/EligibilityCheckRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/EligibilityCheckRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/EligibilityCheckRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/EligibilityCheckResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/EligibilityCheckResponse" + } + } + } + }, + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Pet not found" + }, + "422": { + "description": "Validation exception" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + } \ No newline at end of file diff --git a/paths/RACCheck.json b/paths/RACCheck.json new file mode 100644 index 0000000..d20fcf8 --- /dev/null +++ b/paths/RACCheck.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "RACCheck" + ], + "summary": "Risk Acceptance Criteria Check", + "description": "Check if a customer passes the Risk Acceptance Criteria defined by the bank", + "operationId": "racCheck", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/RACCheckRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/RACCheckRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/RACCheckRequest" + } + } + } + }, + "responses": { + "200": { + "description": "RAC Check Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/RACCheckResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/RACCheckResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/Repayment.json b/paths/Repayment.json new file mode 100644 index 0000000..0b3972c --- /dev/null +++ b/paths/Repayment.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "Repayment" + ], + "summary": "Repayment Request", + "description": "Repayment Request", + "operationId": "Repayment", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/RepaymentRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/RepaymentRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/RepaymentRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Repayment Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/RepaymentResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/RepaymentResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } +} \ No newline at end of file diff --git a/paths/RevokeEnableConsent.json b/paths/RevokeEnableConsent.json new file mode 100644 index 0000000..7f53c8e --- /dev/null +++ b/paths/RevokeEnableConsent.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "RevokeEnableConsent" + ], + "summary": "Revoke Enable Consent Request", + "description": "Revoke Enable Consent Request", + "operationId": "RevokeEnableConsent", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/RevokeEnableConsentRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/RevokeEnableConsentRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/RevokeEnableConsentRequest" + } + } + } + }, + "responses": { + "200": { + "description": "RevokeEnableConsent Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/RevokeEnableConsentResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/RevokeEnableConsentResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/SMS.json b/paths/SMS.json new file mode 100644 index 0000000..762a101 --- /dev/null +++ b/paths/SMS.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "SMS" + ], + "summary": "SMS Request", + "description": "SMS Request", + "operationId": "SMS", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/SMSRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/SMSRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/SMSRequest" + } + } + } + }, + "responses": { + "200": { + "description": "SMS Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/SMSResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/SMSResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/SelectOffer.json b/paths/SelectOffer.json new file mode 100644 index 0000000..6aa60f6 --- /dev/null +++ b/paths/SelectOffer.json @@ -0,0 +1,65 @@ +{ + "post": { + "tags": [ + "SelectOffer" + ], + "summary": "This method is used the send the offer the customer selected to Simbrella ", + "description": "This method is used the send the offer the customer selected to Simbrella", + "operationId": "startEligibilityCheck", + "requestBody": { + "description": "Post JSON to conduct eligibility tests", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/SelectOfferRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/SelectOfferRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/SelectOfferRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/SelectOfferResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/SelectOfferResponse" + } + } + } + }, + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Offers not found" + }, + "422": { + "description": "Validation exception" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } +} \ No newline at end of file diff --git a/paths/TokenValidation.json b/paths/TokenValidation.json new file mode 100644 index 0000000..3977243 --- /dev/null +++ b/paths/TokenValidation.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "TokenValidation" + ], + "summary": "Token Validation Request", + "description": "Token Validation Request", + "operationId": "TokenValidation", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/TokenValidationRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/TokenValidationRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/TokenValidationRequest" + } + } + } + }, + "responses": { + "200": { + "description": "TokenValidation Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/TokenValidationResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/TokenValidationResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/paths/TransactionVerify.json b/paths/TransactionVerify.json new file mode 100644 index 0000000..e6c1f05 --- /dev/null +++ b/paths/TransactionVerify.json @@ -0,0 +1,53 @@ +{ + "post": { + "tags": [ + "TransactionVerify" + ], + "summary": "Transaction Verify Request", + "description": "Transaction Verify Request", + "operationId": "TransactionVerify", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/TransactionVerifyRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/TransactionVerifyRequest" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "../schemas/TransactionVerifyRequest" + } + } + } + }, + "responses": { + "200": { + "description": "TransactionVerify Successful", + "content": { + "application/json": { + "schema": { + "$ref": "../schemas/TransactionVerifyResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "../schemas/TransactionVerifyResponse" + } + } + } + }, + "400": { + "description": "Invalid request" + }, + "500": { + "description": "Internal server error" + } + } + } + } \ No newline at end of file diff --git a/schemas/ApiResponse.json b/schemas/ApiResponse.json new file mode 100644 index 0000000..2cd2bdd --- /dev/null +++ b/schemas/ApiResponse.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "xml": { + "name": "##default" + } +} \ No newline at end of file diff --git a/schemas/BulkSMSRequest.json b/schemas/BulkSMSRequest.json new file mode 100644 index 0000000..1d368e2 --- /dev/null +++ b/schemas/BulkSMSRequest.json @@ -0,0 +1,25 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string", + "example": "This is a test message for SMS request method." + }, + "dest": { + "type": "string", + "example": "+2348039409144" + }, + "unicode": { + "type": "boolean", + "example": true + } + }, + "required": [ + "text", + "dest", + "unicode" + ] + } +} \ No newline at end of file diff --git a/schemas/BulkSMSResponse.json b/schemas/BulkSMSResponse.json new file mode 100644 index 0000000..76acf42 --- /dev/null +++ b/schemas/BulkSMSResponse.json @@ -0,0 +1,24 @@ +{ + "type": "object", + "properties": { + "data": { + "type": "string", + "example": "" + }, + "statusCode": { + "type": "integer", + "example": 200 + }, + "IsSuccessful": { + "type": "boolean", + "example": true + }, + "errorMessage": { + "type": [ + "string", + "null" + ], + "example": null + } + } +} \ No newline at end of file diff --git a/schemas/CollectLoanRequest.json b/schemas/CollectLoanRequest.json new file mode 100644 index 0000000..5409b8f --- /dev/null +++ b/schemas/CollectLoanRequest.json @@ -0,0 +1,65 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "T002" + }, + "debtId": { + "type": "string", + "example": "273194670" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "productId": { + "type": "string", + "example": "101" + }, + "collectAmount": { + "type": "number", + "format": "double", + "example": 80000.0 + }, + "penalCharge": { + "type": "number", + "format": "double", + "example": 0.0 + }, + "collectionMethod": { + "type": "integer", + "example": 1 + }, + "lienAmount": { + "type": "number", + "format": "double", + "example": 80000.0 + }, + "countryId": { + "type": "string", + "example": "01" + }, + "comment": { + "type": "string", + "example": "Testing CollectionLoanRequest" + } + }, + "required": [ + "transactionId", + "debtId", + "customerId", + "accountId", + "productId", + "collectAmount", + "penalCharge", + "collectionMethod", + "lienAmount", + "countryId", + "comment" + ] +} \ No newline at end of file diff --git a/schemas/CollectLoanResponse.json b/schemas/CollectLoanResponse.json new file mode 100644 index 0000000..523a49f --- /dev/null +++ b/schemas/CollectLoanResponse.json @@ -0,0 +1,70 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "T002" + }, + "debtId": { + "type": "string", + "example": "273194670" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "productId": { + "type": "string", + "example": "101" + }, + "collectAmount": { + "type": "number", + "format": "double", + "example": 60000.0 + }, + "penalCharge": { + "type": "number", + "format": "double", + "example": 0.0 + }, + "lienAmount": { + "type": "number", + "format": "double", + "example": 20000.0 + }, + "countryId": { + "type": "string", + "example": "01" + }, + "comment": { + "type": "string", + "example": "Testing CollectionLoanRequest" + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Loan Collection Successful" + } + }, + "required": [ + "transactionId", + "debtId", + "customerId", + "accountId", + "productId", + "collectAmount", + "penalCharge", + "lienAmount", + "countryId", + "comment", + "resultCode", + "resultDescription" + ] +} \ No newline at end of file diff --git a/schemas/CustomerConsentRequest.json b/schemas/CustomerConsentRequest.json new file mode 100644 index 0000000..c3566b1 --- /dev/null +++ b/schemas/CustomerConsentRequest.json @@ -0,0 +1,43 @@ +{ + "type": "object", + "properties": { + "$type": { + "type": "string", + "example": "CustomerConsentRequest" + }, + "transactionId": { + "type": "string", + "example": "20171209232177" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "ACN8263457" + }, + "requestTime": { + "type": "string", + "format": "date-time", + "example": "2019-10-18 14:26:21.063" + }, + "consentType": { + "type": "string", + "example": "Revoke" + }, + "channel": { + "type": "string", + "example": "USSD" + } + }, + "required": [ + "$type", + "transactionId", + "customerId", + "accountId", + "requestTime", + "consentType", + "channel" + ] +} \ No newline at end of file diff --git a/schemas/CustomerConsentResponse.json b/schemas/CustomerConsentResponse.json new file mode 100644 index 0000000..4f52996 --- /dev/null +++ b/schemas/CustomerConsentResponse.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "properties": { + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Request is received" + } + }, + "required": [ + "resultCode", + "resultDescription" + ] +} \ No newline at end of file diff --git a/schemas/DisbursementRequest.json b/schemas/DisbursementRequest.json new file mode 100644 index 0000000..88ce7a6 --- /dev/null +++ b/schemas/DisbursementRequest.json @@ -0,0 +1,77 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "T001" + }, + "TransactionId": { + "type": "string", + "example": "Tr201712RK9232P115" + }, + "debtId": { + "type": "string", + "example": "273194670" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "productId": { + "type": "string", + "example": "101" + }, + "provideAmount": { + "type": "number", + "format": "double", + "example": 100000.0 + }, + "collectAmountInterest": { + "type": "number", + "format": "double", + "example": 5000.0 + }, + "collectAmountMgtFee": { + "type": "number", + "format": "double", + "example": 1000.0 + }, + "collectAmountInsurance": { + "type": "number", + "format": "double", + "example": 1000.0 + }, + "collectAmountVAT": { + "type": "number", + "format": "double", + "example": 75.0 + }, + "countryId": { + "type": "string", + "example": "01" + }, + "comment": { + "type": "string", + "example": "Testing LoanRequest" + } + }, + "required": [ + "transactionId", + "TransactionId", + "debtId", + "customerId", + "accountId", + "productId", + "provideAmount", + "collectAmountInterest", + "collectAmountMgtFee", + "collectAmountInsurance", + "collectAmountVAT", + "countryId", + "comment" + ] +} \ No newline at end of file diff --git a/schemas/DisbursementResponse.json b/schemas/DisbursementResponse.json new file mode 100644 index 0000000..ac12c6e --- /dev/null +++ b/schemas/DisbursementResponse.json @@ -0,0 +1,82 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "T001" + }, + "TransactionId": { + "type": "string", + "example": "Tr201712RK9232P115" + }, + "debtId": { + "type": "string", + "example": "273194670" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "productId": { + "type": "string", + "example": "101" + }, + "provideAmount": { + "type": "number", + "format": "double", + "example": 100000.0 + }, + "collectAmountInterest": { + "type": "number", + "format": "double", + "example": 5000.0 + }, + "collectAmountMgtFee": { + "type": "number", + "format": "double", + "example": 1000.0 + }, + "collectAmountInsurance": { + "type": "number", + "format": "double", + "example": 1000.0 + }, + "collectAmountVAT": { + "type": "number", + "format": "double", + "example": 75.0 + }, + "countryId": { + "type": "string", + "example": "01" + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Loan Request Completed Successfully!" + } + }, + "required": [ + "transactionId", + "TransactionId", + "debtId", + "customerId", + "accountId", + "productId", + "provideAmount", + "collectAmountInterest", + "collectAmountMgtFee", + "collectAmountInsurance", + "collectAmountVAT", + "countryId", + "resultCode", + "resultDescription" + ] +} \ No newline at end of file diff --git a/schemas/EligibilityCheckRequest.json b/schemas/EligibilityCheckRequest.json new file mode 100644 index 0000000..4d70802 --- /dev/null +++ b/schemas/EligibilityCheckRequest.json @@ -0,0 +1,37 @@ +{ + "type": "object", + "properties": { + "lienAmount": { + "type": "number", + "format": "double", + "example": 500.01 + }, + "transactionId": { + "type": "string", + "example": "Tr201712RK9232P115" + }, + "countryCode": { + "type": "string", + "example": "NGR" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "msisdn": { + "type": "string", + "example": "3451342" + }, + "channel": { + "type": "string", + "example": "USSD" + }, + "accountId": { + "type": "string", + "example": "ACN8263457" + } + }, + "xml": { + "name": "EligibilityCheckRequest" + } +} \ No newline at end of file diff --git a/schemas/EligibilityCheckResponse.json b/schemas/EligibilityCheckResponse.json new file mode 100644 index 0000000..e20999c --- /dev/null +++ b/schemas/EligibilityCheckResponse.json @@ -0,0 +1,32 @@ +{ + "type": "object", + "properties": { + "eligibleOffers": { + "type": "string", + "example": "OFFERS ARRAY HERE" + }, + "resultDescription": { + "type": "string", + "example": "Successful" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "msisdn": { + "type": "string", + "example": "3451342" + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "accountId": { + "type": "string", + "example": "ACN8263457" + } + }, + "xml": { + "name": "EligibilityCheckResponse" + } +} \ No newline at end of file diff --git a/schemas/LienCheckRequest.json b/schemas/LienCheckRequest.json new file mode 100644 index 0000000..ebe13be --- /dev/null +++ b/schemas/LienCheckRequest.json @@ -0,0 +1,21 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "SMB1234567" + }, + "customerId": { + "type": "string", + "example": "123456" + }, + "accountId": { + "type": "string", + "example": "E9F77222920BAAB1C5ACF2253C6D6113" + }, + "countryId": { + "type": "string", + "example": "01" + } + } +} \ No newline at end of file diff --git a/schemas/LienCheckResponse.json b/schemas/LienCheckResponse.json new file mode 100644 index 0000000..3509d88 --- /dev/null +++ b/schemas/LienCheckResponse.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "properties": { + "lienAmount": { + "type": "number", + "example": 20000.0 + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Successful" + } + } +} \ No newline at end of file diff --git a/schemas/LoanInformationRequest.json b/schemas/LoanInformationRequest.json new file mode 100644 index 0000000..70d753c --- /dev/null +++ b/schemas/LoanInformationRequest.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "Tr201712RK9232P115" + }, + "resultDescription": { + "type": "string", + "example": "Successful" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "msisdn": { + "type": "string", + "example": "3451342" + }, + "channel": { + "type": "string", + "example": "USSD" + } + }, + "xml": { + "name": "LoanInformationRequest" + } +} \ No newline at end of file diff --git a/schemas/LoanInformationResponse.json b/schemas/LoanInformationResponse.json new file mode 100644 index 0000000..528abd9 --- /dev/null +++ b/schemas/LoanInformationResponse.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "Tr201712RK9232P115" + }, + "resultDescription": { + "type": "string", + "example": "Successful" + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "loan": { + "type": "string", + "example": "Arrray of loans" + } + }, + "xml": { + "name": "LoanInformationResponse" + } +} \ No newline at end of file diff --git a/schemas/NewTransactionCheckRequest.json b/schemas/NewTransactionCheckRequest.json new file mode 100644 index 0000000..b7d79c4 --- /dev/null +++ b/schemas/NewTransactionCheckRequest.json @@ -0,0 +1,29 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "173021" + }, + "debtId": { + "type": "string", + "example": "173021" + }, + "transactionType": { + "type": "string", + "example": "Disbursement" + }, + "fbnTransactionId": { + "type": "string", + "example": "FBN2411011411413A74960" + }, + "origTransactionId": { + "type": "string", + "example": "2411011411413A74960" + }, + "customerId": { + "type": "string", + "example": "CN621868" + } + } +} \ No newline at end of file diff --git a/schemas/NewTransactionCheckResponse.json b/schemas/NewTransactionCheckResponse.json new file mode 100644 index 0000000..086cbc0 --- /dev/null +++ b/schemas/NewTransactionCheckResponse.json @@ -0,0 +1,13 @@ +{ + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Success" + }, + "message": { + "type": "string", + "example": "Transaction check completed successfully." + } + } +} \ No newline at end of file diff --git a/schemas/NotificationCallbackRequest.json b/schemas/NotificationCallbackRequest.json new file mode 100644 index 0000000..e69de29 diff --git a/schemas/NotificationCallbackResponse.json b/schemas/NotificationCallbackResponse.json new file mode 100644 index 0000000..e69de29 diff --git a/schemas/PenalChargeRequest.json b/schemas/PenalChargeRequest.json new file mode 100644 index 0000000..64af9c8 --- /dev/null +++ b/schemas/PenalChargeRequest.json @@ -0,0 +1,41 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "T004" + }, + "fbnTransactionId": { + "type": "string", + "example": "Tr201712RK9232P115" + }, + "debtId": { + "type": "string", + "example": "273194670" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "penalCharge": { + "type": "number", + "example": 1.2 + }, + "lienAmount": { + "type": "number", + "example": 101.2 + }, + "countryId": { + "type": "string", + "example": "01" + }, + "comment": { + "type": "string", + "example": "Testing PenalChargeRequest" + } + } +} \ No newline at end of file diff --git a/schemas/PenalChargeResponse.json b/schemas/PenalChargeResponse.json new file mode 100644 index 0000000..0cc2482 --- /dev/null +++ b/schemas/PenalChargeResponse.json @@ -0,0 +1,13 @@ +{ + "type": "object", + "properties": { + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Penal charge debited successfully" + } + } +} \ No newline at end of file diff --git a/schemas/ProvideLoanRequest.json b/schemas/ProvideLoanRequest.json new file mode 100644 index 0000000..e69de29 diff --git a/schemas/ProvideLoanResponse.json b/schemas/ProvideLoanResponse.json new file mode 100644 index 0000000..e69de29 diff --git a/schemas/RACCheckRequest.json b/schemas/RACCheckRequest.json new file mode 100644 index 0000000..e8449ac --- /dev/null +++ b/schemas/RACCheckRequest.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "T001" + }, + "fbnTransactionId": { + "type": "string", + "example": "Tr201712RK9232P115" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "RAC_Array": { + "type": "string", + "example": "XXX" + } + }, + "xml": { + "name": "RACCheckRequest" + } +} \ No newline at end of file diff --git a/schemas/RACCheckResponse.json b/schemas/RACCheckResponse.json new file mode 100644 index 0000000..110b555 --- /dev/null +++ b/schemas/RACCheckResponse.json @@ -0,0 +1,65 @@ +{ + "type": "object", + "properties": { + "resultCode": { + "type": "string", + "example": "00" + }, + "RACResponse": { + "type": "object", + "properties": { + "Salary account": { + "type": "string", + "example": "1" + }, + "BVN": { + "type": "string", + "example": "1" + }, + "BVNAttachedtoAccount": { + "type": "string", + "example": "1" + }, + "CRMS": { + "type": "string", + "example": "1" + }, + "CRC": { + "type": "string", + "example": "1" + }, + "AccountStatus": { + "type": "string", + "example": "1" + }, + "Lien": { + "type": "string", + "example": "1" + }, + "NoBouncedCheck": { + "type": "string", + "example": "1" + }, + "Whitelist": { + "type": "string", + "example": "1" + }, + "NoPastDueSalaryLoan": { + "type": "string", + "example": "1" + }, + "NoPastDueOtherLoan": { + "type": "string", + "example": "1" + } + } + }, + "resultDescription": { + "type": "string", + "example": "RAC Check Successful" + } + }, + "xml": { + "name": "RACCheckResponse" + } +} \ No newline at end of file diff --git a/schemas/RepaymentRequest.json b/schemas/RepaymentRequest.json new file mode 100644 index 0000000..81759f8 --- /dev/null +++ b/schemas/RepaymentRequest.json @@ -0,0 +1,42 @@ +{ + "type": "object", + "properties": { + "$type": { + "type": "string", + "example": "RepaymentRequest" + }, + "msisdn": { + "type": "string", + "example": "3451342" + }, + "debtId": { + "type": "string", + "example": "273194670" + }, + "productId": { + "type": "string", + "example": "101" + }, + "transactionId": { + "type": "string", + "example": "20171209232115" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "channel": { + "type": "string", + "example": "USSD" + } + }, + "required": [ + "$type", + "msisdn", + "debtId", + "productId", + "transactionId", + "customerId", + "channel" + ] +} \ No newline at end of file diff --git a/schemas/RepaymentResponse.json b/schemas/RepaymentResponse.json new file mode 100644 index 0000000..aebc0b9 --- /dev/null +++ b/schemas/RepaymentResponse.json @@ -0,0 +1,32 @@ +{ + "type": "object", + "properties": { + "customerId": { + "type": "string", + "example": "CN621868" + }, + "productId": { + "type": "string", + "example": "101" + }, + "debtId": { + "type": "string", + "example": "273194670" + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Successful" + } + }, + "required": [ + "customerId", + "productId", + "debtId", + "resultCode", + "resultDescription" + ] +} \ No newline at end of file diff --git a/schemas/RevokeEnableConsentRequest.json b/schemas/RevokeEnableConsentRequest.json new file mode 100644 index 0000000..a148151 --- /dev/null +++ b/schemas/RevokeEnableConsentRequest.json @@ -0,0 +1,38 @@ +{ + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "example": "T0014" + }, + "fbnTransactionId": { + "type": "string", + "example": "20171209232177" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "processTime": { + "type": "string", + "format": "date-time", + "example": "2019-10-18 14:26:21.063" + }, + "consentType": { + "type": "string", + "example": "Revoke" + }, + "countryId": { + "type": "string", + "example": "01" + }, + "comment": { + "type": "string", + "example": "Testing RevokeEnableConsentRequest" + } + } +} \ No newline at end of file diff --git a/schemas/RevokeEnableConsentResponse.json b/schemas/RevokeEnableConsentResponse.json new file mode 100644 index 0000000..0d1bdba --- /dev/null +++ b/schemas/RevokeEnableConsentResponse.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "properties": { + "$type": { + "type": "string", + "example": "RevokeEnableConsentResponse" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Success" + } + } +} \ No newline at end of file diff --git a/schemas/SMSRequest.json b/schemas/SMSRequest.json new file mode 100644 index 0000000..d7ed3a8 --- /dev/null +++ b/schemas/SMSRequest.json @@ -0,0 +1,22 @@ +{ + "type": "object", + "properties": { + "text": { + "type": "string", + "example": "This is a test message for SMS request method." + }, + "dest": { + "type": "string", + "example": "+2348039409144" + }, + "unicode": { + "type": "boolean", + "example": false + } + }, + "required": [ + "text", + "dest", + "unicode" + ] +} \ No newline at end of file diff --git a/schemas/SMSResponse.json b/schemas/SMSResponse.json new file mode 100644 index 0000000..76acf42 --- /dev/null +++ b/schemas/SMSResponse.json @@ -0,0 +1,24 @@ +{ + "type": "object", + "properties": { + "data": { + "type": "string", + "example": "" + }, + "statusCode": { + "type": "integer", + "example": 200 + }, + "IsSuccessful": { + "type": "boolean", + "example": true + }, + "errorMessage": { + "type": [ + "string", + "null" + ], + "example": null + } + } +} \ No newline at end of file diff --git a/schemas/SelectOfferRequest.json b/schemas/SelectOfferRequest.json new file mode 100644 index 0000000..dd5530a --- /dev/null +++ b/schemas/SelectOfferRequest.json @@ -0,0 +1,41 @@ +{ + "type": "object", + "properties": { + "requestId": { + "type": "string", + "example": "202111170001371256908" + }, + "transactionId": { + "type": "string", + "example": "1231231321232" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "msisdn": { + "type": "string", + "example": "123456789" + }, + "requestedAmount": { + "type": "number", + "format": "double", + "example": 10000.55 + }, + "accountId": { + "type": "string", + "example": "ACN8263457" + }, + "productid": { + "type": "string", + "example": "101" + }, + "channel": { + "type": "string", + "example": "USSD" + } + }, + "xml": { + "name": "SelectOffersRequest" + } +} \ No newline at end of file diff --git a/schemas/SelectOfferResponse.json b/schemas/SelectOfferResponse.json new file mode 100644 index 0000000..61f464a --- /dev/null +++ b/schemas/SelectOfferResponse.json @@ -0,0 +1,36 @@ +{ + "type": "object", + "properties": { + "requestId": { + "type": "string", + "example": "202111170001371256908" + }, + "transactionId": { + "type": "string", + "example": "1231231321232" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "ACN8263457" + }, + "offers": { + "type": "string", + "example": "ARRAY of Offers" + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Successful" + } + }, + "xml": { + "name": "SelectOffersResponse" + } +} \ No newline at end of file diff --git a/schemas/TokenValidationRequest.json b/schemas/TokenValidationRequest.json new file mode 100644 index 0000000..65a3407 --- /dev/null +++ b/schemas/TokenValidationRequest.json @@ -0,0 +1,21 @@ +{ + "type": "object", + "properties": { + "UserId": { + "type": "string", + "example": "TMP0840" + }, + "TokenCode": { + "type": "string", + "example": "32365214" + }, + "RequestId": { + "type": "string", + "example": "SMB1234567" + }, + "CountryId": { + "type": "string", + "example": "01" + } + } +} \ No newline at end of file diff --git a/schemas/TokenValidationResponse.json b/schemas/TokenValidationResponse.json new file mode 100644 index 0000000..c3ff2c7 --- /dev/null +++ b/schemas/TokenValidationResponse.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "properties": { + "Authenticated": { + "type": "boolean", + "example": true + }, + "AuthenticatedMessage": { + "type": "string", + "example": "The user Oluwole Olusoga has successfully authenticated!" + }, + "ResponseCode": { + "type": "string", + "example": "00" + }, + "ResponseMessage": { + "type": "string", + "example": "Successful" + }, + "RequestId": { + "type": "string", + "example": "SMB1234567" + } + } +} \ No newline at end of file diff --git a/schemas/TransactionVerifyRequest.json b/schemas/TransactionVerifyRequest.json new file mode 100644 index 0000000..beff068 --- /dev/null +++ b/schemas/TransactionVerifyRequest.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "properties": { + "counter": { + "type": "string", + "example": "2" + }, + "TransactionId": { + "type": "string", + "example": "T002" + }, + "RequestId": { + "type": "string", + "example": "R02802" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "countryId": { + "type": "string", + "example": "01" + }, + "transactionType": { + "type": "string", + "example": "Disbursement" + } + } +} \ No newline at end of file diff --git a/schemas/TransactionVerifyResponse.json b/schemas/TransactionVerifyResponse.json new file mode 100644 index 0000000..8bff555 --- /dev/null +++ b/schemas/TransactionVerifyResponse.json @@ -0,0 +1,37 @@ +{ + "type": "object", + "properties": { + "$type": { + "type": "string", + "example": "TransactionCheckResponse" + }, + "nativeId": { + "type": "string", + "example": "FBN20191031104405CN621868" + }, + "customerId": { + "type": "string", + "example": "CN621868" + }, + "accountId": { + "type": "string", + "example": "2017821799" + }, + "providedAmount": { + "type": "number", + "example": 0.0 + }, + "collectedAmount": { + "type": "number", + "example": 7.50 + }, + "resultCode": { + "type": "string", + "example": "00" + }, + "resultDescription": { + "type": "string", + "example": "Collect Status retrieved successfully." + } + } +} \ No newline at end of file diff --git a/schemas/schemas.json b/schemas/schemas.json new file mode 100644 index 0000000..9a9f4bb --- /dev/null +++ b/schemas/schemas.json @@ -0,0 +1,101 @@ +{ + "EligibilityCheckRequest": { + "$ref": "./EligibilityCheckRequest.json" + }, + "EligibilityCheckResponse": { + "$ref": "./EligibilityCheckResponse.json" + }, + "SelectOfferRequest": { + "$ref": "./SelectOfferRequest.json" + }, + "SelectOfferResponse": { + "$ref": "./SelectOfferResponse.json" + }, + "LoanInformationRequest": { + "$ref": "./LoanInformationRequest.json" + }, + "LoanInformationResponse": { + "$ref": "./LoanInformationResponse.json" + }, + "RepaymentRequest": { + "$ref": "./RepaymentRequest.json" + }, + "RepaymentResponse": { + "$ref": "./RepaymentResponse.json" + }, + "RACCheckRequest": { + "$ref": "./RACCheckRequest.json" + }, + "RACCheckResponse": { + "$ref": "./RACCheckResponse.json" + }, + "CustomerConsentRequest": { + "$ref": "./CustomerConsentRequest.json" + }, + "CustomerConsentResponse": { + "$ref": "./CustomerConsentResponse.json" + }, + "DisbursementRequest": { + "$ref": "./DisbursementRequest.json" + }, + "DisbursementResponse": { + "$ref": "./DisbursementResponse.json" + }, + "CollectLoanRequest": { + "$ref": "./CollectLoanRequest.json" + }, + "CollectLoanResponse": { + "$ref": "./CollectLoanResponse.json" + }, + "TransactionVerifyRequest": { + "$ref": "./TransactionVerifyRequest.json" + }, + "TransactionVerifyResponse": { + "$ref": "./TransactionVerifyResponse.json" + }, + "PenalChargeRequest": { + "$ref": "./PenalChargeRequest.json" + }, + "PenalChargeResponse": { + "$ref": "./PenalChargeResponse.json" + }, + "RevokeEnableConsentRequest": { + "$ref": "./RevokeEnableConsentRequest.json" + }, + "RevokeEnableConsentResponse": { + "$ref": "./RevokeEnableConsentResponse.json" + }, + "TokenValidationRequest": { + "$ref": "./TokenValidationRequest.json" + }, + "TokenValidationResponse": { + "$ref": "./TokenValidationResponse.json" + }, + "NewTransactionCheckRequest": { + "$ref": "./NewTransactionCheckRequest.json" + }, + "NewTransactionCheckResponse": { + "$ref": "./NewTransactionCheckResponse.json" + }, + "LienCheckRequest": { + "$ref": "./LienCheckRequest.json" + }, + "LienCheckResponse": { + "$ref": "./LienCheckResponse.json" + }, + "SMSRequest": { + "$ref": "./SMSRequest.json" + }, + "SMSResponse": { + "$ref": "./SMSResponse.json" + }, + "BulkSMSRequest": { + "$ref": "./BulkSMSRequest.json" + }, + "BulkSMSResponse": { + "$ref": "./BulkSMSResponse.json" + }, + "ApiResponse": { + "$ref": "./ApiResponse.json" + } +} \ No newline at end of file diff --git a/security/securitySchemes.json b/security/securitySchemes.json new file mode 100644 index 0000000..190e94d --- /dev/null +++ b/security/securitySchemes.json @@ -0,0 +1,19 @@ +{ + "petstore_auth": { + "type": "oauth2", + "flows": { + "implicit": { + "authorizationUrl": "https://petstore3.swagger.io/oauth/authorize", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + } + }, + "api_key": { + "type": "apiKey", + "name": "api_key", + "in": "header" + } +} \ No newline at end of file