ml-testing-toolkit 18.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +10 -0
- package/.grype.yaml +16 -0
- package/.ncurc.yaml +9 -0
- package/.nvmrc +1 -0
- package/.versionrc.js +16 -0
- package/CHANGELOG.md +504 -0
- package/CODEOWNERS +30 -0
- package/Dockerfile +42 -0
- package/Dockerfile-newman +13 -0
- package/LICENSE.md +9 -0
- package/README.md +119 -0
- package/assets/diagrams/architectural/architectural-diagram.svg +3 -0
- package/assets/diagrams/flow/flow-diagram.svg +3 -0
- package/assets/images/Sample-Response-Failure.png +0 -0
- package/assets/images/Screenshot 2020-04-16 at 22.58.04.png +0 -0
- package/assets/images/TLS-Enabled-on-Environment.png +0 -0
- package/assets/images/adapter-mutual-tls-enabled.png +0 -0
- package/assets/images/add-additional-input-values.png +0 -0
- package/assets/images/add-condition-button.png +0 -0
- package/assets/images/add-new-assertion.png +0 -0
- package/assets/images/add-new-input-value.png +0 -0
- package/assets/images/add-new-input-variable.png +0 -0
- package/assets/images/additional-transfers.png +0 -0
- package/assets/images/api-provisioning-add-new-api-confirmation.png +0 -0
- package/assets/images/api-provisioning-file-input-window.png +0 -0
- package/assets/images/api-provisioning-list-apis-view.png +0 -0
- package/assets/images/api-provisioning-menu-item.png +0 -0
- package/assets/images/apply_and_restart.jpg +0 -0
- package/assets/images/assess-request-or-response.png +0 -0
- package/assets/images/assess-response-equation-save.png +0 -0
- package/assets/images/assess-response-equation.png +0 -0
- package/assets/images/assess-response-status.png +0 -0
- package/assets/images/building-new-rules-file.png +0 -0
- package/assets/images/callback-rules-screen.png +0 -0
- package/assets/images/configurable-parameter-assertion.png +0 -0
- package/assets/images/configurable-parameter-currency.png +0 -0
- package/assets/images/configurable-parameter.png +0 -0
- package/assets/images/connection-manager-ui-opening.png +0 -0
- package/assets/images/create-inbound-user-simulator.png +0 -0
- package/assets/images/creating-new-rule-file.png +0 -0
- package/assets/images/dfsp-client-cacert.png +0 -0
- package/assets/images/dfsp-client-submit.png +0 -0
- package/assets/images/dfsp-client.png +0 -0
- package/assets/images/dfsp-p2p-happy-path.png +0 -0
- package/assets/images/dfsp-server-cacert.png +0 -0
- package/assets/images/dfsp-server-cert.png +0 -0
- package/assets/images/download-report.png +0 -0
- package/assets/images/drive_have_not_been_shared.jpg +0 -0
- package/assets/images/event-response-options.png +0 -0
- package/assets/images/expand-monitoring-messages.png +0 -0
- package/assets/images/fixed-response-sample.png +0 -0
- package/assets/images/header-selection.png +0 -0
- package/assets/images/heap_error_windows.jpg +0 -0
- package/assets/images/hosted-mode-docker-compose-intro.png +0 -0
- package/assets/images/hub-client-cert.png +0 -0
- package/assets/images/import-template.png +0 -0
- package/assets/images/inbound-requests-environment.png +0 -0
- package/assets/images/inbound-requests-scripts.png +0 -0
- package/assets/images/jws-certificate-submit.png +0 -0
- package/assets/images/jws-certificate.png +0 -0
- package/assets/images/jws-certs-keys.png +0 -0
- package/assets/images/jws-hub-certs-keys.png +0 -0
- package/assets/images/local-enable-jws-publickey.png +0 -0
- package/assets/images/local-mutual-tls-enabled.png +0 -0
- package/assets/images/local_drives_to_be_available.jpg +0 -0
- package/assets/images/mcm-environment-opening.png +0 -0
- package/assets/images/menu-items.png +0 -0
- package/assets/images/mock-response-sample.png +0 -0
- package/assets/images/monitoring-initial-state.png +0 -0
- package/assets/images/monitoring-messages.png +0 -0
- package/assets/images/new-empty-assertion.png +0 -0
- package/assets/images/opened-imported-template.png +0 -0
- package/assets/images/opening-default-settings.png +0 -0
- package/assets/images/opening-sync-response-rules.png +0 -0
- package/assets/images/opening-view.png +0 -0
- package/assets/images/outbound-display-opening-hub.png +0 -0
- package/assets/images/outbound-display-opening.png +0 -0
- package/assets/images/override-with-environment-variable.png +0 -0
- package/assets/images/populate-with-sample-body.png +0 -0
- package/assets/images/resource-selection.png +0 -0
- package/assets/images/rule-builder-select-api.png +0 -0
- package/assets/images/sample-condition-add-configurable-params.png +0 -0
- package/assets/images/sample-condition.png +0 -0
- package/assets/images/sample-editor.png +0 -0
- package/assets/images/sample-request.png +0 -0
- package/assets/images/sample-test-assertion.png +0 -0
- package/assets/images/send-transfer.png +0 -0
- package/assets/images/sending-single-test-case-1.png +0 -0
- package/assets/images/sending-single-test-case-2.png +0 -0
- package/assets/images/sending-test-cases.png +0 -0
- package/assets/images/server-certificates-submitted.png +0 -0
- package/assets/images/simulator-response.png +0 -0
- package/assets/images/simulator-scheme-adapter-endpoint.png +0 -0
- package/assets/images/summarized-view-of-rule.png +0 -0
- package/assets/images/template-window.png +0 -0
- package/assets/images/test-case-editor-console-log.png +0 -0
- package/assets/images/test-case-editor-environment-state.png +0 -0
- package/assets/images/test-case-editor-scripts.png +0 -0
- package/assets/images/test-case-editor.png +0 -0
- package/assets/images/testcase-definition-download.png +0 -0
- package/assets/images/testcase-definition-edit-meta-info.png +0 -0
- package/assets/images/testing-toolkit-mojaloop-testing-toolkit-endpoint.png +0 -0
- package/assets/images/tls-hub-certs-keys.png +0 -0
- package/assets/images/tls-jws-enabled-on-environment.png +0 -0
- package/assets/images/updated-sample-body-data.png +0 -0
- package/assets/images/using-configurable-parameter.png +0 -0
- package/assets/images/validation-rules-screen.png +0 -0
- package/assets/images/view-response.png +0 -0
- package/audit-ci.jsonc +7 -0
- package/connection-manager/docker-compose.yml +55 -0
- package/database/docker-compose.yml +16 -0
- package/docker/hosted-mode/docker-compose.yaml +107 -0
- package/docker/hosted-mode/keycloak/keycloak-realm.json +2298 -0
- package/docker/hosted-mode/mongo-init.sh +1 -0
- package/docker/hosted-mode-tls/docker-compose.yaml +171 -0
- package/docker/hosted-mode-tls/keycloak/keycloak-realm.json +2298 -0
- package/docker/hosted-mode-tls/mongo-init.sh +1 -0
- package/docker-compose.yml +62 -0
- package/documents/Mojaloop-Testing-Toolkit.md +296 -0
- package/documents/RULES_ENGINE.md +403 -0
- package/documents/User-Guide-API-Provisioning.md +121 -0
- package/documents/User-Guide-CLI.md +218 -0
- package/documents/User-Guide-Connection-Manager.md +282 -0
- package/documents/User-Guide-Frequently-Asked-Questions.md +39 -0
- package/documents/User-Guide-Hosted-Mode-Docker-Compose.md +110 -0
- package/documents/User-Guide-Installation.md +163 -0
- package/documents/User-Guide-Mojaloop-Testing-Toolkit.md +642 -0
- package/documents/User-Guide-OAuth-Server-Deployment.md +283 -0
- package/documents/User-Guide-Onboarding-DFSP.md +197 -0
- package/documents/User-Guide-Onboarding-HUB.md +191 -0
- package/documents/User-Guide.md +53 -0
- package/examples/collections/dfsp/p2p_failed_tests.json +7161 -0
- package/examples/collections/dfsp/p2p_fx_happy_path.json +502 -0
- package/examples/collections/dfsp/p2p_happy_path.json +350 -0
- package/examples/collections/dfsp/p2p_happy_path_extended.json +6106 -0
- package/examples/collections/dfsp/p2p_happy_path_jws.json +511 -0
- package/examples/collections/dfsp/p2p_payee_assertions_websocket.json +441 -0
- package/examples/collections/dfsp/sample.json +5029 -0
- package/examples/collections/dfsp/transaction_request_service.json +240 -0
- package/examples/collections/fxp/FXP.json +264 -0
- package/examples/collections/fxp/SDK_backend.json +98 -0
- package/examples/collections/fxp/SDK_outbound.json +163 -0
- package/examples/collections/hub/hub_01_p2p_happy_path/hub_p2p_receive_quote.json +400 -0
- package/examples/collections/hub/hub_01_p2p_happy_path/hub_p2p_send_quote.json +395 -0
- package/examples/collections/hub/hub_02_block_transfer/hub_block_transfer.json +393 -0
- package/examples/collections/hub/hub_03_funds_in_out/hub_funds_in.json +224 -0
- package/examples/collections/hub/hub_03_funds_in_out/hub_funds_out.json +780 -0
- package/examples/collections/hub/hub_04_settlements/hub_settlements.json +3138 -0
- package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_payee_abort.json +475 -0
- package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_payee_invalid_fulfillment.json +370 -0
- package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_transfer_timeout.json +262 -0
- package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_authorizations.json +117 -0
- package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_error_framework.json +591 -0
- package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_received_state.json +379 -0
- package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_reject_state.json +361 -0
- package/examples/collections/hub/hub_07_quoting_service.json +525 -0
- package/examples/collections/hub/hub_08_participant_inactive_stop_transfers.json +706 -0
- package/examples/collections/hub/hub_09_duplicate_handling_transfers.json +1377 -0
- package/examples/collections/hub/hub_10_on_us_transfers.json +245 -0
- package/examples/collections/hub/hub_11_accented_and_spl_chars.json +629 -0
- package/examples/collections/hub/hub_12_fspiop_version_1.1.json +646 -0
- package/examples/collections/hub/hub_13_bulk_transfers.json +1857 -0
- package/examples/collections/iso20022/self_referencing_iso20022.json +926 -0
- package/examples/collections/provisioning/testingtoolkitdfsp.json +904 -0
- package/examples/environments/dfsp_local_environment.json +46 -0
- package/examples/environments/hub_local_environment.json +57 -0
- package/jest.config.js +17 -0
- package/package.json +199 -0
- package/sbom-v18.12.4.csv +1553 -0
- package/secrets/keygen.sh +5 -0
- package/secrets/privatekey.pem +27 -0
- package/secrets/publickey.cer +21 -0
- package/secrets/tls/01.pem +132 -0
- package/secrets/tls/createSecrets.sh +20 -0
- package/secrets/tls/hub_client.csr +32 -0
- package/secrets/tls/hub_client_cacert.pem +35 -0
- package/secrets/tls/hub_client_cakey.pem +52 -0
- package/secrets/tls/hub_client_key.key +52 -0
- package/secrets/tls/hub_server.csr +31 -0
- package/secrets/tls/hub_server_cacert.pem +35 -0
- package/secrets/tls/hub_server_cakey.pem +52 -0
- package/secrets/tls/hub_server_cert.pem +132 -0
- package/secrets/tls/hub_server_key.key +52 -0
- package/secrets/tls/index.txt +1 -0
- package/secrets/tls/index.txt.attr +1 -0
- package/secrets/tls/openssl-client.cnf +36 -0
- package/secrets/tls/openssl-clientca.cnf +71 -0
- package/secrets/tls/openssl-server.cnf +39 -0
- package/secrets/tls/openssl-serverca.cnf +71 -0
- package/secrets/tls/serial.txt +1 -0
- package/spec_files/api_definitions/als_admin_1.1/api_spec.yaml +804 -0
- package/spec_files/api_definitions/central_admin_1.0/api_spec.yaml +1850 -0
- package/spec_files/api_definitions/central_admin_1.0/response_map.json +96 -0
- package/spec_files/api_definitions/central_admin_old_9.3/api_spec.yaml +2467 -0
- package/spec_files/api_definitions/central_admin_old_9.3/response_map.json +96 -0
- package/spec_files/api_definitions/fspiop_1.0/api_spec.yaml +4187 -0
- package/spec_files/api_definitions/fspiop_1.0/callback_map.json +568 -0
- package/spec_files/api_definitions/fspiop_1.0/mockRef.json +79 -0
- package/spec_files/api_definitions/fspiop_1.0/trigger_templates/transaction_request_followup.json +126 -0
- package/spec_files/api_definitions/fspiop_1.0/trigger_templates/transaction_request_followup_quotes_only.json +97 -0
- package/spec_files/api_definitions/fspiop_1.1/api_spec.yaml +3778 -0
- package/spec_files/api_definitions/fspiop_1.1/callback_map.json +568 -0
- package/spec_files/api_definitions/fspiop_1.1/mockRef.json +79 -0
- package/spec_files/api_definitions/fspiop_1.1/trigger_templates/transaction_request_followup.json +125 -0
- package/spec_files/api_definitions/fspiop_2.0/api_spec.yaml +4839 -0
- package/spec_files/api_definitions/fspiop_2.0/callback_map.json +716 -0
- package/spec_files/api_definitions/fspiop_2.0/mockRef.json +79 -0
- package/spec_files/api_definitions/fspiop_2.0/trigger_templates/transaction_request_followup.json +125 -0
- package/spec_files/api_definitions/fspiop_2.0_iso20022/api_spec.yaml +8331 -0
- package/spec_files/api_definitions/fspiop_2.0_iso20022/callback_map.json +508 -0
- package/spec_files/api_definitions/fspiop_2.0_iso20022/mockRef.json +66 -0
- package/spec_files/api_definitions/fx-api_2.0/api_spec.yaml +1768 -0
- package/spec_files/api_definitions/fx-api_2.0/callback_map.json +188 -0
- package/spec_files/api_definitions/fx-api_2.0/mockRef.json +83 -0
- package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +2612 -0
- package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json +22 -0
- package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json +35 -0
- package/spec_files/api_definitions/mojaloop_simulator_0.1/api_spec.yaml +225 -0
- package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/api_spec.yaml +1087 -0
- package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/mockRef.json +75 -0
- package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/response_map.json +55 -0
- package/spec_files/api_definitions/payment_manager_1.4/api_spec.yaml +1389 -0
- package/spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/api_spec.yaml +2834 -0
- package/spec_files/api_definitions/sdk-scheme-adapter-outbound-v2_1_0-openapi3-snippets_2.1/api_spec.yaml +3449 -0
- package/spec_files/api_definitions/settlements_1.0/api_spec.yaml +983 -0
- package/spec_files/api_definitions/settlements_1.0/mockRef.json +38 -0
- package/spec_files/api_definitions/settlements_1.0/response_map.json +34 -0
- package/spec_files/api_definitions/settlements_2.0/api_spec.yaml +1001 -0
- package/spec_files/api_definitions/settlements_2.0/mockRef.json +38 -0
- package/spec_files/api_definitions/settlements_2.0/response_map.json +34 -0
- package/spec_files/api_definitions/thirdparty_sdk_outbound_0.1/api_spec.yaml +2139 -0
- package/spec_files/reports/templates/newman/html_template.html +1202 -0
- package/spec_files/reports/templates/newman/pdf_template.html +790 -0
- package/spec_files/reports/templates/testcase_definition/table_view.html +1602 -0
- package/spec_files/rules_callback/config.json +3 -0
- package/spec_files/rules_callback/default.json +2698 -0
- package/spec_files/rules_callback/p2p-limit.json +129 -0
- package/spec_files/rules_forward/config.json +3 -0
- package/spec_files/rules_forward/default.json +482 -0
- package/spec_files/rules_response/config.json +3 -0
- package/spec_files/rules_response/default.json +295 -0
- package/spec_files/rules_validation/config.json +3 -0
- package/spec_files/rules_validation/default.json +1 -0
- package/spec_files/rules_validation/p2p-limit.json +55 -0
- package/spec_files/system_config.json +175 -0
- package/spec_files/user_config.json +109 -0
- package/src/index.js +67 -0
- package/src/lib/MyEventEmitter.js +54 -0
- package/src/lib/api-management.js +143 -0
- package/src/lib/api-routes/config.js +83 -0
- package/src/lib/api-routes/history.js +139 -0
- package/src/lib/api-routes/keycloak.js +54 -0
- package/src/lib/api-routes/longpolling.js +70 -0
- package/src/lib/api-routes/oauth2.js +149 -0
- package/src/lib/api-routes/objectstore.js +53 -0
- package/src/lib/api-routes/openapi.js +224 -0
- package/src/lib/api-routes/outbound.js +134 -0
- package/src/lib/api-routes/reports.js +72 -0
- package/src/lib/api-routes/rules.js +356 -0
- package/src/lib/api-routes/samples.js +92 -0
- package/src/lib/api-routes/server-logs.js +44 -0
- package/src/lib/api-routes/settings.js +71 -0
- package/src/lib/api-server.js +135 -0
- package/src/lib/arrayStore.js +101 -0
- package/src/lib/callbackHandler.js +201 -0
- package/src/lib/config.js +177 -0
- package/src/lib/configuration-providers/mb-connection-manager.js +625 -0
- package/src/lib/db/adapters/dbAdapter.js +184 -0
- package/src/lib/db/dfspMockUsers.js +64 -0
- package/src/lib/db/models/mongoDBWrapper.js +78 -0
- package/src/lib/eventListenerClient/inboundEventListener.js +176 -0
- package/src/lib/fileAdapter.js +57 -0
- package/src/lib/httpAgentStore.js +135 -0
- package/src/lib/importExport.js +186 -0
- package/src/lib/jws/JwsSigning.js +141 -0
- package/src/lib/loadSamples.js +128 -0
- package/src/lib/logger.js +20 -0
- package/src/lib/longpollingEmitter.js +56 -0
- package/src/lib/metrics.js +51 -0
- package/src/lib/mocking/custom-functions/generic.js +57 -0
- package/src/lib/mocking/middleware-functions/ilpModel.js +238 -0
- package/src/lib/mocking/middleware-functions/quotesAssociation.js +75 -0
- package/src/lib/mocking/middleware-functions/transactionRequestsService.js +78 -0
- package/src/lib/mocking/openApiDefinitionsModel.js +64 -0
- package/src/lib/mocking/openApiMockHandler.js +466 -0
- package/src/lib/mocking/openApiRulesEngine.js +492 -0
- package/src/lib/mocking/openApiVersionTools.js +136 -0
- package/src/lib/mocking/transformers/fspiopToISO20022.js +230 -0
- package/src/lib/mocking/transformers/index.js +41 -0
- package/src/lib/notificationEmitter.js +64 -0
- package/src/lib/oauth/KeycloakHelper.js +220 -0
- package/src/lib/oauth/LoginService.js +133 -0
- package/src/lib/oauth/OAuthHelper.js +181 -0
- package/src/lib/oauth/OAuthValidator.js +118 -0
- package/src/lib/oauth/Wso2Client.js +64 -0
- package/src/lib/objectStore/inMemoryImpl.js +50 -0
- package/src/lib/objectStore/objectStoreInterface.js +51 -0
- package/src/lib/objectStore.js +122 -0
- package/src/lib/report-generator/generator.js +126 -0
- package/src/lib/report-generator/helpers.js +154 -0
- package/src/lib/requestLogger.js +190 -0
- package/src/lib/resources/wso2carbon-publickey.cert +20 -0
- package/src/lib/rulesEngine.js +95 -0
- package/src/lib/rulesEngineModel.js +463 -0
- package/src/lib/scripting-engines/postman-sandbox.js +142 -0
- package/src/lib/scripting-engines/vm-javascript-sandbox.js +294 -0
- package/src/lib/server-logs/adapters/elastic-search.js +102 -0
- package/src/lib/server-logs/adapters/grafana.js +0 -0
- package/src/lib/server-logs/index.js +75 -0
- package/src/lib/socket-server.js +55 -0
- package/src/lib/storageAdapter.js +109 -0
- package/src/lib/test-outbound/TestCaseRunner.js +173 -0
- package/src/lib/test-outbound/getTracing.js +19 -0
- package/src/lib/test-outbound/outbound-initiator.js +1107 -0
- package/src/lib/uniqueIdGenerator.js +35 -0
- package/src/lib/utils.js +89 -0
- package/src/lib/utilsInternal.js +56 -0
- package/src/lib/webSocketClient/WebSocketClientManager.js +197 -0
- package/src/server.js +218 -0
|
@@ -0,0 +1,1087 @@
|
|
|
1
|
+
openapi: 3.0.1
|
|
2
|
+
info:
|
|
3
|
+
title: Mojaloop SDK Inbound Scheme Adapter API
|
|
4
|
+
description: Mojaloop SDK Inbound Scheme Adapter API - To be implemented by DFSP backend
|
|
5
|
+
license:
|
|
6
|
+
name: Open API for FSP Interoperability (FSPIOP)
|
|
7
|
+
url: http://www.majaloop.io
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
|
|
10
|
+
paths:
|
|
11
|
+
/:
|
|
12
|
+
get:
|
|
13
|
+
summary: Health check endpoint.
|
|
14
|
+
operationId: healthCheck
|
|
15
|
+
responses:
|
|
16
|
+
200:
|
|
17
|
+
description: Returns empty body if the service is running.
|
|
18
|
+
/participants/{idType}/{idValue}:
|
|
19
|
+
get:
|
|
20
|
+
summary: Asks for the FSPID of the scheme participant that can handle transfers for the specified identifier type and value
|
|
21
|
+
tags:
|
|
22
|
+
- Participants
|
|
23
|
+
operationId: ParticipantsGetByTypeAndID
|
|
24
|
+
parameters:
|
|
25
|
+
- name: idType
|
|
26
|
+
in: path
|
|
27
|
+
required: true
|
|
28
|
+
schema:
|
|
29
|
+
$ref: '#/components/schemas/idType'
|
|
30
|
+
- name: idValue
|
|
31
|
+
in: path
|
|
32
|
+
required: true
|
|
33
|
+
schema:
|
|
34
|
+
$ref: '#/components/schemas/idValue'
|
|
35
|
+
responses:
|
|
36
|
+
200:
|
|
37
|
+
description: Response containing details of the requested party
|
|
38
|
+
content:
|
|
39
|
+
application/json:
|
|
40
|
+
schema:
|
|
41
|
+
$ref: '#/components/schemas/participantsResponse'
|
|
42
|
+
404:
|
|
43
|
+
description: The party specified by the provided identifier type and value is not known to the server
|
|
44
|
+
400:
|
|
45
|
+
description: Malformed or missing required headers or parameters
|
|
46
|
+
content:
|
|
47
|
+
application/json:
|
|
48
|
+
schema:
|
|
49
|
+
$ref: '#/components/schemas/errorResponse'
|
|
50
|
+
500:
|
|
51
|
+
description: An error occured processing the request
|
|
52
|
+
content:
|
|
53
|
+
application/json:
|
|
54
|
+
schema:
|
|
55
|
+
$ref: '#/components/schemas/errorResponse'
|
|
56
|
+
|
|
57
|
+
/participants/{idType}/{idValue}/{subIdValue}:
|
|
58
|
+
get:
|
|
59
|
+
summary: Asks for the FSPID of the scheme participant that can handle transfers for the specified identifier type, value and subId value
|
|
60
|
+
tags:
|
|
61
|
+
- Participants
|
|
62
|
+
operationId: ParticipantsGetByTypeIDAndSubId
|
|
63
|
+
parameters:
|
|
64
|
+
- name: idType
|
|
65
|
+
in: path
|
|
66
|
+
required: true
|
|
67
|
+
schema:
|
|
68
|
+
$ref: '#/components/schemas/idType'
|
|
69
|
+
- name: idValue
|
|
70
|
+
in: path
|
|
71
|
+
required: true
|
|
72
|
+
schema:
|
|
73
|
+
$ref: '#/components/schemas/idValue'
|
|
74
|
+
- name: subIdValue
|
|
75
|
+
in: path
|
|
76
|
+
required: true
|
|
77
|
+
schema:
|
|
78
|
+
$ref: '#/components/schemas/subIdValue'
|
|
79
|
+
responses:
|
|
80
|
+
200:
|
|
81
|
+
description: Response containing details of the requested party
|
|
82
|
+
content:
|
|
83
|
+
application/json:
|
|
84
|
+
schema:
|
|
85
|
+
$ref: '#/components/schemas/participantsResponse'
|
|
86
|
+
404:
|
|
87
|
+
description: The party specified by the provided identifier type and value/subId is not known to the server
|
|
88
|
+
400:
|
|
89
|
+
description: Malformed or missing required headers or parameters
|
|
90
|
+
content:
|
|
91
|
+
application/json:
|
|
92
|
+
schema:
|
|
93
|
+
$ref: '#/components/schemas/errorResponse'
|
|
94
|
+
500:
|
|
95
|
+
description: An error occured processing the request
|
|
96
|
+
content:
|
|
97
|
+
application/json:
|
|
98
|
+
schema:
|
|
99
|
+
$ref: '#/components/schemas/errorResponse'
|
|
100
|
+
|
|
101
|
+
/parties/{idType}/{idValue}:
|
|
102
|
+
get:
|
|
103
|
+
summary: Requests information relating to a transfer party identified by the specified identifier type and value
|
|
104
|
+
tags:
|
|
105
|
+
- Parties
|
|
106
|
+
operationId: PartiesGetByTypeAndID
|
|
107
|
+
parameters:
|
|
108
|
+
- name: idType
|
|
109
|
+
in: path
|
|
110
|
+
required: true
|
|
111
|
+
schema:
|
|
112
|
+
$ref: '#/components/schemas/idType'
|
|
113
|
+
- name: idValue
|
|
114
|
+
in: path
|
|
115
|
+
required: true
|
|
116
|
+
schema:
|
|
117
|
+
$ref: '#/components/schemas/idValue'
|
|
118
|
+
responses:
|
|
119
|
+
200:
|
|
120
|
+
description: Response containing details of the requested party
|
|
121
|
+
content:
|
|
122
|
+
application/json:
|
|
123
|
+
schema:
|
|
124
|
+
$ref: '#/components/schemas/transferParty'
|
|
125
|
+
404:
|
|
126
|
+
description: The party specified by the provided identifier type and value is not known to the server
|
|
127
|
+
400:
|
|
128
|
+
description: Malformed or missing required headers or parameters
|
|
129
|
+
content:
|
|
130
|
+
application/json:
|
|
131
|
+
schema:
|
|
132
|
+
$ref: '#/components/schemas/errorResponse'
|
|
133
|
+
500:
|
|
134
|
+
description: An error occured processing the request
|
|
135
|
+
content:
|
|
136
|
+
application/json:
|
|
137
|
+
schema:
|
|
138
|
+
$ref: '#/components/schemas/errorResponse'
|
|
139
|
+
|
|
140
|
+
/parties/{idType}/{idValue}/{subIdValue}:
|
|
141
|
+
get:
|
|
142
|
+
summary: Requests information relating to a transfer party identified by the specified identifier type, value and subId value
|
|
143
|
+
tags:
|
|
144
|
+
- Parties
|
|
145
|
+
operationId: PartiesGetByTypeIdAndSubId
|
|
146
|
+
parameters:
|
|
147
|
+
- name: idType
|
|
148
|
+
in: path
|
|
149
|
+
required: true
|
|
150
|
+
schema:
|
|
151
|
+
$ref: '#/components/schemas/idType'
|
|
152
|
+
- name: idValue
|
|
153
|
+
in: path
|
|
154
|
+
required: true
|
|
155
|
+
schema:
|
|
156
|
+
$ref: '#/components/schemas/idValue'
|
|
157
|
+
- name: subIdValue
|
|
158
|
+
in: path
|
|
159
|
+
required: true
|
|
160
|
+
schema:
|
|
161
|
+
$ref: '#/components/schemas/subIdValue'
|
|
162
|
+
responses:
|
|
163
|
+
200:
|
|
164
|
+
description: Response containing details of the requested party
|
|
165
|
+
content:
|
|
166
|
+
application/json:
|
|
167
|
+
schema:
|
|
168
|
+
$ref: '#/components/schemas/transferParty'
|
|
169
|
+
404:
|
|
170
|
+
description: The party specified by the provided identifier type and value is not known to the server
|
|
171
|
+
400:
|
|
172
|
+
description: Malformed or missing required headers or parameters
|
|
173
|
+
content:
|
|
174
|
+
application/json:
|
|
175
|
+
schema:
|
|
176
|
+
$ref: '#/components/schemas/errorResponse'
|
|
177
|
+
500:
|
|
178
|
+
description: An error occured processing the request
|
|
179
|
+
content:
|
|
180
|
+
application/json:
|
|
181
|
+
schema:
|
|
182
|
+
$ref: '#/components/schemas/errorResponse'
|
|
183
|
+
|
|
184
|
+
/quoterequests:
|
|
185
|
+
post:
|
|
186
|
+
summary: Requests a quote for the specified transfer
|
|
187
|
+
tags:
|
|
188
|
+
- Quotes
|
|
189
|
+
operationId: QuoteRequest
|
|
190
|
+
requestBody:
|
|
191
|
+
description: Request for a transfer quotation
|
|
192
|
+
content:
|
|
193
|
+
application/json:
|
|
194
|
+
schema:
|
|
195
|
+
$ref: '#/components/schemas/quoteRequest'
|
|
196
|
+
responses:
|
|
197
|
+
200:
|
|
198
|
+
description: A response to the transfer quotation request
|
|
199
|
+
content:
|
|
200
|
+
application/json:
|
|
201
|
+
schema:
|
|
202
|
+
$ref: '#/components/schemas/quoteResponse'
|
|
203
|
+
400:
|
|
204
|
+
description: Malformed or missing required headers or parameters
|
|
205
|
+
content:
|
|
206
|
+
application/json:
|
|
207
|
+
schema:
|
|
208
|
+
$ref: '#/components/schemas/errorResponse'
|
|
209
|
+
500:
|
|
210
|
+
description: An error occured processing the request
|
|
211
|
+
content:
|
|
212
|
+
application/json:
|
|
213
|
+
schema:
|
|
214
|
+
$ref: '#/components/schemas/errorResponse'
|
|
215
|
+
|
|
216
|
+
/transactionrequests:
|
|
217
|
+
post:
|
|
218
|
+
summary: transaction request that supports pull based transfers
|
|
219
|
+
tags:
|
|
220
|
+
- TransactionRequest
|
|
221
|
+
operationId: TransactionRequest
|
|
222
|
+
requestBody:
|
|
223
|
+
description: Request for Transaction Request
|
|
224
|
+
content:
|
|
225
|
+
application/json:
|
|
226
|
+
schema:
|
|
227
|
+
$ref: '#/components/schemas/transactionRequest'
|
|
228
|
+
responses:
|
|
229
|
+
200:
|
|
230
|
+
description: A response to the transfer transaction request
|
|
231
|
+
content:
|
|
232
|
+
application/json:
|
|
233
|
+
schema:
|
|
234
|
+
$ref: '#/components/schemas/transactionRequestResponse'
|
|
235
|
+
400:
|
|
236
|
+
description: Malformed or missing required headers or parameters
|
|
237
|
+
content:
|
|
238
|
+
application/json:
|
|
239
|
+
schema:
|
|
240
|
+
$ref: '#/components/schemas/errorResponse'
|
|
241
|
+
500:
|
|
242
|
+
description: An error occured processing the request
|
|
243
|
+
content:
|
|
244
|
+
application/json:
|
|
245
|
+
schema:
|
|
246
|
+
$ref: '#/components/schemas/errorResponse'
|
|
247
|
+
|
|
248
|
+
/transfers:
|
|
249
|
+
post:
|
|
250
|
+
summary: Transfers funds from an external account to an internal account
|
|
251
|
+
tags:
|
|
252
|
+
- Transfers
|
|
253
|
+
operationId: TransfersPost
|
|
254
|
+
requestBody:
|
|
255
|
+
description: An incoming transfer request
|
|
256
|
+
content:
|
|
257
|
+
application/json:
|
|
258
|
+
schema:
|
|
259
|
+
$ref: '#/components/schemas/transferRequest'
|
|
260
|
+
responses:
|
|
261
|
+
200:
|
|
262
|
+
description: The transfer was accepted
|
|
263
|
+
content:
|
|
264
|
+
application/json:
|
|
265
|
+
schema:
|
|
266
|
+
$ref: '#/components/schemas/transferResponse'
|
|
267
|
+
400:
|
|
268
|
+
description: Malformed or missing required headers or parameters
|
|
269
|
+
content:
|
|
270
|
+
application/json:
|
|
271
|
+
schema:
|
|
272
|
+
$ref: '#/components/schemas/errorResponse'
|
|
273
|
+
500:
|
|
274
|
+
description: An error occured processing the request
|
|
275
|
+
content:
|
|
276
|
+
application/json:
|
|
277
|
+
schema:
|
|
278
|
+
$ref: '#/components/schemas/errorResponse'
|
|
279
|
+
|
|
280
|
+
/transfers/{transferId}:
|
|
281
|
+
put:
|
|
282
|
+
summary: Receive notification for a specific transfer
|
|
283
|
+
description: The HTTP request `PUT /transfers/{transferId}` is used to receive notification for transfer being fulfiled when the FSP is a Payee
|
|
284
|
+
parameters:
|
|
285
|
+
- name: transferId
|
|
286
|
+
in: path
|
|
287
|
+
required: true
|
|
288
|
+
schema:
|
|
289
|
+
$ref: '#/components/schemas/idValue'
|
|
290
|
+
tags:
|
|
291
|
+
- Transfers
|
|
292
|
+
operationId: TransfersPut
|
|
293
|
+
requestBody:
|
|
294
|
+
description: An incoming notification for fulfiled transfer
|
|
295
|
+
content:
|
|
296
|
+
application/json:
|
|
297
|
+
schema:
|
|
298
|
+
$ref: '#/components/schemas/fulfilNotification'
|
|
299
|
+
responses:
|
|
300
|
+
200:
|
|
301
|
+
description: The notification was accepted
|
|
302
|
+
500:
|
|
303
|
+
description: An error occured processing the request
|
|
304
|
+
content:
|
|
305
|
+
application/json:
|
|
306
|
+
schema:
|
|
307
|
+
$ref: '#/components/schemas/errorResponse'
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
/otp/{requestToPayId}:
|
|
311
|
+
get:
|
|
312
|
+
summary: Requests OTP
|
|
313
|
+
tags:
|
|
314
|
+
- OTP
|
|
315
|
+
operationId: OtpGet
|
|
316
|
+
parameters:
|
|
317
|
+
- name: requestToPayId
|
|
318
|
+
in: path
|
|
319
|
+
required: true
|
|
320
|
+
schema:
|
|
321
|
+
$ref: '#/components/schemas/idValue'
|
|
322
|
+
responses:
|
|
323
|
+
200:
|
|
324
|
+
description: Response containing details of the OTP
|
|
325
|
+
content:
|
|
326
|
+
application/json:
|
|
327
|
+
schema:
|
|
328
|
+
$ref: '#/components/schemas/otpDetails'
|
|
329
|
+
404:
|
|
330
|
+
description: The party specified by the provided identifier type and value is not known to the server
|
|
331
|
+
400:
|
|
332
|
+
description: Malformed or missing required headers or parameters
|
|
333
|
+
content:
|
|
334
|
+
application/json:
|
|
335
|
+
schema:
|
|
336
|
+
$ref: '#/components/schemas/errorResponse'
|
|
337
|
+
500:
|
|
338
|
+
description: An error occured processing the request
|
|
339
|
+
content:
|
|
340
|
+
application/json:
|
|
341
|
+
schema:
|
|
342
|
+
$ref: '#/components/schemas/errorResponse'
|
|
343
|
+
|
|
344
|
+
/bulkQuotes:
|
|
345
|
+
post:
|
|
346
|
+
summary: Requests a bulk quote
|
|
347
|
+
tags:
|
|
348
|
+
- BulkQuotes
|
|
349
|
+
operationId: BulkQuotesPost
|
|
350
|
+
requestBody:
|
|
351
|
+
description: Incoming request for a bulk quotation
|
|
352
|
+
content:
|
|
353
|
+
application/json:
|
|
354
|
+
schema:
|
|
355
|
+
$ref: '#/components/schemas/bulkQuoteRequest'
|
|
356
|
+
responses:
|
|
357
|
+
200:
|
|
358
|
+
description: A response to the bulk quote request
|
|
359
|
+
content:
|
|
360
|
+
application/json:
|
|
361
|
+
schema:
|
|
362
|
+
$ref: '#/components/schemas/bulkQuoteResponse'
|
|
363
|
+
400:
|
|
364
|
+
description: Malformed or missing required headers or parameters
|
|
365
|
+
content:
|
|
366
|
+
application/json:
|
|
367
|
+
schema:
|
|
368
|
+
$ref: '#/components/schemas/errorResponse'
|
|
369
|
+
500:
|
|
370
|
+
description: An error occured processing the request
|
|
371
|
+
content:
|
|
372
|
+
application/json:
|
|
373
|
+
schema:
|
|
374
|
+
$ref: '#/components/schemas/errorResponse'
|
|
375
|
+
|
|
376
|
+
/bulkQuotes/{idValue}:
|
|
377
|
+
get:
|
|
378
|
+
summary: Requests information relating to a bulk quote identified by the specified identifier value
|
|
379
|
+
tags:
|
|
380
|
+
- BulkQuotes
|
|
381
|
+
operationId: BulkQuotesGet
|
|
382
|
+
parameters:
|
|
383
|
+
- name: idValue
|
|
384
|
+
in: path
|
|
385
|
+
required: true
|
|
386
|
+
schema:
|
|
387
|
+
$ref: '#/components/schemas/idValue'
|
|
388
|
+
responses:
|
|
389
|
+
200:
|
|
390
|
+
description: Response containing details of the requested bulk quote
|
|
391
|
+
content:
|
|
392
|
+
application/json:
|
|
393
|
+
schema:
|
|
394
|
+
$ref: '#/components/schemas/bulkQuoteResponse'
|
|
395
|
+
404:
|
|
396
|
+
description: The bulk quote specified by the provided identifier value is not known to the server
|
|
397
|
+
400:
|
|
398
|
+
description: Malformed or missing required headers or parameters
|
|
399
|
+
content:
|
|
400
|
+
application/json:
|
|
401
|
+
schema:
|
|
402
|
+
$ref: '#/components/schemas/errorResponse'
|
|
403
|
+
500:
|
|
404
|
+
description: An error occured processing the request
|
|
405
|
+
content:
|
|
406
|
+
application/json:
|
|
407
|
+
schema:
|
|
408
|
+
$ref: '#/components/schemas/errorResponse'
|
|
409
|
+
|
|
410
|
+
/bulkTransfers:
|
|
411
|
+
post:
|
|
412
|
+
summary: Execute bulk transfer of funds from an external account to internal accounts
|
|
413
|
+
tags:
|
|
414
|
+
- BulkTransfers
|
|
415
|
+
operationId: BulkTransfersPost
|
|
416
|
+
requestBody:
|
|
417
|
+
description: An incoming bulk transfer request
|
|
418
|
+
content:
|
|
419
|
+
application/json:
|
|
420
|
+
schema:
|
|
421
|
+
$ref: '#/components/schemas/bulkTransferRequest'
|
|
422
|
+
responses:
|
|
423
|
+
200:
|
|
424
|
+
description: The bulk transfer was accepted
|
|
425
|
+
content:
|
|
426
|
+
application/json:
|
|
427
|
+
schema:
|
|
428
|
+
$ref: '#/components/schemas/bulkTransferResponse'
|
|
429
|
+
400:
|
|
430
|
+
description: Malformed or missing required headers or parameters
|
|
431
|
+
content:
|
|
432
|
+
application/json:
|
|
433
|
+
schema:
|
|
434
|
+
$ref: '#/components/schemas/errorResponse'
|
|
435
|
+
500:
|
|
436
|
+
description: An error occured processing the request
|
|
437
|
+
content:
|
|
438
|
+
application/json:
|
|
439
|
+
schema:
|
|
440
|
+
$ref: '#/components/schemas/errorResponse'
|
|
441
|
+
|
|
442
|
+
/bulkTransfers/{idValue}:
|
|
443
|
+
get:
|
|
444
|
+
summary: Requests information relating to a bulk transfer identified by the specified identifier value
|
|
445
|
+
tags:
|
|
446
|
+
- BulkTransfers
|
|
447
|
+
operationId: BulkTransfersGet
|
|
448
|
+
parameters:
|
|
449
|
+
- name: idValue
|
|
450
|
+
in: path
|
|
451
|
+
required: true
|
|
452
|
+
schema:
|
|
453
|
+
$ref: '#/components/schemas/idValue'
|
|
454
|
+
responses:
|
|
455
|
+
200:
|
|
456
|
+
description: Response containing details of the requested bulk transfer
|
|
457
|
+
content:
|
|
458
|
+
application/json:
|
|
459
|
+
schema:
|
|
460
|
+
$ref: '#/components/schemas/bulkTransferResponse'
|
|
461
|
+
404:
|
|
462
|
+
description: The bulk transfer specified by the provided identifier value is not known to the server
|
|
463
|
+
400:
|
|
464
|
+
description: Malformed or missing required headers or parameters
|
|
465
|
+
content:
|
|
466
|
+
application/json:
|
|
467
|
+
schema:
|
|
468
|
+
$ref: '#/components/schemas/errorResponse'
|
|
469
|
+
500:
|
|
470
|
+
description: An error occured processing the request
|
|
471
|
+
content:
|
|
472
|
+
application/json:
|
|
473
|
+
schema:
|
|
474
|
+
$ref: '#/components/schemas/errorResponse'
|
|
475
|
+
|
|
476
|
+
components:
|
|
477
|
+
schemas:
|
|
478
|
+
quoteRequest:
|
|
479
|
+
type: object
|
|
480
|
+
description: A request for a quote for transfer from the DFSP backend
|
|
481
|
+
required:
|
|
482
|
+
- quoteId
|
|
483
|
+
- transactionId
|
|
484
|
+
- to
|
|
485
|
+
- from
|
|
486
|
+
- amountType
|
|
487
|
+
- amount
|
|
488
|
+
- currency
|
|
489
|
+
- transactionType
|
|
490
|
+
- initiator
|
|
491
|
+
- initiatorType
|
|
492
|
+
properties:
|
|
493
|
+
quoteId:
|
|
494
|
+
$ref: '#/components/schemas/quoteId'
|
|
495
|
+
transactionId:
|
|
496
|
+
$ref: '#/components/schemas/transactionId'
|
|
497
|
+
to:
|
|
498
|
+
$ref: '#/components/schemas/transferParty'
|
|
499
|
+
from:
|
|
500
|
+
$ref: '#/components/schemas/transferParty'
|
|
501
|
+
amountType:
|
|
502
|
+
$ref: '#/components/schemas/amountType'
|
|
503
|
+
amount:
|
|
504
|
+
$ref: '#/components/schemas/money'
|
|
505
|
+
currency:
|
|
506
|
+
$ref: '#/components/schemas/currency'
|
|
507
|
+
feesAmount:
|
|
508
|
+
$ref: '#/components/schemas/money'
|
|
509
|
+
feesCurrency:
|
|
510
|
+
$ref: '#/components/schemas/currency'
|
|
511
|
+
transactionType:
|
|
512
|
+
$ref: '#/components/schemas/transactionType'
|
|
513
|
+
initiator:
|
|
514
|
+
$ref: '#/components/schemas/initiator'
|
|
515
|
+
initiatorType:
|
|
516
|
+
$ref: '#/components/schemas/initiatorType'
|
|
517
|
+
geoCode:
|
|
518
|
+
$ref: '#/components/schemas/geoCode'
|
|
519
|
+
note:
|
|
520
|
+
type: string
|
|
521
|
+
minLength: 1
|
|
522
|
+
maxLength: 128
|
|
523
|
+
description: An optional note associated with the requested transfer
|
|
524
|
+
expiration:
|
|
525
|
+
$ref: '#/components/schemas/timestamp'
|
|
526
|
+
|
|
527
|
+
transactionRequest:
|
|
528
|
+
type: object
|
|
529
|
+
description: A request for a pull based transfer
|
|
530
|
+
required:
|
|
531
|
+
- transactionRequestId
|
|
532
|
+
- to
|
|
533
|
+
- from
|
|
534
|
+
- amount
|
|
535
|
+
- currency
|
|
536
|
+
- transactionType
|
|
537
|
+
- initiator
|
|
538
|
+
- initiatorType
|
|
539
|
+
properties:
|
|
540
|
+
transactionRequestId:
|
|
541
|
+
$ref: '#/components/schemas/transactionRequestId'
|
|
542
|
+
to:
|
|
543
|
+
$ref: '#/components/schemas/transferParty'
|
|
544
|
+
from:
|
|
545
|
+
$ref: '#/components/schemas/transferParty'
|
|
546
|
+
amount:
|
|
547
|
+
$ref: '#/components/schemas/money'
|
|
548
|
+
currency:
|
|
549
|
+
$ref: '#/components/schemas/currency'
|
|
550
|
+
transactionType:
|
|
551
|
+
$ref: '#/components/schemas/transactionType'
|
|
552
|
+
initiator:
|
|
553
|
+
$ref: '#/components/schemas/initiator'
|
|
554
|
+
initiatorType:
|
|
555
|
+
$ref: '#/components/schemas/initiatorType'
|
|
556
|
+
geoCode:
|
|
557
|
+
$ref: '#/components/schemas/geoCode'
|
|
558
|
+
note:
|
|
559
|
+
type: string
|
|
560
|
+
minLength: 1
|
|
561
|
+
maxLength: 128
|
|
562
|
+
description: An optional note associated with the requested transfer
|
|
563
|
+
expiration:
|
|
564
|
+
$ref: '#/components/schemas/timestamp'
|
|
565
|
+
|
|
566
|
+
timestamp:
|
|
567
|
+
type: string
|
|
568
|
+
description: An ISO-8601 formatted timestamp
|
|
569
|
+
pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
|
|
570
|
+
|
|
571
|
+
dateOfBirth:
|
|
572
|
+
type: string
|
|
573
|
+
description: Date of birth in the form YYYY-MM-DD
|
|
574
|
+
pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$
|
|
575
|
+
|
|
576
|
+
initiator:
|
|
577
|
+
type: string
|
|
578
|
+
enum:
|
|
579
|
+
- PAYER
|
|
580
|
+
- PAYEE
|
|
581
|
+
|
|
582
|
+
initiatorType:
|
|
583
|
+
type: string
|
|
584
|
+
enum:
|
|
585
|
+
- CONSUMER
|
|
586
|
+
- AGENT
|
|
587
|
+
- BUSINESS
|
|
588
|
+
- DEVICE
|
|
589
|
+
|
|
590
|
+
quoteResponse:
|
|
591
|
+
type: object
|
|
592
|
+
description: A response to a request for a quote
|
|
593
|
+
required:
|
|
594
|
+
- quoteId
|
|
595
|
+
- transactionId
|
|
596
|
+
- transferAmount
|
|
597
|
+
- transferAmountCurrency
|
|
598
|
+
properties:
|
|
599
|
+
quoteId:
|
|
600
|
+
$ref: '#/components/schemas/quoteId'
|
|
601
|
+
transactionId:
|
|
602
|
+
$ref: '#/components/schemas/transactionId'
|
|
603
|
+
transferAmount:
|
|
604
|
+
$ref: '#/components/schemas/money'
|
|
605
|
+
transferAmountCurrency:
|
|
606
|
+
$ref: '#/components/schemas/currency'
|
|
607
|
+
payeeReceiveAmount:
|
|
608
|
+
$ref: '#/components/schemas/money'
|
|
609
|
+
payeeReceiveAmountCurrency:
|
|
610
|
+
$ref: '#/components/schemas/currency'
|
|
611
|
+
payeeFspFeeAmount:
|
|
612
|
+
$ref: '#/components/schemas/money'
|
|
613
|
+
payeeFspFeeAmountCurrency:
|
|
614
|
+
$ref: '#/components/schemas/currency'
|
|
615
|
+
payeeFspCommissionAmount:
|
|
616
|
+
$ref: '#/components/schemas/money'
|
|
617
|
+
payeeFspCommissionAmountCurrency:
|
|
618
|
+
$ref: '#/components/schemas/currency'
|
|
619
|
+
expiration:
|
|
620
|
+
$ref: '#/components/schemas/timestamp'
|
|
621
|
+
geoCode:
|
|
622
|
+
$ref: '#/components/schemas/geoCode'
|
|
623
|
+
extensionList:
|
|
624
|
+
$ref: '#/components/schemas/extensionList'
|
|
625
|
+
|
|
626
|
+
transactionRequestResponse:
|
|
627
|
+
type: object
|
|
628
|
+
description: A response to a request for a quote
|
|
629
|
+
required:
|
|
630
|
+
- transactionId
|
|
631
|
+
- transactionRequestState
|
|
632
|
+
properties:
|
|
633
|
+
transactionId:
|
|
634
|
+
$ref: '#/components/schemas/transactionId'
|
|
635
|
+
transferAmount:
|
|
636
|
+
$ref: '#/components/schemas/transactionRequestState'
|
|
637
|
+
|
|
638
|
+
participantsResponse:
|
|
639
|
+
type: object
|
|
640
|
+
properties:
|
|
641
|
+
fspId:
|
|
642
|
+
$ref: '#/components/schemas/fspId'
|
|
643
|
+
|
|
644
|
+
fspId:
|
|
645
|
+
type: string
|
|
646
|
+
minLength: 1
|
|
647
|
+
maxLength: 32
|
|
648
|
+
|
|
649
|
+
payerType:
|
|
650
|
+
type: string
|
|
651
|
+
enum:
|
|
652
|
+
- CONSUMER
|
|
653
|
+
- AGENT
|
|
654
|
+
- BUSINESS
|
|
655
|
+
- DEVICE
|
|
656
|
+
|
|
657
|
+
amountType:
|
|
658
|
+
type: string
|
|
659
|
+
enum:
|
|
660
|
+
- SEND
|
|
661
|
+
- RECEIVE
|
|
662
|
+
|
|
663
|
+
transactionType:
|
|
664
|
+
type: string
|
|
665
|
+
enum:
|
|
666
|
+
- TRANSFER
|
|
667
|
+
- DEPOSIT
|
|
668
|
+
- PAYMENT
|
|
669
|
+
|
|
670
|
+
transactionRequestState:
|
|
671
|
+
type: string
|
|
672
|
+
enum:
|
|
673
|
+
- RECEIVED
|
|
674
|
+
- PENDING
|
|
675
|
+
- ACCEPTED
|
|
676
|
+
- REJECTED
|
|
677
|
+
|
|
678
|
+
transferRequest:
|
|
679
|
+
type: object
|
|
680
|
+
required:
|
|
681
|
+
- transferId
|
|
682
|
+
- currency
|
|
683
|
+
- amount
|
|
684
|
+
properties:
|
|
685
|
+
transferId:
|
|
686
|
+
$ref: '#/components/schemas/transferId'
|
|
687
|
+
quote:
|
|
688
|
+
$ref: '#/components/schemas/quoteResponse'
|
|
689
|
+
from:
|
|
690
|
+
$ref: '#/components/schemas/transferParty'
|
|
691
|
+
to:
|
|
692
|
+
$ref: '#/components/schemas/transferParty'
|
|
693
|
+
amountType:
|
|
694
|
+
$ref: '#/components/schemas/amountType'
|
|
695
|
+
currency:
|
|
696
|
+
$ref: '#/components/schemas/currency'
|
|
697
|
+
amount:
|
|
698
|
+
$ref: '#/components/schemas/money'
|
|
699
|
+
transactionType:
|
|
700
|
+
$ref: '#/components/schemas/transactionType'
|
|
701
|
+
note:
|
|
702
|
+
maxLength: 128
|
|
703
|
+
type: string
|
|
704
|
+
|
|
705
|
+
otpDetails:
|
|
706
|
+
type: object
|
|
707
|
+
required:
|
|
708
|
+
- otpValue
|
|
709
|
+
properties:
|
|
710
|
+
otpValue:
|
|
711
|
+
type: string
|
|
712
|
+
description: OTP value
|
|
713
|
+
|
|
714
|
+
idType:
|
|
715
|
+
type: string
|
|
716
|
+
enum:
|
|
717
|
+
- MSISDN
|
|
718
|
+
- ACCOUNT_NO
|
|
719
|
+
- EMAIL
|
|
720
|
+
- PERSONAL_ID
|
|
721
|
+
- BUSINESS
|
|
722
|
+
- DEVICE
|
|
723
|
+
- ACCOUNT_ID
|
|
724
|
+
- IBAN
|
|
725
|
+
- ALIAS
|
|
726
|
+
|
|
727
|
+
idValue:
|
|
728
|
+
type: string
|
|
729
|
+
minLength: 1
|
|
730
|
+
maxLength: 128
|
|
731
|
+
|
|
732
|
+
subIdValue:
|
|
733
|
+
type: string
|
|
734
|
+
minLength: 1
|
|
735
|
+
maxLength: 128
|
|
736
|
+
|
|
737
|
+
money:
|
|
738
|
+
pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
|
|
739
|
+
type: string
|
|
740
|
+
|
|
741
|
+
transferResponse:
|
|
742
|
+
type: object
|
|
743
|
+
required:
|
|
744
|
+
- homeTransactionId
|
|
745
|
+
properties:
|
|
746
|
+
homeTransactionId:
|
|
747
|
+
type: string
|
|
748
|
+
description: Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems
|
|
749
|
+
|
|
750
|
+
currency:
|
|
751
|
+
maxLength: 3
|
|
752
|
+
minLength: 3
|
|
753
|
+
type: string
|
|
754
|
+
|
|
755
|
+
transferId:
|
|
756
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$|^[0-9A-HJKMNP-TV-Z]{26}$
|
|
757
|
+
type: string
|
|
758
|
+
description: A Mojaloop API transfer identifier (UUID/ULID)
|
|
759
|
+
|
|
760
|
+
quoteId:
|
|
761
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$|^[0-9A-HJKMNP-TV-Z]{26}$
|
|
762
|
+
type: string
|
|
763
|
+
description: A Mojaloop API quote identifier (UUID/ULID)
|
|
764
|
+
|
|
765
|
+
transactionRequestId:
|
|
766
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$|^[0-9A-HJKMNP-TV-Z]{26}$
|
|
767
|
+
type: string
|
|
768
|
+
description: A Mojaloop API transaction request identifier (UUID/ULID)
|
|
769
|
+
|
|
770
|
+
transactionId:
|
|
771
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$|^[0-9A-HJKMNP-TV-Z]{26}$
|
|
772
|
+
type: string
|
|
773
|
+
description: ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote
|
|
774
|
+
|
|
775
|
+
transferParty:
|
|
776
|
+
type: object
|
|
777
|
+
required:
|
|
778
|
+
- idType
|
|
779
|
+
- idValue
|
|
780
|
+
properties:
|
|
781
|
+
type:
|
|
782
|
+
$ref: '#/components/schemas/payerType'
|
|
783
|
+
idType:
|
|
784
|
+
$ref: '#/components/schemas/idType'
|
|
785
|
+
idValue:
|
|
786
|
+
type: string
|
|
787
|
+
description: The identifier string used to identify the sender
|
|
788
|
+
subIdValue:
|
|
789
|
+
type: string
|
|
790
|
+
description: The sub identifier string used to identify the sender
|
|
791
|
+
displayName:
|
|
792
|
+
type: string
|
|
793
|
+
description: Display name of the sender if known
|
|
794
|
+
firstName:
|
|
795
|
+
type: string
|
|
796
|
+
description: Party first name
|
|
797
|
+
middleName:
|
|
798
|
+
type: string
|
|
799
|
+
description: Party moddle name
|
|
800
|
+
lastName:
|
|
801
|
+
type: string
|
|
802
|
+
description: Party last name
|
|
803
|
+
dateOfBirth:
|
|
804
|
+
$ref: '#/components/schemas/dateOfBirth'
|
|
805
|
+
merchantClassificationCode:
|
|
806
|
+
type: string
|
|
807
|
+
description: Up to 4 digits specifying the senders merchant classification, if known and applicable
|
|
808
|
+
|
|
809
|
+
bulkQuoteRequest:
|
|
810
|
+
type: object
|
|
811
|
+
description: A request for a bulk quote
|
|
812
|
+
required:
|
|
813
|
+
- bulkQuoteId
|
|
814
|
+
- from
|
|
815
|
+
- individualQuotes
|
|
816
|
+
properties:
|
|
817
|
+
bulkQuoteId:
|
|
818
|
+
$ref: '#/components/schemas/bulkQuoteId'
|
|
819
|
+
from:
|
|
820
|
+
$ref: '#/components/schemas/transferParty'
|
|
821
|
+
geoCode:
|
|
822
|
+
$ref: '#/components/schemas/geoCode'
|
|
823
|
+
expiration:
|
|
824
|
+
$ref: '#/components/schemas/timestamp'
|
|
825
|
+
individualQuotes:
|
|
826
|
+
type: array
|
|
827
|
+
minItems: 1
|
|
828
|
+
maxItems: 1000
|
|
829
|
+
items:
|
|
830
|
+
$ref: '#/components/schemas/IndividualQuote'
|
|
831
|
+
|
|
832
|
+
bulkQuoteResponse:
|
|
833
|
+
type: object
|
|
834
|
+
description: A response to a request for a bulk quote
|
|
835
|
+
required:
|
|
836
|
+
- bulkQuoteId
|
|
837
|
+
- individualQuoteResults
|
|
838
|
+
properties:
|
|
839
|
+
bulkQuoteId:
|
|
840
|
+
$ref: '#/components/schemas/bulkQuoteId'
|
|
841
|
+
expiration:
|
|
842
|
+
$ref: '#/components/schemas/timestamp'
|
|
843
|
+
individualQuoteResults:
|
|
844
|
+
type: array
|
|
845
|
+
minItems: 1
|
|
846
|
+
maxItems: 1000
|
|
847
|
+
items:
|
|
848
|
+
$ref: '#/components/schemas/IndividualQuoteResult'
|
|
849
|
+
description: Fees for each individual transaction, if any of them are charged per
|
|
850
|
+
transaction.
|
|
851
|
+
|
|
852
|
+
IndividualQuote:
|
|
853
|
+
type: object
|
|
854
|
+
description: Data model for individual quote in a bulk quote request
|
|
855
|
+
required:
|
|
856
|
+
- quoteId
|
|
857
|
+
- transactionId
|
|
858
|
+
- to
|
|
859
|
+
- amountType
|
|
860
|
+
- amount
|
|
861
|
+
- currency
|
|
862
|
+
- transactionType
|
|
863
|
+
- initiator
|
|
864
|
+
- initiatorType
|
|
865
|
+
properties:
|
|
866
|
+
quoteId:
|
|
867
|
+
$ref: '#/components/schemas/quoteId'
|
|
868
|
+
transactionId:
|
|
869
|
+
$ref: '#/components/schemas/transactionId'
|
|
870
|
+
to:
|
|
871
|
+
$ref: '#/components/schemas/transferParty'
|
|
872
|
+
amountType:
|
|
873
|
+
$ref: '#/components/schemas/amountType'
|
|
874
|
+
amount:
|
|
875
|
+
$ref: '#/components/schemas/money'
|
|
876
|
+
currency:
|
|
877
|
+
$ref: '#/components/schemas/currency'
|
|
878
|
+
feesAmount:
|
|
879
|
+
$ref: '#/components/schemas/money'
|
|
880
|
+
feesCurrency:
|
|
881
|
+
$ref: '#/components/schemas/currency'
|
|
882
|
+
transactionType:
|
|
883
|
+
$ref: '#/components/schemas/transactionType'
|
|
884
|
+
initiator:
|
|
885
|
+
$ref: '#/components/schemas/initiator'
|
|
886
|
+
initiatorType:
|
|
887
|
+
$ref: '#/components/schemas/initiatorType'
|
|
888
|
+
note:
|
|
889
|
+
type: string
|
|
890
|
+
minLength: 1
|
|
891
|
+
maxLength: 128
|
|
892
|
+
description: An optional note associated with the quote
|
|
893
|
+
|
|
894
|
+
IndividualQuoteResult:
|
|
895
|
+
type: object
|
|
896
|
+
description: Data model for individual quote in a bulk quote response
|
|
897
|
+
properties:
|
|
898
|
+
quoteId:
|
|
899
|
+
$ref: '#/components/schemas/quoteId'
|
|
900
|
+
transferAmount:
|
|
901
|
+
$ref: '#/components/schemas/money'
|
|
902
|
+
transferAmountCurrency:
|
|
903
|
+
$ref: '#/components/schemas/currency'
|
|
904
|
+
payeeReceiveAmount:
|
|
905
|
+
$ref: '#/components/schemas/money'
|
|
906
|
+
payeeReceiveAmountCurrency:
|
|
907
|
+
$ref: '#/components/schemas/currency'
|
|
908
|
+
payeeFspFeeAmount:
|
|
909
|
+
$ref: '#/components/schemas/money'
|
|
910
|
+
payeeFspFeeAmountCurrency:
|
|
911
|
+
$ref: '#/components/schemas/currency'
|
|
912
|
+
payeeFspCommissionAmount:
|
|
913
|
+
$ref: '#/components/schemas/money'
|
|
914
|
+
payeeFspCommissionAmountCurrency:
|
|
915
|
+
$ref: '#/components/schemas/currency'
|
|
916
|
+
|
|
917
|
+
bulkQuoteId:
|
|
918
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$|^[0-9A-HJKMNP-TV-Z]{26}$
|
|
919
|
+
type: string
|
|
920
|
+
description: A Mojaloop API bulk quote identifier (UUID/ULID)
|
|
921
|
+
|
|
922
|
+
bulkTransferRequest:
|
|
923
|
+
type: object
|
|
924
|
+
required:
|
|
925
|
+
- bulkTransferId
|
|
926
|
+
- individualTransfers
|
|
927
|
+
properties:
|
|
928
|
+
bulkTransferId:
|
|
929
|
+
$ref: '#/components/schemas/bulkTransferId'
|
|
930
|
+
bulkQuote:
|
|
931
|
+
$ref: '#/components/schemas/bulkQuoteResponse'
|
|
932
|
+
from:
|
|
933
|
+
$ref: '#/components/schemas/transferParty'
|
|
934
|
+
individualTransfers:
|
|
935
|
+
type: array
|
|
936
|
+
minItems: 1
|
|
937
|
+
maxItems: 1000
|
|
938
|
+
items:
|
|
939
|
+
$ref: '#/components/schemas/IndividualTransfer'
|
|
940
|
+
|
|
941
|
+
IndividualTransfer:
|
|
942
|
+
type: object
|
|
943
|
+
description: Data model for individual transfer in a bulk transfer request
|
|
944
|
+
required:
|
|
945
|
+
- transferId
|
|
946
|
+
- amount
|
|
947
|
+
- currency
|
|
948
|
+
properties:
|
|
949
|
+
transferId:
|
|
950
|
+
$ref: '#/components/schemas/transferId'
|
|
951
|
+
to:
|
|
952
|
+
$ref: '#/components/schemas/transferParty'
|
|
953
|
+
amountType:
|
|
954
|
+
$ref: '#/components/schemas/amountType'
|
|
955
|
+
amount:
|
|
956
|
+
$ref: '#/components/schemas/money'
|
|
957
|
+
currency:
|
|
958
|
+
$ref: '#/components/schemas/currency'
|
|
959
|
+
feesAmount:
|
|
960
|
+
$ref: '#/components/schemas/money'
|
|
961
|
+
feesCurrency:
|
|
962
|
+
$ref: '#/components/schemas/currency'
|
|
963
|
+
transactionType:
|
|
964
|
+
$ref: '#/components/schemas/transactionType'
|
|
965
|
+
initiator:
|
|
966
|
+
$ref: '#/components/schemas/initiator'
|
|
967
|
+
initiatorType:
|
|
968
|
+
$ref: '#/components/schemas/initiatorType'
|
|
969
|
+
note:
|
|
970
|
+
type: string
|
|
971
|
+
minLength: 1
|
|
972
|
+
maxLength: 128
|
|
973
|
+
description: An optional note associated with the quote
|
|
974
|
+
|
|
975
|
+
IndividualTransferResult:
|
|
976
|
+
type: object
|
|
977
|
+
description: Data model for individual transfer in a bulk transfer response
|
|
978
|
+
required:
|
|
979
|
+
- transferId
|
|
980
|
+
properties:
|
|
981
|
+
transferId:
|
|
982
|
+
$ref: '#/components/schemas/transferId'
|
|
983
|
+
extensionList:
|
|
984
|
+
$ref: '#/components/schemas/extensionList'
|
|
985
|
+
|
|
986
|
+
bulkTransferResponse:
|
|
987
|
+
type: object
|
|
988
|
+
required:
|
|
989
|
+
- homeTransactionId
|
|
990
|
+
properties:
|
|
991
|
+
bulkTransferId:
|
|
992
|
+
$ref: '#/components/schemas/bulkTransferId'
|
|
993
|
+
homeTransactionId:
|
|
994
|
+
type: string
|
|
995
|
+
description: Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems
|
|
996
|
+
individualTransferResults:
|
|
997
|
+
type: array
|
|
998
|
+
minItems: 1
|
|
999
|
+
maxItems: 1000
|
|
1000
|
+
items:
|
|
1001
|
+
$ref: '#/components/schemas/IndividualTransferResult'
|
|
1002
|
+
|
|
1003
|
+
bulkTransferId:
|
|
1004
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$|^[0-9A-HJKMNP-TV-Z]{26}$
|
|
1005
|
+
type: string
|
|
1006
|
+
description: A Mojaloop API transfer identifier (UUID/ULID)
|
|
1007
|
+
|
|
1008
|
+
geoCode:
|
|
1009
|
+
type: object
|
|
1010
|
+
description: Indicates the geographic location from where the transaction was initiated.
|
|
1011
|
+
properties:
|
|
1012
|
+
latitude:
|
|
1013
|
+
$ref: '#/components/schemas/latitude'
|
|
1014
|
+
longitude:
|
|
1015
|
+
$ref: '#/components/schemas/longitude'
|
|
1016
|
+
required:
|
|
1017
|
+
- latitude
|
|
1018
|
+
- longitude
|
|
1019
|
+
|
|
1020
|
+
latitude:
|
|
1021
|
+
type: string
|
|
1022
|
+
pattern: ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
|
|
1023
|
+
description: The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
|
|
1024
|
+
|
|
1025
|
+
longitude:
|
|
1026
|
+
type: string
|
|
1027
|
+
pattern: ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
|
|
1028
|
+
description: The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
|
|
1029
|
+
|
|
1030
|
+
errorResponse:
|
|
1031
|
+
type: object
|
|
1032
|
+
properties:
|
|
1033
|
+
statusCode:
|
|
1034
|
+
type: string
|
|
1035
|
+
description: Error code as string
|
|
1036
|
+
message:
|
|
1037
|
+
type: string
|
|
1038
|
+
description: Error message text
|
|
1039
|
+
|
|
1040
|
+
extensionList:
|
|
1041
|
+
type: array
|
|
1042
|
+
items:
|
|
1043
|
+
$ref: '#/components/schemas/extensionItem'
|
|
1044
|
+
minItems: 0
|
|
1045
|
+
maxItems: 16
|
|
1046
|
+
|
|
1047
|
+
extensionItem:
|
|
1048
|
+
type: object
|
|
1049
|
+
properties:
|
|
1050
|
+
key:
|
|
1051
|
+
type: string
|
|
1052
|
+
minLength: 1
|
|
1053
|
+
maxLength: 32
|
|
1054
|
+
value:
|
|
1055
|
+
type: string
|
|
1056
|
+
minLength: 1
|
|
1057
|
+
maxLength: 128
|
|
1058
|
+
|
|
1059
|
+
transferState:
|
|
1060
|
+
type: string
|
|
1061
|
+
enum:
|
|
1062
|
+
- RECEIVED
|
|
1063
|
+
- RESERVED
|
|
1064
|
+
- COMMITTED
|
|
1065
|
+
- ABORTED
|
|
1066
|
+
description: >
|
|
1067
|
+
Below are the allowed values for the enumeration
|
|
1068
|
+
- RECEIVED DFSP has received the transfer.
|
|
1069
|
+
- RESERVED DFSP has reserved the transfer.
|
|
1070
|
+
- COMMITTED DFSP has successfully performed the transfer.
|
|
1071
|
+
- ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer.
|
|
1072
|
+
|
|
1073
|
+
fulfilNotification:
|
|
1074
|
+
title: TransfersIDPatchResponse
|
|
1075
|
+
type: object
|
|
1076
|
+
description: PUT /transfers/{transferId} object
|
|
1077
|
+
properties:
|
|
1078
|
+
completedTimestamp:
|
|
1079
|
+
$ref: '#/components/schemas/timestamp'
|
|
1080
|
+
transferState:
|
|
1081
|
+
$ref: '#/components/schemas/transferState'
|
|
1082
|
+
extensionList:
|
|
1083
|
+
$ref: '#/components/schemas/extensionList'
|
|
1084
|
+
required:
|
|
1085
|
+
- completedTimestamp
|
|
1086
|
+
- transferState
|
|
1087
|
+
|