From 0c27bbb81c8ced736057c2a338f318e2384a533b Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 13:44:04 +0200 Subject: [PATCH 01/20] feat(mojaloop/3018): [SDK-Scheme-Adapter] TransactionId is being used instead of TransferId feat(mojaloop/3018): [SDK-Scheme-Adapter] TransactionId is being used instead of TransferId - https://github.com/mojaloop/project/issues/3018 - bumped api-snippets to v17.0.0-snapshot.0 --> TODO: Upgrade this to final version once PR (https://github.com/mojaloop/api-snippets/pull/148) has been merged - updated applicable events to include the transferId - updated aggregate handlers to correctly map the transferId instead of the transactionId - updated TTK API definitions for SDK Outbound API specifications (copied from API-Snippets) - updated TTK Test Case "bulk_happy_path_dynamic" to correctly use the transferId instead of the transactionId chore: improvements to docker-compose for debugging - added "start:debug" to each of the modules to start with debugging enabled - updated docker-compose to use the "start:debug" command to be able to attach and debug issues --- modules/api-svc/package.json | 3 +- .../package.json | 4 +- .../handlers/process_bulk_quotes_callback.ts | 1 + .../handlers/process_party_info_callback.ts | 4 +- ...ess_sdk_outbound_bulk_accept_party_info.ts | 4 +- .../process_sdk_outbound_bulk_accept_quote.ts | 4 +- .../package.json | 4 +- modules/private-shared-lib/package.json | 2 +- ...tbound_bulk_accept_party_info_requested.ts | 1 + ...dk_outbound_bulk_accept_quote_requested.ts | 1 + .../api_spec.yaml | 5867 ++++++++++++----- .../api_spec.yaml | 22 +- .../api_spec.yaml | 22 +- .../api_spec.yaml | 22 +- test/func/docker-compose.yml | 9 +- .../bulk_happy_path_dynamic.json | 9 +- yarn.lock | 16 +- 17 files changed, 4303 insertions(+), 1692 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 7e65d7e06..742246199 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -18,6 +18,7 @@ }, "scripts": { "start": "node src/index.js", + "start:debug": "node --inspect=0.0.0.0:9229 src/index.js", "build": "yarn run build:openapi", "build:openapi": "yarn run build:openapi:inbound", "build:openapi:inbound": "openapi bundle --output ./src/InboundServer/api.yaml --ext yaml ./src/InboundServer/api_template.yaml", @@ -60,7 +61,7 @@ }, "dependencies": { "@koa/cors": "^4.0.0", - "@mojaloop/api-snippets": "^16.0.6", + "@mojaloop/api-snippets": "17.0.0-snapshot.0", "@mojaloop/central-services-error-handling": "^12.0.5", "@mojaloop/central-services-logger": "^11.0.1", "@mojaloop/central-services-metrics": "^12.0.5", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index 2d18486dc..d4ce07f9c 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -18,8 +18,10 @@ ], "scripts": { "start": "yarn run service", + "start:debug": "yarn run service:debug", "start:dev": "ts-node src/application/index.ts", "service": "node dist/application/index.js", + "service:debug": "node --inspect=0.0.0.0:9229 dist/application/index.js", "build": "tsc && yarn run copy-files", "watch": "tsc -w", "dev": "nodemon", @@ -39,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "^16.0.6", + "@mojaloop/api-snippets": "17.0.0-snapshot.0", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", diff --git a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts index 30164f6ae..50ad3acbe 100755 --- a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts +++ b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts @@ -180,6 +180,7 @@ export async function handleProcessBulkQuotesCallbackCmdEvt( individualTransferResults.push({ homeTransactionId: individualTransfer.request.homeTransactionId, + transferId: individualTransfer.id, transactionId: individualTransfer.transactionId, quoteResponse: individualTransfer.quoteResponse, lastError: individualTransfer.lastError && { diff --git a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_party_info_callback.ts b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_party_info_callback.ts index 4b1b757a6..ff5b75900 100755 --- a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_party_info_callback.ts +++ b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_party_info_callback.ts @@ -27,7 +27,6 @@ import { ILogger } from '@mojaloop/logging-bc-public-types-lib'; import { CommandEvent, - IndividualTransferEntity, IndividualTransferInternalState, ProcessPartyInfoCallbackCmdEvt, PartyInfoCallbackProcessedDmEvt, @@ -150,7 +149,8 @@ export async function handleProcessPartyInfoCallbackCmdEvt( // set. `transactionId` and `homeTransaction` still need to be set. individualTransferResults.push({ homeTransactionId: individualTransferData.request.homeTransactionId, - transactionId: individualTransferData.id, + transferId: individualTransferData.id, + transactionId: individualTransferData.transactionId, // NOTE: This is not available at this time as batches have not been generated yet. to: individualTransferData.partyResponse?.party, lastError, }); diff --git a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_party_info.ts b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_party_info.ts index b93ce0ec1..b6e1e58f7 100755 --- a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_party_info.ts +++ b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_party_info.ts @@ -59,9 +59,9 @@ export async function handleProcessSDKOutboundBulkAcceptPartyInfoCmdEvt( try { // TODO: Confirm the field name transactionId in the individualTransfer from the message individualTransfer = - await bulkTransactionAgg.getIndividualTransferById(individualTransferFromMessage.transactionId); + await bulkTransactionAgg.getIndividualTransferById(individualTransferFromMessage.transferId); } catch { - logger.warn(`Can not find the individual transfer with id ${individualTransferFromMessage.transactionId} in bulk transaction`); + logger.warn(`Can not find the individual transfer with id ${individualTransferFromMessage.transferId} in bulk transaction`); continue; } diff --git a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts index 6c0caed1a..685e72e8a 100755 --- a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts +++ b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts @@ -60,9 +60,9 @@ export async function handleProcessSDKOutboundBulkAcceptQuoteCmdEvt( try { // TODO: Confirm the field name transactionId in the individualTransfer from the message individualTransfer = - await bulkTransactionAgg.getIndividualTransferById(individualTransferFromMessage.transactionId); + await bulkTransactionAgg.getIndividualTransferById(individualTransferFromMessage.transferId); } catch { - logger.warn(`Can not find the individual transfer with id ${individualTransferFromMessage.transactionId} in bulk transaction`); + logger.warn(`Can not find the individual transfer with id ${individualTransferFromMessage.transferId} in bulk transaction`); continue; } diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index 4dc4cf8d4..0ccefc3ff 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -18,8 +18,10 @@ ], "scripts": { "start": "yarn run service", + "start:debug": "yarn run service:debug", "start:dev": "ts-node src/application/index.ts", "service": "node dist/application/index.js", + "service:debug": "node --inspect=0.0.0.0:9229 dist/application/index.js", "build": "tsc && yarn run copy-files", "watch": "tsc -w", "dev": "nodemon", @@ -39,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "^16.0.6", + "@mojaloop/api-snippets": "17.0.0-snapshot.0", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index c3a59540a..cd9c1c9ce 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -27,7 +27,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "^16.0.6", + "@mojaloop/api-snippets": "17.0.0-snapshot.0", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/platform-shared-lib-messaging-types-lib": "^0.2.18", diff --git a/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_party_info_requested.ts b/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_party_info_requested.ts index 4847b54ba..d092b429e 100644 --- a/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_party_info_requested.ts +++ b/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_party_info_requested.ts @@ -31,6 +31,7 @@ import { IndividualTransferError } from '@module-domain'; export type CoreConnectorBulkAcceptPartyInfoRequestIndividualTransferResult = { homeTransactionId: SDKSchemeAdapter.V2_0_0.Outbound.Types.bulkTransactionIndividualTransfer['homeTransactionId']; + transferId: string; transactionId: string; to?: SDKSchemeAdapter.V2_0_0.Outbound.Types.Party; lastError: IndividualTransferError diff --git a/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts b/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts index 370d84526..db1abaed9 100644 --- a/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts +++ b/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts @@ -33,6 +33,7 @@ import { IndividualTransferError } from '@module-domain'; // For now we are defining these types here. export type CoreConnectorBulkAcceptQuoteRequestIndividualTransferResult = { homeTransactionId: SDKSchemeAdapter.V2_0_0.Outbound.Types.bulkTransactionIndividualTransfer['homeTransactionId']; + transferId: string, transactionId: string; quoteResponse?: SDKSchemeAdapter.V2_0_0.Outbound.Types.individualQuoteResult; lastError: IndividualTransferError diff --git a/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 63b6243c2..83dd10661 100644 --- a/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -16,8 +16,8 @@ info: **Note on terminology:** The term "Switch" is equal to the term "Hub", and the term "FSP" is equal to the term "DFSP". license: - name: 'Apache License Version 2.0, January 2004' - url: 'http://www.apache.org/licenses/' + name: Apache License Version 2.0, January 2004 + url: https://github.com/mojaloop/documentation/blob/master/LICENSE.md version: 1.0.0 paths: /: @@ -78,18 +78,941 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/transferRequest' + type: object + required: &ref_70 + - homeTransactionId + - from + - to + - amountType + - currency + - amount + - transactionType + properties: &ref_71 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + from: + type: object + required: &ref_0 + - idType + - idValue + properties: &ref_1 + type: + title: TransactionInitiatorType + type: string + enum: &ref_52 + - CONSUMER + - AGENT + - BUSINESS + - DEVICE + description: >- + Below are the allowed values for the enumeration. + + - CONSUMER - Consumer is the initiator of the + transaction. + + - AGENT - Agent is the initiator of the transaction. + + - BUSINESS - Business is the initiator of the + transaction. + + - DEVICE - Device is the initiator of the transaction. + example: CONSUMER + idType: + title: PartyIdType + type: string + enum: &ref_23 + - MSISDN + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS + description: >- + Below are the allowed values for the enumeration. + + - MSISDN - An MSISDN (Mobile Station International + Subscriber Directory Number, that is, the phone number) + is used as reference to a participant. The MSISDN + identifier should be in international format according + to the [ITU-T E.164 + standard](https://www.itu.int/rec/T-REC-E.164/en). + Optionally, the MSISDN may be prefixed by a single plus + sign, indicating the international prefix. + + - EMAIL - An email is used as reference to a + participant. The format of the email should be according + to the informational [RFC + 3696](https://tools.ietf.org/html/rfc3696). + + - PERSONAL_ID - A personal identifier is used as + reference to a participant. Examples of personal + identification are passport number, birth certificate + number, and national registration number. The identifier + number is added in the PartyIdentifier element. The + personal identifier type is added in the + PartySubIdOrType element. + + - BUSINESS - A specific Business (for example, an + organization or a company) is used as reference to a + participant. The BUSINESS identifier can be in any + format. To make a transaction connected to a specific + username or bill number in a Business, the + PartySubIdOrType element should be used. + + - DEVICE - A specific device (for example, a POS or ATM) + ID connected to a specific business or organization is + used as reference to a Party. For referencing a specific + device under a specific business or organization, use + the PartySubIdOrType element. + + - ACCOUNT_ID - A bank account number or FSP account ID + should be used as reference to a participant. The + ACCOUNT_ID identifier can be in any format, as formats + can greatly differ depending on country and FSP. + + - IBAN - A bank account number or FSP account ID is used + as reference to a participant. The IBAN identifier can + consist of up to 34 alphanumeric characters and should + be entered without whitespace. + + - ALIAS An alias is used as reference to a participant. + The alias should be created in the FSP as an alternative + reference to an account owner. Another example of an + alias is a username in the FSP system. The ALIAS + identifier can be in any format. It is also possible to + use the PartySubIdOrType element for identifying an + account under an Alias defined by the PartyIdentifier. + idValue: + title: PartyIdentifier + type: string + minLength: 1 + maxLength: 128 + description: Identifier of the Party. + example: '16135551212' + idSubValue: + title: PartySubIdOrType + type: string + minLength: 1 + maxLength: 128 + description: >- + Either a sub-identifier of a PartyIdentifier, or a + sub-type of the PartyIdType, normally a + PersonalIdentifierType. + displayName: + title: Name + type: string + pattern: ^(?!\s*$)[\w .,'-]{1,128}$ + description: >- + The API data type Name is a JSON String, restricted by a + regular expression to avoid characters which are + generally not used in a name. + + + Regular Expression - The regular expression for + restricting the Name type is "^(?!\s*$)[\w + .,'-]{1,128}$". The restriction does not allow a string + consisting of whitespace only, all Unicode characters + are allowed, as well as the period (.) (apostrophe (‘), + dash (-), comma (,) and space characters ( ). + + + **Note:** In some programming languages, Unicode support + must be specifically enabled. For example, if Java is + used, the flag UNICODE_CHARACTER_CLASS must be enabled + to allow Unicode characters. + firstName: + title: FirstName + type: string + minLength: 1 + maxLength: 128 + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ + description: First name of the Party (Name Type). + example: Henrik + middleName: + title: MiddleName + type: string + minLength: 1 + maxLength: 128 + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ + description: Middle name of the Party (Name Type). + example: Johannes + lastName: + title: LastName + type: string + minLength: 1 + maxLength: 128 + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ + description: Last name of the Party (Name Type). + example: Karlsson + dateOfBirth: + title: DateofBirth (type Date) + type: string + 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)$ + description: Date of Birth of the Party. + example: '1966-06-16' + merchantClassificationCode: + title: MerchantClassificationCode + type: string + pattern: ^[\d]{1,4}$ + description: >- + A limited set of pre-defined numbers. This list would be + a limited set of numbers identifying a set of popular + merchant types like School Fees, Pubs and Restaurants, + Groceries, etc. + fspId: + title: FspId + type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. + extensionList: + type: array + items: &ref_2 + title: Extension + type: object + description: Data model for the complex type Extension. + properties: &ref_8 + key: + title: ExtensionKey + type: string + minLength: 1 + maxLength: 32 + description: Extension key. + value: + title: ExtensionValue + type: string + minLength: 1 + maxLength: 128 + description: Extension value. + required: &ref_9 + - key + - value + minItems: 0 + maxItems: 16 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: &ref_3 + - SEND + - RECEIVE + description: >- + Below are the allowed values for the enumeration AmountType. + + - SEND - Amount the Payer would like to send, that is, the + amount that should be withdrawn from the Payer account + including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to the + receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as + three-letter alphabetic codes are used as the standard + naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: &ref_4 + - AED + - AFN + - ALL + - AMD + - ANG + - AOA + - ARS + - AUD + - AWG + - AZN + - BAM + - BBD + - BDT + - BGN + - BHD + - BIF + - BMD + - BND + - BOB + - BRL + - BSD + - BTN + - BWP + - BYN + - BZD + - CAD + - CDF + - CHF + - CLP + - CNY + - COP + - CRC + - CUC + - CUP + - CVE + - CZK + - DJF + - DKK + - DOP + - DZD + - EGP + - ERN + - ETB + - EUR + - FJD + - FKP + - GBP + - GEL + - GGP + - GHS + - GIP + - GMD + - GNF + - GTQ + - GYD + - HKD + - HNL + - HRK + - HTG + - HUF + - IDR + - ILS + - IMP + - INR + - IQD + - IRR + - ISK + - JEP + - JMD + - JOD + - JPY + - KES + - KGS + - KHR + - KMF + - KPW + - KRW + - KWD + - KYD + - KZT + - LAK + - LBP + - LKR + - LRD + - LSL + - LYD + - MAD + - MDL + - MGA + - MKD + - MMK + - MNT + - MOP + - MRO + - MUR + - MVR + - MWK + - MXN + - MYR + - MZN + - NAD + - NGN + - NIO + - NOK + - NPR + - NZD + - OMR + - PAB + - PEN + - PGK + - PHP + - PKR + - PLN + - PYG + - QAR + - RON + - RSD + - RUB + - RWF + - SAR + - SBD + - SCR + - SDG + - SEK + - SGD + - SHP + - SLL + - SOS + - SPL + - SRD + - STD + - SVC + - SYP + - SZL + - THB + - TJS + - TMT + - TND + - TOP + - TRY + - TTD + - TVD + - TWD + - TZS + - UAH + - UGX + - USD + - UYU + - UZS + - VEF + - VND + - VUV + - WST + - XAF + - XCD + - XDR + - XOF + - XPF + - XTS + - XXX + - YER + - ZAR + - ZMW + - ZWD + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a canonical + format that is restricted by a regular expression for + interoperability reasons. This pattern does not allow any + trailing zeroes at all, but allows an amount without a minor + currency unit. It also only allows four digits in the minor + currency unit; a negative value is not allowed. Using more + than 18 digits in the major currency unit is not allowed. + example: '123.45' + transactionType: + title: transferTransactionType + type: string + enum: &ref_5 + - TRANSFER + description: Type of transaction. + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + quoteRequestExtensions: + type: array + items: *ref_2 + minItems: 0 + maxItems: 16 + transferRequestExtensions: + type: array + items: *ref_2 + minItems: 0 + maxItems: 16 + skipPartyLookup: + description: >- + Set to true if supplying an FSPID for the payee party and no + party resolution is needed. This may be useful is a previous + party resolution has been performed. + type: boolean required: true responses: '200': - $ref: '#/components/responses/transferSuccess' + description: Transfer completed successfully + content: &ref_15 + application/json: + schema: + type: object + required: &ref_12 + - homeTransactionId + - from + - to + - amountType + - currency + - amount + - transactionType + properties: &ref_13 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + from: + type: object + required: *ref_0 + properties: *ref_1 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration + AmountType. + + - SEND - Amount the Payer would like to send, that is, the + amount that should be withdrawn from the Payer account + including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to the + receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as + three-letter alphabetic codes are used as the standard + naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a canonical + format that is restricted by a regular expression for + interoperability reasons. This pattern does not allow any + trailing zeroes at all, but allows an amount without a + minor currency unit. It also only allows four digits in + the minor currency unit; a negative value is not allowed. + Using more than 18 digits in the major currency unit is + not allowed. + example: '123.45' + transactionType: + title: transferTransactionType + type: string + enum: *ref_5 + description: Type of transaction. + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + currentState: + type: string + enum: &ref_19 + - ERROR_OCCURRED + - WAITING_FOR_PARTY_ACCEPTANCE + - WAITING_FOR_QUOTE_ACCEPTANCE + - COMPLETED + quoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + getPartiesResponse: + type: object + required: + - body + properties: + body: + type: object + headers: + type: object + quoteResponse: + type: object + required: + - body + properties: + body: + title: QuotesIDPutResponse + type: object + description: The object sent in the PUT /quotes/{ID} callback. + properties: &ref_56 + transferAmount: + title: Money + type: object + description: Data model for the complex type Money. + properties: &ref_6 + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) + as three-letter alphabetic codes are used as + the standard naming representation for + currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: >- + ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a + canonical format that is restricted by a + regular expression for interoperability + reasons. This pattern does not allow any + trailing zeroes at all, but allows an amount + without a minor currency unit. It also only + allows four digits in the minor currency unit; + a negative value is not allowed. Using more + than 18 digits in the major currency unit is + not allowed. + example: '123.45' + required: &ref_7 + - currency + - amount + payeeReceiveAmount: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeFspFee: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeFspCommission: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + expiration: + title: DateTime + type: string + 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)$ + description: >- + The API data type DateTime is a JSON String in a + lexical format that is restricted by a regular + expression for interoperability reasons. The + format is according to [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), + expressed in a combined date, time and time zone + format. A more readable version of the format is + yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", + "2016-05-24T08:38:08.699Z" (where Z indicates Zulu + time zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + geoCode: + title: GeoCode + type: object + description: >- + Data model for the complex type GeoCode. Indicates + the geographic location from where the transaction + was initiated. + properties: &ref_44 + latitude: + title: Latitude + type: string + pattern: >- + ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$ + description: >- + The API data type Latitude is a JSON String in + a lexical format that is restricted by a + regular expression for interoperability + reasons. + example: '+45.4215' + longitude: + title: Longitude + type: string + pattern: >- + ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ + description: >- + The API data type Longitude is a JSON String + in a lexical format that is restricted by a + regular expression for interoperability + reasons. + example: '+75.6972' + required: &ref_45 + - latitude + - longitude + ilpPacket: + title: IlpPacket + type: string + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ + minLength: 1 + maxLength: 32768 + description: >- + Information for recipient (transport layer + information). + example: >- + AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + title: IlpCondition + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: >- + Condition that must be attached to the transfer by + the Payer. + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to + deployment. + properties: &ref_10 + extension: + type: array + items: + title: Extension + type: object + description: Data model for the complex type Extension. + properties: *ref_8 + required: *ref_9 + minItems: 1 + maxItems: 16 + description: Number of Extension elements. + required: &ref_11 + - extension + required: &ref_57 + - transferAmount + - expiration + - ilpPacket + - condition + headers: + type: object + quoteResponseSource: + type: string + description: > + FSPID of the entity that supplied the quote response. This + may not be the same as the FSPID of the entity which owns + the end user account in the case of a FOREX transfer. i.e. + it may be a FOREX gateway. + fulfil: + type: object + required: + - body + properties: + body: + title: TransfersIDPutResponse + type: object + description: The object sent in the PUT /transfers/{ID} callback. + properties: &ref_20 + fulfilment: + title: IlpFulfilment + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: >- + Fulfilment that must be attached to the transfer + by the Payee. + example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + completedTimestamp: + title: DateTime + type: string + 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)$ + description: >- + The API data type DateTime is a JSON String in a + lexical format that is restricted by a regular + expression for interoperability reasons. The + format is according to [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), + expressed in a combined date, time and time zone + format. A more readable version of the format is + yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", + "2016-05-24T08:38:08.699Z" (where Z indicates Zulu + time zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + transferState: + title: TransferState + type: string + enum: &ref_27 + - RECEIVED + - RESERVED + - COMMITTED + - ABORTED + description: >- + Below are the allowed values for the enumeration. + + - RECEIVED - Next ledger has received the + transfer. + + - RESERVED - Next ledger has reserved the + transfer. + + - COMMITTED - Next ledger has successfully + performed the transfer. + + - ABORTED - Next ledger has aborted the transfer + due to a rejection or failure to perform the + transfer. + example: RESERVED + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to + deployment. + properties: *ref_10 + required: *ref_11 + required: &ref_21 + - transferState + headers: + type: object + lastError: + description: >- + This object represents a Mojaloop API error received at + any time during the transfer process + type: object + properties: &ref_26 + httpStatusCode: + type: integer + description: >- + The HTTP status code returned to the caller. This is + the same as the actual HTTP status code returned with + the response. + mojaloopError: + description: >- + If a transfer process results in an error callback + during the asynchronous Mojaloop API exchange, this + property will contain the underlying Mojaloop API + error object. + type: object + properties: &ref_36 + errorInformation: + title: ErrorInformation + type: object + description: Data model for the complex type ErrorInformation. + properties: &ref_63 + errorCode: + title: ErrorCode + type: string + pattern: ^[1-9]\d{3}$ + description: >- + The API data type ErrorCode is a JSON String + of four characters, consisting of digits only. + Negative numbers are not allowed. A leading + zero is not allowed. Each error code in the + API is a four-digit number, for example, 1234, + where the first number (1 in the example) + represents the high-level error category, the + second number (2 in the example) represents + the low-level error category, and the last two + numbers (34 in the example) represent the + specific error. + example: '5100' + errorDescription: + title: ErrorDescription + type: string + minLength: 1 + maxLength: 128 + description: Error description string. + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. + An optional list of extensions, specific to + deployment. + properties: *ref_10 + required: *ref_11 + required: &ref_64 + - errorCode + - errorDescription + skipPartyLookup: + description: >- + Set to true if supplying an FSPID for the payee party and + no party resolution is needed. This may be useful is a + previous party resolution has been performed. + type: boolean '400': - $ref: '#/components/responses/transferBadRequest' + description: Malformed or missing required body, headers or parameters + content: &ref_143 + application/json: + schema: + allOf: &ref_14 + - type: object + properties: &ref_22 + statusCode: + type: string + description: Error code as string. + message: + type: string + description: Error message text. + - type: object + required: + - transferState + properties: + transferState: + type: object + required: *ref_12 + properties: *ref_13 '500': - $ref: '#/components/responses/transferServerError' + description: An error occurred processing the transfer + content: &ref_16 + application/json: + schema: + allOf: *ref_14 '504': - $ref: '#/components/responses/transferTimeout' - '/transfers/{transferId}': + description: Timeout occurred processing the transfer + content: &ref_17 + application/json: + schema: + allOf: *ref_14 + /transfers/{transferId}: put: summary: >- Continues a transfer that has paused at the quote stage in order to @@ -114,17 +1037,55 @@ paths: application/json: schema: oneOf: - - $ref: '#/components/schemas/transferContinuationAcceptParty' - - $ref: '#/components/schemas/transferContinuationAcceptQuote' + - type: object + required: &ref_28 + - acceptParty + properties: &ref_29 + acceptParty: + type: boolean + enum: + - true + - false + - type: object + required: &ref_32 + - acceptQuote + properties: &ref_33 + acceptQuote: + type: boolean + enum: + - true + - false parameters: - - $ref: '#/components/parameters/transferId' + - name: transferId + in: path + required: true + schema: &ref_18 + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same sequence. The + API data type UUID (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is restricted by + a regular expression for interoperability reasons. A UUID is + always 36 characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + description: >- + Identifier of the transfer to continue as returned in the response + to a `POST /transfers` request. responses: '200': - $ref: '#/components/responses/transferSuccess' + description: Transfer completed successfully + content: *ref_15 '500': - $ref: '#/components/responses/transferServerError' + description: An error occurred processing the transfer + content: *ref_16 '504': - $ref: '#/components/responses/transferTimeout' + description: Timeout occurred processing the transfer + content: *ref_17 get: summary: Retrieves information for a specific transfer description: >- @@ -135,20 +1096,895 @@ paths: tags: - Transfers parameters: - - $ref: '#/components/parameters/transferId' + - name: transferId + in: path + required: true + schema: *ref_18 + description: >- + Identifier of the transfer to continue as returned in the response + to a `POST /transfers` request. responses: '200': description: Transfer information successfully retrieved content: application/json: schema: - $ref: '#/components/schemas/transferStatusResponse' + type: object + required: &ref_72 + - transferId + - currentState + - fulfil + properties: &ref_73 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + currentState: + type: string + enum: *ref_19 + fulfil: + type: object + required: + - body + properties: + body: + title: TransfersIDPutResponse + type: object + description: The object sent in the PUT /transfers/{ID} callback. + properties: *ref_20 + required: *ref_21 + headers: + type: object '500': description: An error occurred processing the transfer content: application/json: schema: - $ref: '#/components/schemas/errorResponse' + type: object + properties: *ref_22 + /bulkTransactions: + post: + summary: Sends money from one account to multiple accounts + description: > + The HTTP request `POST /bulkTransactions` is used to request the + movement of funds from payer DFSP to payees' DFSP. + tags: + - BulkTransactions + requestBody: + description: Bulk transfer request body + content: + application/json: + schema: + type: object + required: &ref_88 + - bulkTransactionId + - bulkHomeTransactionID + - options + - from + - individualTransfers + properties: &ref_89 + bulkHomeTransactionID: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + bulkTransactionId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, conforming + to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 hexadecimal + symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + options: + type: object + required: &ref_80 + - autoAcceptParty + - autoAcceptQuote + - bulkExpiration + properties: &ref_81 + onlyValidateParty: + description: >- + Set to true if only party validation is required. This + means the quotes and transfers will not run. This is + useful for only party resolution. + type: boolean + autoAcceptParty: + type: object + required: &ref_74 + - enabled + properties: &ref_75 + enabled: + type: boolean + enum: + - false + - true + autoAcceptQuote: + description: >- + Set to true if the quote response is accepted without + confirmation from the payer. The fees applied by the + payee will be acceptable to the payer abiding by the + limits set by optional 'perTransferFeeLimits' array. + type: object + oneOf: + - type: object + required: &ref_78 + - enabled + properties: &ref_79 + enabled: + type: boolean + enum: + - true + - false + perTransferFeeLimits: + type: array + minItems: 0 + items: + type: object + required: &ref_76 + - currency + - amount + properties: &ref_77 + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) + as three-letter alphabetic codes are used + as the standard naming representation for + currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: >- + ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String + in a canonical format that is restricted + by a regular expression for + interoperability reasons. This pattern + does not allow any trailing zeroes at all, + but allows an amount without a minor + currency unit. It also only allows four + digits in the minor currency unit; a + negative value is not allowed. Using more + than 18 digits in the major currency unit + is not allowed. + example: '123.45' + skipPartyLookup: + description: >- + Set to true if supplying an FSPID for the payee party + and no party resolution is needed. This may be useful if + a previous party resolution has been performed. + type: boolean + synchronous: + description: >- + Set to true if the bulkTransfer requests need be handled + synchronous. Otherwise the requests will be handled + asynchronously, meaning there will be callbacks + whenever the processing is done + type: boolean + bulkExpiration: + title: DateTime + type: string + 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)$ + description: >- + The API data type DateTime is a JSON String in a lexical + format that is restricted by a regular expression for + interoperability reasons. The format is according to + [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), + expressed in a combined date, time and time zone format. + A more readable version of the format is + yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", + "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time + zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + from: + title: Party + type: object + description: Data model for the complex type Party. + properties: &ref_24 + partyIdInfo: + title: PartyIdInfo + type: object + description: >- + Data model for the complex type PartyIdInfo. An + ExtensionList element has been added to this reqeust in + version v1.1 + properties: &ref_82 + partyIdType: + title: PartyIdType + type: string + enum: *ref_23 + description: >- + Below are the allowed values for the enumeration. + + - MSISDN - An MSISDN (Mobile Station International + Subscriber Directory Number, that is, the phone + number) is used as reference to a participant. The + MSISDN identifier should be in international format + according to the [ITU-T E.164 + standard](https://www.itu.int/rec/T-REC-E.164/en). + Optionally, the MSISDN may be prefixed by a single + plus sign, indicating the international prefix. + + - EMAIL - An email is used as reference to a + participant. The format of the email should be + according to the informational [RFC + 3696](https://tools.ietf.org/html/rfc3696). + + - PERSONAL_ID - A personal identifier is used as + reference to a participant. Examples of personal + identification are passport number, birth + certificate number, and national registration + number. The identifier number is added in the + PartyIdentifier element. The personal identifier + type is added in the PartySubIdOrType element. + + - BUSINESS - A specific Business (for example, an + organization or a company) is used as reference to a + participant. The BUSINESS identifier can be in any + format. To make a transaction connected to a + specific username or bill number in a Business, the + PartySubIdOrType element should be used. + + - DEVICE - A specific device (for example, a POS or + ATM) ID connected to a specific business or + organization is used as reference to a Party. For + referencing a specific device under a specific + business or organization, use the PartySubIdOrType + element. + + - ACCOUNT_ID - A bank account number or FSP account + ID should be used as reference to a participant. The + ACCOUNT_ID identifier can be in any format, as + formats can greatly differ depending on country and + FSP. + + - IBAN - A bank account number or FSP account ID is + used as reference to a participant. The IBAN + identifier can consist of up to 34 alphanumeric + characters and should be entered without whitespace. + + - ALIAS An alias is used as reference to a + participant. The alias should be created in the FSP + as an alternative reference to an account owner. + Another example of an alias is a username in the FSP + system. The ALIAS identifier can be in any format. + It is also possible to use the PartySubIdOrType + element for identifying an account under an Alias + defined by the PartyIdentifier. + partyIdentifier: + title: PartyIdentifier + type: string + minLength: 1 + maxLength: 128 + description: Identifier of the Party. + example: '16135551212' + partySubIdOrType: + title: PartySubIdOrType + type: string + minLength: 1 + maxLength: 128 + description: >- + Either a sub-identifier of a PartyIdentifier, or a + sub-type of the PartyIdType, normally a + PersonalIdentifierType. + fspId: + title: FspId + type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + required: &ref_83 + - partyIdType + - partyIdentifier + merchantClassificationCode: + title: MerchantClassificationCode + type: string + pattern: ^[\d]{1,4}$ + description: >- + A limited set of pre-defined numbers. This list would be + a limited set of numbers identifying a set of popular + merchant types like School Fees, Pubs and Restaurants, + Groceries, etc. + name: + title: PartyName + type: string + minLength: 1 + maxLength: 128 + description: Name of the Party. Could be a real name or a nickname. + personalInfo: + title: PartyPersonalInfo + type: object + description: Data model for the complex type PartyPersonalInfo. + properties: &ref_85 + complexName: + title: PartyComplexName + type: object + description: Data model for the complex type PartyComplexName. + properties: &ref_84 + firstName: + title: FirstName + type: string + minLength: 1 + maxLength: 128 + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ + description: First name of the Party (Name Type). + example: Henrik + middleName: + title: MiddleName + type: string + minLength: 1 + maxLength: 128 + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ + description: Middle name of the Party (Name Type). + example: Johannes + lastName: + title: LastName + type: string + minLength: 1 + maxLength: 128 + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ + description: Last name of the Party (Name Type). + example: Karlsson + dateOfBirth: + title: DateofBirth (type Date) + type: string + 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)$ + description: Date of Birth of the Party. + example: '1966-06-16' + required: &ref_25 + - partyIdInfo + individualTransfers: + description: List of individual transfers in a bulk transfer. + type: array + minItems: 1 + items: + title: BulkTransactionIndividualTransfer + type: object + description: >- + Data model for the complex type + 'bulkTransactionIndividualTransfer'. + properties: &ref_86 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to + reconcile transactions between the Switch and DFSP + backend systems. + to: + title: Party + type: object + description: Data model for the complex type Party. + properties: *ref_24 + required: *ref_25 + reference: + description: Payer Loan reference + type: string + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration + AmountType. + + - SEND - Amount the Payer would like to send, that is, + the amount that should be withdrawn from the Payer + account including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to + the receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) + as three-letter alphabetic codes are used as the + standard naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a + canonical format that is restricted by a regular + expression for interoperability reasons. This pattern + does not allow any trailing zeroes at all, but allows + an amount without a minor currency unit. It also only + allows four digits in the minor currency unit; a + negative value is not allowed. Using more than 18 + digits in the major currency unit is not allowed. + example: '123.45' + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + quoteExtensions: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + transferExtensions: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + lastError: + type: object + description: >- + This object represents a Mojaloop API error received + at any time during the transfer process + properties: *ref_26 + required: &ref_87 + - homeTransactionId + - to + - amountType + - currency + - amount + extensions: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An optional + list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + required: true + responses: + '202': + description: Bulk transfer accepted successfully + '400': + description: Malformed or missing required body, headers or parameters + content: &ref_41 + application/json: + schema: + allOf: &ref_92 + - type: object + properties: *ref_22 + - type: object + required: + - bulkTransferState + properties: + bulkTransferState: + type: object + required: &ref_39 + - bulkTransferId + - individualTransferResults + - currentState + properties: &ref_40 + bulkTransferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the + same sequence. The API data type UUID (Universally + Unique Identifier) is a JSON String in canonical + format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that + is restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 + dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + bulkQuoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the + same sequence. The API data type UUID (Universally + Unique Identifier) is a JSON String in canonical + format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that + is restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 + dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to + reconcile transactions between the Switch and DFSP + backend systems. + bulkTransferState: + title: TransferState + type: string + enum: *ref_27 + description: >- + Below are the allowed values for the enumeration. + + - RECEIVED - Next ledger has received the + transfer. + + - RESERVED - Next ledger has reserved the + transfer. + + - COMMITTED - Next ledger has successfully + performed the transfer. + + - ABORTED - Next ledger has aborted the transfer + due to a rejection or failure to perform the + transfer. + example: RESERVED + completedTimestamp: + title: DateTime + type: string + 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)$ + description: >- + The API data type DateTime is a JSON String in a + lexical format that is restricted by a regular + expression for interoperability reasons. The + format is according to [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), + expressed in a combined date, time and time zone + format. A more readable version of the format is + yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", + "2016-05-24T08:38:08.699Z" (where Z indicates Zulu + time zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to + deployment. + properties: *ref_10 + required: *ref_11 + currentState: + type: string + enum: &ref_43 + - ERROR_OCCURRED + - COMPLETED + individualTransferResults: + type: array + maxItems: 1000 + items: + type: object + required: &ref_90 + - transferId + properties: &ref_91 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of + the same sequence. The API data type UUID + (Universally Unique Identifier) is a JSON + String in canonical format, conforming to + [RFC + 4122](https://tools.ietf.org/html/rfc4122), + that is restricted by a regular expression + for interoperability reasons. A UUID is + always 36 characters long, 32 hexadecimal + symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + fulfilment: + description: >- + Fulfilment that must be attached to the + transfer by the Payee. + title: IlpFulfilment + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + extensionList: + description: >- + Data model for the complex type + ExtensionList. An optional list of + extensions, specific to deployment. + title: ExtensionList + type: object + properties: *ref_10 + required: *ref_11 + lastError: + type: object + description: >- + This object represents a Mojaloop API error + received at any time during the transfer + process + properties: *ref_26 + description: >- + List of individual transfer result in a bulk + transfer response. + '500': + description: Internal Server Error + content: &ref_42 + application/json: + schema: + type: object + properties: *ref_22 + /bulkTransactions/{bulkTransactionId}: + put: + summary: Amends the bulk transaction request + description: >- + The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to + amend information regarding a bulk transaction, i.e. when + autoAcceptParty or autoAcceptQuote is false then the payer need to + provide confirmation to proceed with further processing of the request. + The `{bulkTransactionId}` in the URI should contain the + `bulkTransactionId` that was used for the creation of the bulk transfer. + tags: + - BulkTransactions + parameters: + - name: bulkTransactionId + in: path + required: true + schema: &ref_159 + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same sequence. The + API data type UUID (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is restricted by + a regular expression for interoperability reasons. A UUID is + always 36 characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + description: >- + Identifier of the bulk transaction to continue as returned in the + response to a `POST /bulkTransaction` request. + requestBody: + description: Bulk transaction request body + content: + application/json: + schema: + oneOf: + - description: >- + The object sent back as confirmation of payee parties when + autoAcceptParty is false. + type: object + required: &ref_34 + - bulkHomeTransactionID + - individualTransfers + properties: &ref_35 + bulkHomeTransactionID: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend + systems. + individualTransfers: + description: >- + List of individual transfers in a bulk transfer with + accept party information. + type: array + minItems: 1 + items: + allOf: + - type: object + description: >- + Data model for the 'individualTransfer' while + accepting party or quote. + properties: &ref_30 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to + reconcile transactions between the Switch and + DFSP backend systems. + transactionId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the + same sequence. The API data type UUID + (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), + that is restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 + dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the + same sequence. The API data type UUID + (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), + that is restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 + dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + required: &ref_31 + - homeTransactionId + - transferId + - type: object + required: *ref_28 + properties: *ref_29 + - description: >- + The object sent back as confirmation of quotes when + autoAcceptQuotes is false. + type: object + required: &ref_37 + - bulkHomeTransactionID + - individualTransfers + properties: &ref_38 + bulkHomeTransactionID: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend + systems. + individualTransfers: + description: List of individual transfers in a bulk transfer. + type: array + minItems: 1 + items: + allOf: + - type: object + description: >- + Data model for the 'individualTransfer' while + accepting party or quote. + properties: *ref_30 + required: *ref_31 + - type: object + required: *ref_32 + properties: *ref_33 + required: true + responses: + '202': + description: Bulk transaction information successfully amended + '400': + description: Malformed or missing required body, headers or parameters + content: &ref_144 + application/json: + schema: + oneOf: + - allOf: &ref_94 + - type: object + properties: *ref_22 + - type: object + required: + - bulkTransferState + properties: + bulkTransferState: + allOf: + - description: >- + The object sent back as confirmation of payee + parties when autoAcceptParty is false. + type: object + required: *ref_34 + properties: *ref_35 + - type: object + description: >- + This object represents a Mojaloop API error + received at any time during the party + discovery process + properties: &ref_93 + httpStatusCode: + type: integer + description: >- + The HTTP status code returned to the + caller. This is the same as the actual + HTTP status code returned with the + response. + mojaloopError: + description: >- + If a transfer process results in an error + callback during the asynchronous Mojaloop + API exchange, this property will contain + the underlying Mojaloop API error object. + type: object + properties: *ref_36 + - allOf: &ref_95 + - type: object + properties: *ref_22 + - type: object + required: + - bulkTansferState + properties: + bulkTransferState: + allOf: + - description: >- + The object sent back as confirmation of quotes + when autoAcceptQuotes is false. + type: object + required: *ref_37 + properties: *ref_38 + - type: object + description: >- + This object represents a Mojaloop API error + received at any time during the quote process + properties: &ref_46 + httpStatusCode: + type: integer + description: >- + The HTTP status code returned to the + caller. This is the same as the actual + HTTP status code returned with the + response. + mojaloopError: + description: >- + If a quote process results in an error + callback during the asynchronous Mojaloop + API exchange, this property will contain + the underlying Mojaloop API error object. + type: object + properties: *ref_36 + '500': + description: An error occurred processing the bulk transaction + content: + application/json: + schema: + type: object + properties: *ref_22 /bulkTransfers: post: summary: Sends money from one account to multiple accounts @@ -162,42 +1998,288 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/bulkTransferRequest' + type: object + required: &ref_98 + - bulkTransferId + - homeTransactionId + - bulkQuoteId + - from + - individualTransfers + properties: &ref_99 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + bulkTransferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, conforming + to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 hexadecimal + symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + bulkQuoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, conforming + to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 hexadecimal + symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + from: + type: object + required: *ref_0 + properties: *ref_1 + individualTransfers: + description: List of individual transfers in a bulk transfer. + type: array + minItems: 1 + maxItems: 1000 + items: + title: IndividualTransfer + type: object + description: Data model for the complex type 'individualTransfer'. + properties: &ref_96 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration + AmountType. + + - SEND - Amount the Payer would like to send, that is, + the amount that should be withdrawn from the Payer + account including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to + the receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) + as three-letter alphabetic codes are used as the + standard naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a + canonical format that is restricted by a regular + expression for interoperability reasons. This pattern + does not allow any trailing zeroes at all, but allows + an amount without a minor currency unit. It also only + allows four digits in the minor currency unit; a + negative value is not allowed. Using more than 18 + digits in the major currency unit is not allowed. + example: '123.45' + transactionType: + title: transferTransactionType + type: string + enum: *ref_5 + description: Type of transaction. + ilpPacket: + title: IlpPacket + type: string + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ + minLength: 1 + maxLength: 32768 + description: >- + Information for recipient (transport layer + information). + example: >- + AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + title: IlpCondition + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: >- + Condition that must be attached to the transfer by the + Payer. + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + extensions: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + required: &ref_97 + - transferId + - to + - amountType + - currency + - amount + - ilpPacket + - condition + extensions: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An optional + list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 required: true responses: '200': - $ref: '#/components/responses/bulkTransferSuccess' + description: Bulk transfer completed successfully + content: &ref_145 + application/json: + schema: + type: object + required: *ref_39 + properties: *ref_40 '400': - $ref: '#/components/responses/bulkTransferBadRequest' + description: Malformed or missing required body, headers or parameters + content: *ref_41 '500': - $ref: '#/components/responses/bulkTransferServerError' - '504': - $ref: '#/components/responses/bulkTransferTimeout' - '/bulkTransfers/{bulkTransferId}': + description: Internal Server Error + content: *ref_42 + /bulkTransfers/{bulkTransferId}: get: summary: Retrieves information for a specific bulk transfer description: >- - The HTTP request `GET /bulkTransfers/{bulktTransferId}` is used to get + The HTTP request `GET /bulkTransfers/{bulkTransferId}` is used to get information regarding a bulk transfer created or requested earlier. The `{bulkTransferId}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. tags: - BulkTransfers parameters: - - $ref: '#/components/parameters/bulkTransferId' + - name: bulkTransferId + in: path + required: true + schema: &ref_160 + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same sequence. The + API data type UUID (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is restricted by + a regular expression for interoperability reasons. A UUID is + always 36 characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + description: >- + Identifier of the bulk transfer to continue as returned in the + response to a `POST /bulkTransfers` request. responses: '200': description: Bulk transfer information successfully retrieved content: application/json: schema: - $ref: '#/components/schemas/bulkTransferStatusResponse' + type: object + required: &ref_101 + - bulkTransferId + - currentState + - fulfils + properties: &ref_102 + bulkTransferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + currentState: + type: string + enum: *ref_43 + fulfils: + type: array + minItems: 1 + maxItems: 1000 + items: + type: object + description: >- + A Mojaloop API transfer fulfilment for individual + transfers in a bulk transfer + properties: &ref_100 + fulfilment: + description: >- + Fulfilment that must be attached to the transfer by + the Payee. + title: IlpFulfilment + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + extensionList: + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + title: ExtensionList + type: object + properties: *ref_10 + required: *ref_11 '500': description: An error occurred processing the bulk transfer content: application/json: schema: - $ref: '#/components/schemas/errorResponse' + type: object + properties: *ref_22 /bulkQuotes: post: summary: Request bulk quotes for the provided financial transactions @@ -211,18 +2293,328 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/bulkQuoteRequest' + type: object + required: &ref_103 + - homeTransactionId + - from + - individualQuotes + properties: &ref_104 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + bulkQuoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, conforming + to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 hexadecimal + symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + from: + type: object + required: *ref_0 + properties: *ref_1 + individualQuotes: + description: List of individual quotes in a bulk quote. + type: array + minItems: 1 + maxItems: 1000 + items: + title: IndividualQuote + type: object + description: Data model for the complex type 'individualQuote'. + properties: &ref_50 + quoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration + AmountType. + + - SEND - Amount the Payer would like to send, that is, + the amount that should be withdrawn from the Payer + account including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to + the receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) + as three-letter alphabetic codes are used as the + standard naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a + canonical format that is restricted by a regular + expression for interoperability reasons. This pattern + does not allow any trailing zeroes at all, but allows + an amount without a minor currency unit. It also only + allows four digits in the minor currency unit; a + negative value is not allowed. Using more than 18 + digits in the major currency unit is not allowed. + example: '123.45' + transactionType: + title: transferTransactionType + type: string + enum: *ref_5 + description: Type of transaction. + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + extensions: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + required: &ref_51 + - quoteId + - to + - amountType + - currency + - transactionType + - amount + extensions: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An optional + list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 required: true responses: '200': - $ref: '#/components/responses/bulkQuoteSuccess' + description: Bulk quote completed successfully + content: &ref_146 + application/json: + schema: + type: object + required: &ref_47 + - bulkQuoteId + - individualQuoteResults + - currentState + - expiration + properties: &ref_48 + bulkQuoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + expiration: + title: DateTime + type: string + 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)$ + description: >- + The API data type DateTime is a JSON String in a lexical + format that is restricted by a regular expression for + interoperability reasons. The format is according to [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), + expressed in a combined date, time and time zone format. A + more readable version of the format is + yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", + "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time + zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An optional + list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + currentState: + type: string + enum: *ref_43 + individualQuoteResults: + type: array + maxItems: 1000 + items: + type: object + properties: &ref_105 + quoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transferAmount: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeReceiveAmount: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeFspFee: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeFspCommission: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + geoCode: + title: GeoCode + type: object + description: >- + Data model for the complex type GeoCode. Indicates + the geographic location from where the transaction + was initiated. + properties: *ref_44 + required: *ref_45 + ilpPacket: + title: IlpPacket + type: string + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ + minLength: 1 + maxLength: 32768 + description: >- + Information for recipient (transport layer + information). + example: >- + AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + title: IlpCondition + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: >- + Condition that must be attached to the transfer by + the Payer. + extensionList: + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + title: ExtensionList + type: object + properties: *ref_10 + required: *ref_11 + lastError: + description: >- + This object represents a Mojaloop API error received + at any time during the quote process + type: object + properties: *ref_46 + required: &ref_106 + - quoteId + - transferAmount + - ilpPacket + - condition + description: >- + List of individualQuoteResults in a bulk transfer + response. '400': - $ref: '#/components/responses/bulkQuoteBadRequest' + description: Malformed or missing required body, headers or parameters + content: &ref_147 + application/json: + schema: + allOf: &ref_49 + - type: object + properties: *ref_22 + - type: object + required: + - bulkQuoteState + properties: + bulkQuoteState: + type: object + required: *ref_47 + properties: *ref_48 '500': - $ref: '#/components/responses/bulkQuoteServerError' + description: An error occurred processing the bulk quote + content: &ref_148 + application/json: + schema: + allOf: *ref_49 '504': - $ref: '#/components/responses/bulkQuoteTimeout' - '/bulkQuotes/{bulkQuoteId}': + description: Timeout occurred processing the bulk quote + content: &ref_149 + application/json: + schema: + allOf: *ref_49 + /bulkQuotes/{bulkQuoteId}: get: summary: Retrieves information for a specific bulk quote description: >- @@ -233,20 +2625,75 @@ paths: tags: - BulkQuotes parameters: - - $ref: '#/components/parameters/bulkQuoteId' + - name: bulkQuoteId + in: path + required: true + schema: &ref_161 + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same sequence. The + API data type UUID (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is restricted by + a regular expression for interoperability reasons. A UUID is + always 36 characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + description: >- + Identifier of the bulk transfer to continue as returned in the + response to a `POST /bulkTransfers` request. responses: '200': description: Bulk quote information successfully retrieved content: application/json: schema: - $ref: '#/components/schemas/bulkQuoteStatusResponse' + type: object + required: &ref_108 + - bulkQuoteId + - currentState + - individualQuotes + properties: &ref_109 + bulkQuoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + currentState: + type: string + enum: &ref_107 + - ERROR_OCCURRED + - COMPLETED + individualQuotes: + type: array + minItems: 1 + maxItems: 1000 + items: + title: IndividualQuote + type: object + description: Data model for the complex type 'individualQuote'. + properties: *ref_50 + required: *ref_51 '500': description: An error occurred processing the bulk quote content: application/json: schema: - $ref: '#/components/schemas/errorResponse' + type: object + properties: *ref_22 /requestToPay: post: summary: Receiver requesting funds from Sender @@ -265,11 +2712,384 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/requestToPayRequest' + type: object + required: &ref_113 + - homeTransactionId + - from + - to + - amountType + - currency + - amount + - scenario + - initiator + - initiatorType + properties: &ref_114 + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + from: + type: object + required: *ref_0 + properties: *ref_1 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration AmountType. + + - SEND - Amount the Payer would like to send, that is, the + amount that should be withdrawn from the Payer account + including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to the + receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as + three-letter alphabetic codes are used as the standard + naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a canonical + format that is restricted by a regular expression for + interoperability reasons. This pattern does not allow any + trailing zeroes at all, but allows an amount without a minor + currency unit. It also only allows four digits in the minor + currency unit; a negative value is not allowed. Using more + than 18 digits in the major currency unit is not allowed. + example: '123.45' + scenario: + title: TransactionType + type: object + description: Data model for the complex type TransactionType. + properties: &ref_54 + scenario: + title: TransactionScenario + type: string + enum: &ref_110 + - DEPOSIT + - WITHDRAWAL + - TRANSFER + - PAYMENT + - REFUND + description: >- + Below are the allowed values for the enumeration. + + - DEPOSIT - Used for performing a Cash-In (deposit) + transaction. In a normal scenario, electronic funds are + transferred from a Business account to a Consumer + account, and physical cash is given from the Consumer to + the Business User. + + - WITHDRAWAL - Used for performing a Cash-Out + (withdrawal) transaction. In a normal scenario, + electronic funds are transferred from a Consumer’s + account to a Business account, and physical cash is + given from the Business User to the Consumer. + + - TRANSFER - Used for performing a P2P (Peer to Peer, or + Consumer to Consumer) transaction. + + - PAYMENT - Usually used for performing a transaction + from a Consumer to a Merchant or Organization, but could + also be for a B2B (Business to Business) payment. The + transaction could be online for a purchase in an + Internet store, in a physical store where both the + Consumer and Business User are present, a bill payment, + a donation, and so on. + + - REFUND - Used for performing a refund of transaction. + example: DEPOSIT + subScenario: + title: TransactionSubScenario + type: string + pattern: ^[A-Z_]{1,32}$ + description: >- + Possible sub-scenario, defined locally within the scheme + (UndefinedEnum Type). + example: LOCALLY_DEFINED_SUBSCENARIO + initiator: + title: TransactionInitiator + type: string + enum: &ref_53 + - PAYER + - PAYEE + description: >- + Below are the allowed values for the enumeration. + + - PAYER - Sender of funds is initiating the transaction. + The account to send from is either owned by the Payer or + is connected to the Payer in some way. + + - PAYEE - Recipient of the funds is initiating the + transaction by sending a transaction request. The Payer + must approve the transaction, either automatically by a + pre-generated OTP or by pre-approval of the Payee, or by + manually approving in his or her own Device. + example: PAYEE + initiatorType: + title: TransactionInitiatorType + type: string + enum: *ref_52 + description: >- + Below are the allowed values for the enumeration. + + - CONSUMER - Consumer is the initiator of the + transaction. + + - AGENT - Agent is the initiator of the transaction. + + - BUSINESS - Business is the initiator of the + transaction. + + - DEVICE - Device is the initiator of the transaction. + example: CONSUMER + refundInfo: + title: Refund + type: object + description: Data model for the complex type Refund. + properties: &ref_111 + originalTransactionId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + refundReason: + title: RefundReason + type: string + minLength: 1 + maxLength: 128 + description: Reason for the refund. + example: Free text indicating reason for the refund. + required: &ref_112 + - originalTransactionId + balanceOfPayments: + title: BalanceOfPayments + type: string + pattern: ^[1-9]\d{2}$ + description: >- + (BopCode) The API data type + [BopCode](https://www.imf.org/external/np/sta/bopcode/) + is a JSON String of 3 characters, consisting of digits + only. Negative numbers are not allowed. A leading zero + is not allowed. + example: '123' + required: &ref_55 + - scenario + - initiator + - initiatorType + initiator: + title: TransactionInitiator + type: string + enum: *ref_53 + description: >- + Below are the allowed values for the enumeration. + + - PAYER - Sender of funds is initiating the transaction. The + account to send from is either owned by the Payer or is + connected to the Payer in some way. + + - PAYEE - Recipient of the funds is initiating the + transaction by sending a transaction request. The Payer must + approve the transaction, either automatically by a + pre-generated OTP or by pre-approval of the Payee, or by + manually approving in his or her own Device. + example: PAYEE + initiatorType: + title: TransactionInitiatorType + type: string + enum: *ref_52 + description: |- + Below are the allowed values for the enumeration. + - CONSUMER - Consumer is the initiator of the transaction. + - AGENT - Agent is the initiator of the transaction. + - BUSINESS - Business is the initiator of the transaction. + - DEVICE - Device is the initiator of the transaction. + example: CONSUMER required: true responses: '200': - $ref: '#/components/responses/requestToPaySuccess' + description: Request to Pay completed successfully + content: &ref_150 + application/json: + schema: + type: object + required: &ref_117 + - transactionRequestId + - from + - to + - amountType + - currency + - amount + - transactionType + - requestToPayState + properties: &ref_118 + transactionRequestId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + from: + type: object + required: *ref_0 + properties: *ref_1 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration + AmountType. + + - SEND - Amount the Payer would like to send, that is, the + amount that should be withdrawn from the Payer account + including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to the + receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as + three-letter alphabetic codes are used as the standard + naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a canonical + format that is restricted by a regular expression for + interoperability reasons. This pattern does not allow any + trailing zeroes at all, but allows an amount without a + minor currency unit. It also only allows four digits in + the minor currency unit; a negative value is not allowed. + Using more than 18 digits in the major currency unit is + not allowed. + example: '123.45' + scenario: + title: TransactionType + type: object + description: Data model for the complex type TransactionType. + properties: *ref_54 + required: *ref_55 + initiator: + title: TransactionInitiator + type: string + enum: *ref_53 + description: >- + Below are the allowed values for the enumeration. + + - PAYER - Sender of funds is initiating the transaction. + The account to send from is either owned by the Payer or + is connected to the Payer in some way. + + - PAYEE - Recipient of the funds is initiating the + transaction by sending a transaction request. The Payer + must approve the transaction, either automatically by a + pre-generated OTP or by pre-approval of the Payee, or by + manually approving in his or her own Device. + example: PAYEE + initiatorType: + title: TransactionInitiatorType + type: string + enum: *ref_52 + description: |- + Below are the allowed values for the enumeration. + - CONSUMER - Consumer is the initiator of the transaction. + - AGENT - Agent is the initiator of the transaction. + - BUSINESS - Business is the initiator of the transaction. + - DEVICE - Device is the initiator of the transaction. + example: CONSUMER + authenticationType: + title: AuthenticationType + type: string + enum: &ref_115 + - OTP + - QRCODE + - U2F + description: >- + Below are the allowed values for the enumeration + AuthenticationType. + + - OTP - One-time password generated by the Payer FSP. + + - QRCODE - QR code used as One Time Password. + + - U2F - U2F is a new addition isolated to Thirdparty + stream. + example: OTP + requestToPayState: + title: TransactionRequestState + type: string + enum: &ref_116 + - RECEIVED + - PENDING + - ACCEPTED + - REJECTED + description: >- + Below are the allowed values for the enumeration. + + - RECEIVED - Payer FSP has received the transaction from + the Payee FSP. + + - PENDING - Payer FSP has sent the transaction request to + the Payer. + + - ACCEPTED - Payer has approved the transaction. + + - REJECTED - Payer has rejected the transaction. + example: RECEIVED /requestToPayTransfer: post: summary: >- @@ -317,18 +3137,265 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/requestToPayTransferRequest' + type: object + required: &ref_119 + - requestToPayTransactionId + - from + - to + - amountType + - currency + - amount + - scenario + - initiator + - initiatorType + properties: &ref_120 + requestToPayTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + from: + type: object + required: *ref_0 + properties: *ref_1 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration AmountType. + + - SEND - Amount the Payer would like to send, that is, the + amount that should be withdrawn from the Payer account + including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to the + receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as + three-letter alphabetic codes are used as the standard + naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a canonical + format that is restricted by a regular expression for + interoperability reasons. This pattern does not allow any + trailing zeroes at all, but allows an amount without a minor + currency unit. It also only allows four digits in the minor + currency unit; a negative value is not allowed. Using more + than 18 digits in the major currency unit is not allowed. + example: '123.45' + scenario: + title: TransactionType + type: object + description: Data model for the complex type TransactionType. + properties: *ref_54 + required: *ref_55 + initiator: + title: TransactionInitiator + type: string + enum: *ref_53 + description: >- + Below are the allowed values for the enumeration. + + - PAYER - Sender of funds is initiating the transaction. The + account to send from is either owned by the Payer or is + connected to the Payer in some way. + + - PAYEE - Recipient of the funds is initiating the + transaction by sending a transaction request. The Payer must + approve the transaction, either automatically by a + pre-generated OTP or by pre-approval of the Payee, or by + manually approving in his or her own Device. + example: PAYEE + initiatorType: + title: TransactionInitiatorType + type: string + enum: *ref_52 + description: |- + Below are the allowed values for the enumeration. + - CONSUMER - Consumer is the initiator of the transaction. + - AGENT - Agent is the initiator of the transaction. + - BUSINESS - Business is the initiator of the transaction. + - DEVICE - Device is the initiator of the transaction. + example: CONSUMER + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. required: true responses: '200': - $ref: '#/components/responses/requestToPayTransferSuccess' + description: Transfer completed successfully + content: &ref_151 + application/json: + schema: + type: object + required: &ref_121 + - requestToPayTransactionId + - from + - to + - amountType + - currency + - amount + - transactionType + properties: &ref_122 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + requestToPayTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile + transactions between the Switch and DFSP backend systems. + from: + type: object + required: *ref_0 + properties: *ref_1 + to: + type: object + required: *ref_0 + properties: *ref_1 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration + AmountType. + + - SEND - Amount the Payer would like to send, that is, the + amount that should be withdrawn from the Payer account + including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to the + receiver exclusive of any fees. + example: RECEIVE + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as + three-letter alphabetic codes are used as the standard + naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 + amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a canonical + format that is restricted by a regular expression for + interoperability reasons. This pattern does not allow any + trailing zeroes at all, but allows an amount without a + minor currency unit. It also only allows four digits in + the minor currency unit; a negative value is not allowed. + Using more than 18 digits in the major currency unit is + not allowed. + example: '123.45' + transactionType: + title: transferTransactionType + type: string + enum: *ref_5 + description: Type of transaction. + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + currentState: + type: string + enum: *ref_19 + quoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + quoteResponse: + title: QuotesIDPutResponse + type: object + description: The object sent in the PUT /quotes/{ID} callback. + properties: *ref_56 + required: *ref_57 + quoteResponseSource: + type: string + description: > + FSPID of the entity that supplied the quote response. This + may not be the same as the FSPID of the entity which owns + the end user account in the case of a FOREX transfer. i.e. + it may be a FOREX gateway. + fulfil: + title: TransfersIDPutResponse + type: object + description: The object sent in the PUT /transfers/{ID} callback. + properties: *ref_20 + required: *ref_21 + lastError: + description: >- + This object represents a Mojaloop API error received at + any time during the transfer process + type: object + properties: *ref_26 '400': - $ref: '#/components/responses/requestToPayTransferBadRequest' + description: Malformed or missing required body, headers or parameters + content: &ref_152 + application/json: + schema: + allOf: *ref_14 '500': - $ref: '#/components/responses/transferServerError' + description: An error occurred processing the transfer + content: *ref_16 '504': - $ref: '#/components/responses/transferTimeout' - '/requestToPayTransfer/{requestToPayTransactionId}': + description: Timeout occurred processing the transfer + content: *ref_17 + /requestToPayTransfer/{requestToPayTransactionId}: put: summary: >- Continues a transfer that has paused at the otp stage in order to accept @@ -352,17 +3419,49 @@ paths: application/json: schema: oneOf: - - $ref: '#/components/schemas/transferContinuationAcceptQuote' - - $ref: '#/components/schemas/transferContinuationAcceptOTP' + - type: object + required: *ref_32 + properties: *ref_33 + - type: object + required: &ref_123 + - acceptOTP + properties: &ref_124 + acceptOTP: + type: boolean + enum: + - true + - false parameters: - - $ref: '#/components/parameters/requestToPayTransactionId' + - name: requestToPayTransactionId + in: path + required: true + schema: &ref_162 + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same sequence. The + API data type UUID (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is restricted by + a regular expression for interoperability reasons. A UUID is + always 36 characters long, 32 hexadecimal symbols and 4 dashes + (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + description: >- + Identifier of the merchant request to pay transfer to continue as + returned in the response to a `POST /requestToPayTransfer` request. responses: '200': - $ref: '#/components/responses/transferSuccess' + description: Transfer completed successfully + content: *ref_15 '500': - $ref: '#/components/responses/transferServerError' + description: An error occurred processing the transfer + content: *ref_16 '504': - $ref: '#/components/responses/transferTimeout' + description: Timeout occurred processing the transfer + content: *ref_17 /accounts: post: summary: Create accounts on the Account Lookup Service @@ -380,21 +3479,277 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/accountsRequest' + type: array + items: &ref_58 + type: object + required: + - idType + - idValue + - currency + properties: + idType: + title: PartyIdType + type: string + enum: *ref_23 + description: >- + Below are the allowed values for the enumeration. + + - MSISDN - An MSISDN (Mobile Station International + Subscriber Directory Number, that is, the phone number) is + used as reference to a participant. The MSISDN identifier + should be in international format according to the [ITU-T + E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + Optionally, the MSISDN may be prefixed by a single plus + sign, indicating the international prefix. + + - EMAIL - An email is used as reference to a participant. + The format of the email should be according to the + informational [RFC + 3696](https://tools.ietf.org/html/rfc3696). + + - PERSONAL_ID - A personal identifier is used as reference + to a participant. Examples of personal identification are + passport number, birth certificate number, and national + registration number. The identifier number is added in the + PartyIdentifier element. The personal identifier type is + added in the PartySubIdOrType element. + + - BUSINESS - A specific Business (for example, an + organization or a company) is used as reference to a + participant. The BUSINESS identifier can be in any format. + To make a transaction connected to a specific username or + bill number in a Business, the PartySubIdOrType element + should be used. + + - DEVICE - A specific device (for example, a POS or ATM) + ID connected to a specific business or organization is + used as reference to a Party. For referencing a specific + device under a specific business or organization, use the + PartySubIdOrType element. + + - ACCOUNT_ID - A bank account number or FSP account ID + should be used as reference to a participant. The + ACCOUNT_ID identifier can be in any format, as formats can + greatly differ depending on country and FSP. + + - IBAN - A bank account number or FSP account ID is used + as reference to a participant. The IBAN identifier can + consist of up to 34 alphanumeric characters and should be + entered without whitespace. + + - ALIAS An alias is used as reference to a participant. + The alias should be created in the FSP as an alternative + reference to an account owner. Another example of an alias + is a username in the FSP system. The ALIAS identifier can + be in any format. It is also possible to use the + PartySubIdOrType element for identifying an account under + an Alias defined by the PartyIdentifier. + idValue: + title: PartyIdentifier + type: string + minLength: 1 + maxLength: 128 + description: Identifier of the Party. + example: '16135551212' + idSubValue: + title: PartySubIdOrType + type: string + minLength: 1 + maxLength: 128 + description: >- + Either a sub-identifier of a PartyIdentifier, or a + sub-type of the PartyIdType, normally a + PersonalIdentifierType. + currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as + three-letter alphabetic codes are used as the standard + naming representation for currencies. + type: string + minLength: 3 + maxLength: 3 + enum: *ref_4 required: true responses: '200': - $ref: '#/components/responses/accountsCreationCompleted' + description: Accounts creation completed + content: &ref_153 + application/json: + schema: + type: object + required: &ref_59 + - accounts + properties: &ref_60 + modelId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + accounts: + type: array + items: *ref_58 + response: + type: array + items: &ref_125 + type: object + required: + - idType + - idValue + properties: + idType: + title: PartyIdType + type: string + enum: *ref_23 + description: >- + Below are the allowed values for the enumeration. + + - MSISDN - An MSISDN (Mobile Station International + Subscriber Directory Number, that is, the phone + number) is used as reference to a participant. The + MSISDN identifier should be in international format + according to the [ITU-T E.164 + standard](https://www.itu.int/rec/T-REC-E.164/en). + Optionally, the MSISDN may be prefixed by a single + plus sign, indicating the international prefix. + + - EMAIL - An email is used as reference to a + participant. The format of the email should be + according to the informational [RFC + 3696](https://tools.ietf.org/html/rfc3696). + + - PERSONAL_ID - A personal identifier is used as + reference to a participant. Examples of personal + identification are passport number, birth + certificate number, and national registration + number. The identifier number is added in the + PartyIdentifier element. The personal identifier + type is added in the PartySubIdOrType element. + + - BUSINESS - A specific Business (for example, an + organization or a company) is used as reference to a + participant. The BUSINESS identifier can be in any + format. To make a transaction connected to a + specific username or bill number in a Business, the + PartySubIdOrType element should be used. + + - DEVICE - A specific device (for example, a POS or + ATM) ID connected to a specific business or + organization is used as reference to a Party. For + referencing a specific device under a specific + business or organization, use the PartySubIdOrType + element. + + - ACCOUNT_ID - A bank account number or FSP account + ID should be used as reference to a participant. The + ACCOUNT_ID identifier can be in any format, as + formats can greatly differ depending on country and + FSP. + + - IBAN - A bank account number or FSP account ID is + used as reference to a participant. The IBAN + identifier can consist of up to 34 alphanumeric + characters and should be entered without whitespace. + + - ALIAS An alias is used as reference to a + participant. The alias should be created in the FSP + as an alternative reference to an account owner. + Another example of an alias is a username in the FSP + system. The ALIAS identifier can be in any format. + It is also possible to use the PartySubIdOrType + element for identifying an account under an Alias + defined by the PartyIdentifier. + idValue: + title: PartyIdentifier + type: string + minLength: 1 + maxLength: 128 + description: Identifier of the Party. + example: '16135551212' + idSubValue: + title: PartySubIdOrType + type: string + minLength: 1 + maxLength: 128 + description: >- + Either a sub-identifier of a PartyIdentifier, or a + sub-type of the PartyIdType, normally a + PersonalIdentifierType. + error: + type: object + properties: *ref_22 + currentState: + type: string + enum: &ref_126 + - ERROR_OCCURRED + - COMPLETED + lastError: + type: object + description: >- + This object represents a Mojaloop API error received at + any time during the transfer process + properties: *ref_26 + postAccountsResponse: + type: object + required: + - body + properties: + body: + type: object + headers: + type: object '400': - $ref: '#/components/responses/accountsCreationError' + description: An error occurred creating accounts + content: &ref_61 + application/json: + schema: + allOf: &ref_62 + - type: object + properties: *ref_22 + - type: object + required: + - executionState + properties: + executionState: + type: object + required: *ref_59 + properties: *ref_60 '500': - $ref: '#/components/responses/accountsCreationError' + description: An error occurred creating accounts + content: *ref_61 '504': - $ref: '#/components/responses/accountsCreationTimeout' - '/parties/{Type}/{ID}': + description: Timeout occurred creating accounts + content: &ref_154 + application/json: + schema: + allOf: *ref_62 + /parties/{Type}/{ID}: parameters: - - $ref: '#/components/parameters/Type' - - $ref: '#/components/parameters/ID' + - name: Type + in: path + required: true + schema: &ref_65 + type: string + description: >- + The type of the party identifier. For example, `MSISDN`, + `PERSONAL_ID`. + - name: ID + in: path + required: true + schema: &ref_66 + type: string + description: The identifier value. get: description: >- The HTTP request GET /parties// (or GET /parties///) is used to lookup @@ -407,14 +3762,71 @@ paths: operationId: PartiesByTypeAndID responses: '200': - $ref: '#/components/responses/partiesByIdSuccess' + description: PartiesByIdSuccess + content: &ref_67 + application/json: + schema: + title: partiesByIdResponse + type: object + description: GET /parties/{Type}/{ID} response object + properties: &ref_127 + party: + properties: + body: + description: Data model for the complex type Party. + title: Party + type: object + properties: *ref_24 + required: *ref_25 + headers: + type: object + required: + - body + - headers + currentState: + type: string + enum: &ref_69 + - WAITING_FOR_ACTION + - COMPLETED + - ERROR_OCCURRED + required: &ref_128 + - party + - currentState '404': - $ref: '#/components/responses/partiesByIdError404' - '/parties/{Type}/{ID}/{SubId}': + description: PartiesByIdError404 + content: &ref_68 + application/json: + schema: + type: object + properties: + errorInformation: + title: ErrorInformation + type: object + description: Data model for the complex type ErrorInformation. + properties: *ref_63 + required: *ref_64 + /parties/{Type}/{ID}/{SubId}: parameters: - - $ref: '#/components/parameters/Type' - - $ref: '#/components/parameters/ID' - - $ref: '#/components/parameters/SubId' + - name: Type + in: path + required: true + schema: *ref_65 + description: >- + The type of the party identifier. For example, `MSISDN`, + `PERSONAL_ID`. + - name: ID + in: path + required: true + schema: *ref_66 + description: The identifier value. + - name: SubId + in: path + required: true + schema: &ref_163 + type: string + description: >- + A sub-identifier of the party identifier, or a sub-type of the party + identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. get: description: >- The HTTP request GET /parties// (or GET /parties///) is used to lookup @@ -427,9 +3839,11 @@ paths: operationId: PartiesSubIdByTypeAndID responses: '200': - $ref: '#/components/responses/partiesByIdSuccess' + description: PartiesByIdSuccess + content: *ref_67 '404': - $ref: '#/components/responses/partiesByIdError404' + description: PartiesByIdError404 + content: *ref_68 /quotes: post: summary: Quotes endpoint @@ -442,13 +3856,275 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/quotesPostRequest' + title: simpleQuotesPostRequest + type: object + properties: &ref_131 + fspId: + title: FspId + type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. + quotesPostRequest: + title: QuotesPostRequest + type: object + description: The object sent in the POST /quotes request. + properties: &ref_129 + quoteId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transactionId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transactionRequestId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payee: + title: Party + type: object + description: Data model for the complex type Party. + properties: *ref_24 + required: *ref_25 + payer: + title: Party + type: object + description: Data model for the complex type Party. + properties: *ref_24 + required: *ref_25 + amountType: + title: AmountType + type: string + enum: *ref_3 + description: >- + Below are the allowed values for the enumeration + AmountType. + + - SEND - Amount the Payer would like to send, that is, + the amount that should be withdrawn from the Payer + account including any fees. + + - RECEIVE - Amount the Payer would like the Payee to + receive, that is, the amount that should be sent to the + receiver exclusive of any fees. + example: RECEIVE + amount: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + fees: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + transactionType: + title: TransactionType + type: object + description: Data model for the complex type TransactionType. + properties: *ref_54 + required: *ref_55 + geoCode: + title: GeoCode + type: object + description: >- + Data model for the complex type GeoCode. Indicates the + geographic location from where the transaction was + initiated. + properties: *ref_44 + required: *ref_45 + note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + expiration: + title: DateTime + type: string + 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)$ + description: >- + The API data type DateTime is a JSON String in a lexical + format that is restricted by a regular expression for + interoperability reasons. The format is according to + [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), + expressed in a combined date, time and time zone format. + A more readable version of the format is + yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", + "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time + zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + required: &ref_130 + - quoteId + - transactionId + - payee + - payer + - amountType + - amount + - transactionType + required: &ref_132 + - fspId + - quotesPostRequest required: true responses: '200': - $ref: '#/components/responses/quotesPostSuccess' + description: sync response from POST /quotes + content: &ref_155 + application/json: + schema: + title: QuotesPostResponse + type: object + properties: &ref_133 + quotes: + title: QuotesIDPutResponse + type: object + description: The object sent in the PUT /quotes/{ID} callback. + properties: + body: + type: object + properties: + transferAmount: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeReceiveAmount: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeFspFee: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + payeeFspCommission: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + expiration: + type: string + description: >- + Date and time until when the quotation is valid + and can be honored when used in the subsequent + transaction. + example: '2016-05-24T08:38:08.699-04:00' + geoCode: + title: GeoCode + type: object + description: >- + Data model for the complex type GeoCode. Indicates + the geographic location from where the transaction + was initiated. + properties: *ref_44 + required: *ref_45 + ilpPacket: + title: IlpPacket + type: string + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ + minLength: 1 + maxLength: 32768 + description: >- + Information for recipient (transport layer + information). + example: >- + AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + title: IlpCondition + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: >- + Condition that must be attached to the transfer by + the Payer. + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to + deployment. + properties: *ref_10 + required: *ref_11 + required: + - transferAmount + - expiration + - ilpPacket + - condition + headers: + type: object + required: + - body + - headers + currentState: + type: string + enum: *ref_69 + required: &ref_134 + - quotes + - currentState '500': - $ref: '#/components/responses/quotesServerError' + description: An error occurred processing the quotes request + content: &ref_156 + application/json: + schema: + allOf: &ref_135 + - type: object + properties: *ref_22 + - type: object /simpleTransfers: post: summary: Simple Transfers endpoint @@ -461,167 +4137,215 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/simpleTransfersPostRequest' + title: SimpleTransfersPostRequest + type: object + properties: &ref_138 + fspId: + title: FspId + type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. + transfersPostRequest: + title: TransfersPostRequest + type: object + description: The object sent in the POST /transfers request. + properties: &ref_136 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same + sequence. The API data type UUID (Universally Unique + Identifier) is a JSON String in canonical format, + conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is + restricted by a regular expression for interoperability + reasons. A UUID is always 36 characters long, 32 + hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payeeFsp: + title: FspId + type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. + payerFsp: + title: FspId + type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. + amount: + title: Money + type: object + description: Data model for the complex type Money. + properties: *ref_6 + required: *ref_7 + ilpPacket: + title: IlpPacket + type: string + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ + minLength: 1 + maxLength: 32768 + description: Information for recipient (transport layer information). + example: >- + AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + title: IlpCondition + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: >- + Condition that must be attached to the transfer by the + Payer. + expiration: + title: DateTime + type: string + 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)$ + description: >- + The API data type DateTime is a JSON String in a lexical + format that is restricted by a regular expression for + interoperability reasons. The format is according to + [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), + expressed in a combined date, time and time zone format. + A more readable version of the format is + yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", + "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time + zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + extensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An + optional list of extensions, specific to deployment. + properties: *ref_10 + required: *ref_11 + required: &ref_137 + - transferId + - payeeFsp + - payerFsp + - amount + - ilpPacket + - condition + - expiration + required: &ref_139 + - fspId + - transfersPostRequest required: true responses: '200': - $ref: '#/components/responses/simpleTransfersPostSuccess' - '500': - $ref: '#/components/responses/simpleTransfersServerError' - /authorizations: - post: - description: >- - The HTTP request `POST /authorizations` is used to request the Payer to - enter the applicable credentials in the PISP system. - summary: Authorizations endpoint - operationId: AuthorizationsPost - tags: - - authorizations - requestBody: - description: Perform authorization - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/authorizationsPostRequest' - responses: - '200': - $ref: '#/components/responses/authorizationPostSuccess' + description: sync response from POST /simpleTransfers + content: &ref_157 + application/json: + schema: + title: SimpleTransfersPostResponse + type: object + properties: &ref_140 + transfer: + properties: + body: + title: TransfersIDPutResponse + type: object + description: The object sent in the PUT /transfers/{ID} callback. + properties: *ref_20 + required: *ref_21 + headers: + type: object + required: + - body + - headers + currentState: + type: string + enum: *ref_69 + required: &ref_141 + - transfer + - currentState '500': - $ref: '#/components/responses/authorizationsServerError' + description: An error occurred processing the simple transfers request + content: &ref_158 + application/json: + schema: + allOf: &ref_142 + - type: object + properties: *ref_22 + - type: object components: schemas: TransactionInitiatorType: title: TransactionInitiatorType type: string - enum: - - CONSUMER - - AGENT - - BUSINESS - - DEVICE + enum: *ref_52 description: |- Below are the allowed values for the enumeration. - CONSUMER - Consumer is the initiator of the transaction. - AGENT - Agent is the initiator of the transaction. - BUSINESS - Business is the initiator of the transaction. - DEVICE - Device is the initiator of the transaction. + example: CONSUMER PartyIdType: title: PartyIdType type: string - enum: - - MSISDN - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - - CONSENT - - THIRD_PARTY_LINK - description: > - This is a variant based on FSPIOP `PartyIdType` specification. - - Main difference being the CONSENT and THIRD_PARTY_LINK enums. - - + enum: *ref_23 + description: >- Below are the allowed values for the enumeration. - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - Number, that is, the phone number) is used as reference to a - participant. - - The MSISDN identifier should be in international format according to the - - [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - - Optionally, the MSISDN may be prefixed by a single plus sign, indicating - the - + participant. The MSISDN identifier should be in international format + according to the [ITU-T E.164 + standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the + MSISDN may be prefixed by a single plus sign, indicating the international prefix. - - EMAIL - An email is used as reference to a - - participant. The format of the email should be according to the - informational - - [RFC 3696](https://tools.ietf.org/html/rfc3696). + - EMAIL - An email is used as reference to a participant. The format of + the email should be according to the informational [RFC + 3696](https://tools.ietf.org/html/rfc3696). - PERSONAL_ID - A personal identifier is used as reference to a - participant. - - Examples of personal identification are passport number, birth - certificate - - number, and national registration number. The identifier number is added - in - - the PartyIdentifier element. The personal identifier type is added in - the - - PartySubIdOrType element. + participant. Examples of personal identification are passport number, + birth certificate number, and national registration number. The + identifier number is added in the PartyIdentifier element. The personal + identifier type is added in the PartySubIdOrType element. - BUSINESS - A specific Business (for example, an organization or a - company) - - is used as reference to a participant. The BUSINESS identifier can be in - any - - format. To make a transaction connected to a specific username or bill - number - - in a Business, the PartySubIdOrType element should be used. + company) is used as reference to a participant. The BUSINESS identifier + can be in any format. To make a transaction connected to a specific + username or bill number in a Business, the PartySubIdOrType element + should be used. - DEVICE - A specific device (for example, a POS or ATM) ID connected to - a - - specific business or organization is used as reference to a Party. - - For referencing a specific device under a specific business or - organization, - + a specific business or organization is used as reference to a Party. For + referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - ACCOUNT_ID - A bank account number or FSP account ID should be used as - reference to a participant. The ACCOUNT_ID identifier can be in any - format, - - as formats can greatly differ depending on country and FSP. + format, as formats can greatly differ depending on country and FSP. - IBAN - A bank account number or FSP account ID is used as reference to - a - - participant. The IBAN identifier can consist of up to 34 alphanumeric - + a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - ALIAS An alias is used as reference to a participant. The alias should - be - - created in the FSP as an alternative reference to an account owner. - - Another example of an alias is a username in the FSP system. - - The ALIAS identifier can be in any format. It is also possible to use - the - + be created in the FSP as an alternative reference to an account owner. + Another example of an alias is a username in the FSP system. The ALIAS + identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias - defined - - by the PartyIdentifier. - - - CONSENT - TBD - - - THIRD_PARTY_LINK - TBD - example: PERSONAL_ID + defined by the PartyIdentifier. PartyIdentifier: title: PartyIdentifier type: string minLength: 1 maxLength: 128 description: Identifier of the Party. + example: '16135551212' PartySubIdOrType: title: PartySubIdOrType type: string @@ -633,7 +4357,7 @@ components: Name: title: Name type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + pattern: ^(?!\s*$)[\w .,'-]{1,128}$ description: >- The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. @@ -654,32 +4378,42 @@ components: type: string minLength: 1 maxLength: 128 - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ description: First name of the Party (Name Type). + example: Henrik MiddleName: title: MiddleName type: string minLength: 1 maxLength: 128 - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ description: Middle name of the Party (Name Type). + example: Johannes LastName: title: LastName type: string minLength: 1 maxLength: 128 - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ description: Last name of the Party (Name Type). + example: Karlsson DateOfBirth: title: DateofBirth (type Date) type: string 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)$ description: Date of Birth of the Party. + example: '1966-06-16' MerchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + pattern: ^[\d]{1,4}$ description: >- A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, @@ -706,56 +4440,21 @@ components: title: Extension type: object description: Data model for the complex type Extension. - properties: - key: - $ref: '#/components/schemas/ExtensionKey' - value: - $ref: '#/components/schemas/ExtensionValue' - required: - - key - - value + properties: *ref_8 + required: *ref_9 extensionListEmptiable: type: array - items: - $ref: '#/components/schemas/Extension' + items: *ref_2 minItems: 0 maxItems: 16 transferParty: type: object - required: - - idType - - idValue - properties: - type: - $ref: '#/components/schemas/TransactionInitiatorType' - idType: - $ref: '#/components/schemas/PartyIdType' - idValue: - $ref: '#/components/schemas/PartyIdentifier' - idSubValue: - $ref: '#/components/schemas/PartySubIdOrType' - displayName: - $ref: '#/components/schemas/Name' - firstName: - $ref: '#/components/schemas/FirstName' - middleName: - $ref: '#/components/schemas/MiddleName' - lastName: - $ref: '#/components/schemas/LastName' - dateOfBirth: - $ref: '#/components/schemas/DateOfBirth' - merchantClassificationCode: - $ref: '#/components/schemas/MerchantClassificationCode' - fspId: - $ref: '#/components/schemas/FspId' - extensionList: - $ref: '#/components/schemas/extensionListEmptiable' + required: *ref_0 + properties: *ref_1 AmountType: title: AmountType type: string - enum: - - SEND - - RECEIVE + enum: *ref_3 description: >- Below are the allowed values for the enumeration AmountType. @@ -764,6 +4463,7 @@ components: - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. + example: RECEIVE Currency: title: Currency description: >- @@ -774,175 +4474,11 @@ components: type: string minLength: 3 maxLength: 3 - enum: - - AED - - AFN - - ALL - - AMD - - ANG - - AOA - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XCD - - XDR - - XOF - - XPF - - XTS - - XXX - - YER - - ZAR - - ZMW - - ZWD + enum: *ref_4 Amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ description: >- The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This @@ -950,10 +4486,11 @@ components: without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - transactionType: + example: '123.45' + transferTransactionType: + title: transferTransactionType type: string - enum: - - TRANSFER + enum: *ref_5 description: Type of transaction. Note: title: Note @@ -961,40 +4498,11 @@ components: minLength: 1 maxLength: 128 description: Memo assigned to transaction. + example: Note sent to Payee. transferRequest: type: object - required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - quoteRequestExtensions: - $ref: '#/components/schemas/extensionListEmptiable' - transferRequestExtensions: - $ref: '#/components/schemas/extensionListEmptiable' + required: *ref_70 + properties: *ref_71 CorrelationId: title: CorrelationId type: string @@ -1007,25 +4515,16 @@ components: 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 transferStatus: type: string - enum: - - ERROR_OCCURRED - - WAITING_FOR_PARTY_ACCEPTANCE - - WAITING_FOR_QUOTE_ACCEPTANCE - - COMPLETED + enum: *ref_19 Money: title: Money type: object description: Data model for the complex type Money. - properties: - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - required: - - currency - - amount + properties: *ref_6 + required: *ref_7 DateTime: title: DateTime type: string @@ -1040,6 +4539,7 @@ components: of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' Latitude: title: Latitude type: string @@ -1048,6 +4548,7 @@ components: description: >- The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + example: '+45.4215' Longitude: title: Longitude type: string @@ -1056,31 +4557,28 @@ components: description: >- The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + example: '+75.6972' GeoCode: title: GeoCode type: object description: >- Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - properties: - latitude: - $ref: '#/components/schemas/Latitude' - longitude: - $ref: '#/components/schemas/Longitude' - required: - - latitude - - longitude + properties: *ref_44 + required: *ref_45 IlpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). + example: >- + AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA IlpCondition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Condition that must be attached to the transfer by the Payer. ExtensionList: @@ -1089,58 +4587,25 @@ components: description: >- Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - properties: - extension: - type: array - items: - $ref: '#/components/schemas/Extension' - minItems: 1 - maxItems: 16 - description: Number of Extension elements. - required: - - extension + properties: *ref_10 + required: *ref_11 QuotesIDPutResponse: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' - properties: - transferAmount: - $ref: '#/components/schemas/Money' - payeeReceiveAmount: - $ref: '#/components/schemas/Money' - payeeFspFee: - $ref: '#/components/schemas/Money' - payeeFspCommission: - $ref: '#/components/schemas/Money' - expiration: - $ref: '#/components/schemas/DateTime' - geoCode: - $ref: '#/components/schemas/GeoCode' - ilpPacket: - $ref: '#/components/schemas/IlpPacket' - condition: - $ref: '#/components/schemas/IlpCondition' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferAmount - - expiration - - ilpPacket - - condition + description: The object sent in the PUT /quotes/{ID} callback. + properties: *ref_56 + required: *ref_57 IlpFulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Fulfilment that must be attached to the transfer by the Payee. + example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 TransferState: title: TransferState type: string - enum: - - RECEIVED - - RESERVED - - COMMITTED - - ABORTED + enum: *ref_27 description: >- Below are the allowed values for the enumeration. @@ -1152,25 +4617,17 @@ components: - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. + example: RESERVED TransfersIDPutResponse: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' - properties: - fulfilment: - $ref: '#/components/schemas/IlpFulfilment' - completedTimestamp: - $ref: '#/components/schemas/DateTime' - transferState: - $ref: '#/components/schemas/TransferState' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferState + description: The object sent in the PUT /transfers/{ID} callback. + properties: *ref_20 + required: *ref_21 ErrorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + pattern: ^[1-9]\d{3}$ description: >- The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading @@ -1179,6 +4636,7 @@ components: the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + example: '5100' ErrorDescription: title: ErrorDescription type: string @@ -1189,419 +4647,193 @@ components: title: ErrorInformation type: object description: Data model for the complex type ErrorInformation. - properties: - errorCode: - $ref: '#/components/schemas/ErrorCode' - errorDescription: - $ref: '#/components/schemas/ErrorDescription' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - errorCode - - errorDescription + properties: *ref_63 + required: *ref_64 mojaloopError: type: object - properties: - errorInformation: - $ref: '#/components/schemas/ErrorInformation' + properties: *ref_36 transferError: type: object description: >- This object represents a Mojaloop API error received at any time during the transfer process - properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - $ref: '#/components/schemas/mojaloopError' + properties: *ref_26 transferResponse: type: object - required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - currentState: - $ref: '#/components/schemas/transferStatus' - quoteId: - $ref: '#/components/schemas/CorrelationId' - quoteResponse: - $ref: '#/components/schemas/QuotesIDPutResponse' - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not - be the same as the FSPID of the entity which owns the end user - account in the case of a FOREX transfer. i.e. it may be a FOREX - gateway. - fulfil: - $ref: '#/components/schemas/TransfersIDPutResponse' - lastError: - $ref: '#/components/schemas/transferError' + required: *ref_12 + properties: *ref_13 errorResponse: type: object - properties: - statusCode: - type: string - description: Error code as string. - message: - type: string - description: Error message text. + properties: *ref_22 errorTransferResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - transferState - properties: - transferState: - $ref: '#/components/schemas/transferResponse' + allOf: *ref_14 transferStatusResponse: type: object - required: - - transferId - - currentState - - fulfil - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - currentState: - $ref: '#/components/schemas/transferStatus' - fulfil: - $ref: '#/components/schemas/TransfersIDPutResponse' + required: *ref_72 + properties: *ref_73 transferContinuationAcceptParty: type: object - required: - - acceptParty - properties: - acceptParty: - type: boolean - enum: - - true + required: *ref_28 + properties: *ref_29 transferContinuationAcceptQuote: type: object - required: - - acceptQuote - properties: - acceptQuote: - type: boolean - enum: - - true - - false - individualTransfer: - title: IndividualTransfer + required: *ref_32 + properties: *ref_33 + autoAcceptPartyOption: type: object - description: Data model for the complex type 'individualTransfer'. - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - extensions: - $ref: '#/components/schemas/ExtensionList' - required: - - transferId - - to - - amountType - - currency - - transactionType - bulkTransferRequest: + required: *ref_74 + properties: *ref_75 + bulkPerTransferFeeLimit: type: object - required: - - homeTransactionId - - from - - individualTransfers - properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - bulkTransferId: - $ref: '#/components/schemas/CorrelationId' - from: - $ref: '#/components/schemas/transferParty' - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualTransfer' - extensions: - $ref: '#/components/schemas/ExtensionList' + required: *ref_76 + properties: *ref_77 + autoAcceptQuote: + type: object + required: *ref_78 + properties: *ref_79 + bulkTransactionOptions: + type: object + required: *ref_80 + properties: *ref_81 + PartyIdInfo: + title: PartyIdInfo + type: object + description: >- + Data model for the complex type PartyIdInfo. An ExtensionList element + has been added to this reqeust in version v1.1 + properties: *ref_82 + required: *ref_83 + PartyName: + title: PartyName + type: string + minLength: 1 + maxLength: 128 + description: Name of the Party. Could be a real name or a nickname. + PartyComplexName: + title: PartyComplexName + type: object + description: Data model for the complex type PartyComplexName. + properties: *ref_84 + PartyPersonalInfo: + title: PartyPersonalInfo + type: object + description: Data model for the complex type PartyPersonalInfo. + properties: *ref_85 + Party: + title: Party + type: object + description: Data model for the complex type Party. + properties: *ref_24 + required: *ref_25 + bulkTransactionIndividualTransfer: + title: BulkTransactionIndividualTransfer + type: object + description: Data model for the complex type 'bulkTransactionIndividualTransfer'. + properties: *ref_86 + required: *ref_87 + bulkTransactionRequest: + type: object + required: *ref_88 + properties: *ref_89 + bulkTransferStatus: + type: string + enum: *ref_43 individualTransferResult: type: object - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - quoteId: - $ref: '#/components/schemas/CorrelationId' - quoteResponse: - $ref: '#/components/schemas/QuotesIDPutResponse' - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not - be the same as the FSPID of the entity which owns the end user - account in the case of a FOREX transfer. i.e. it may be a FOREX - gateway. - fulfil: - $ref: '#/components/schemas/TransfersIDPutResponse' - lastError: - $ref: '#/components/schemas/transferError' + required: *ref_90 + properties: *ref_91 bulkTransferResponse: type: object - required: - - from - - individualTransferResults - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - from: - $ref: '#/components/schemas/transferParty' - individualTransferResults: - type: array - maxItems: 1000 - items: - $ref: '#/components/schemas/individualTransferResult' - description: List of individual transfer result in a bulk transfer response. + required: *ref_39 + properties: *ref_40 bulkTransferErrorResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - $ref: '#/components/schemas/bulkTransferResponse' - bulkTransferStatus: - type: string - enum: - - ERROR_OCCURRED - - COMPLETED + allOf: *ref_92 + bulkTransactionIndividualTransferAccept: + type: object + description: Data model for the 'individualTransfer' while accepting party or quote. + properties: *ref_30 + required: *ref_31 + bulkTransactionContinuationAcceptParty: + description: >- + The object sent back as confirmation of payee parties when + autoAcceptParty is false. + type: object + required: *ref_34 + properties: *ref_35 + bulkTransactionContinuationAcceptQuote: + description: >- + The object sent back as confirmation of quotes when autoAcceptQuotes is + false. + type: object + required: *ref_37 + properties: *ref_38 + partyError: + type: object + description: >- + This object represents a Mojaloop API error received at any time during + the party discovery process + properties: *ref_93 + bulkTransactionAcceptPartyErrorResponse: + allOf: *ref_94 + quoteError: + type: object + description: >- + This object represents a Mojaloop API error received at any time during + the quote process + properties: *ref_46 + bulkTransactionAcceptQuoteErrorResponse: + allOf: *ref_95 + individualTransfer: + title: IndividualTransfer + type: object + description: Data model for the complex type 'individualTransfer'. + properties: *ref_96 + required: *ref_97 + bulkTransferRequest: + type: object + required: *ref_98 + properties: *ref_99 individualTransferFulfilment: type: object description: >- A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer - properties: - fulfilment: - $ref: '#/components/schemas/IlpFulfilment' - extensionList: - $ref: '#/components/schemas/ExtensionList' + properties: *ref_100 bulkTransferStatusResponse: type: object - required: - - bulkTransferId - - currentState - - fulfils - properties: - bulkTransferId: - $ref: '#/components/schemas/CorrelationId' - currentState: - $ref: '#/components/schemas/bulkTransferStatus' - fulfils: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualTransferFulfilment' + required: *ref_101 + properties: *ref_102 individualQuote: title: IndividualQuote type: object description: Data model for the complex type 'individualQuote'. - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - extensions: - $ref: '#/components/schemas/ExtensionList' - required: - - quoteId - - to - - amountType - - currency - - transactionType + properties: *ref_50 + required: *ref_51 bulkQuoteRequest: type: object - required: - - homeTransactionId - - from - - individualQuotes - properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - bulkQuoteId: - $ref: '#/components/schemas/CorrelationId' - from: - $ref: '#/components/schemas/transferParty' - individualQuotes: - description: List of individual quotes in a bulk quote. - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualQuote' - extensions: - $ref: '#/components/schemas/ExtensionList' - quoteError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the quote process - properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - $ref: '#/components/schemas/mojaloopError' + required: *ref_103 + properties: *ref_104 individualQuoteResult: type: object - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - lastError: - $ref: '#/components/schemas/quoteError' + properties: *ref_105 + required: *ref_106 bulkQuoteResponse: type: object - required: - - from - - individualQuoteResults - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - individualQuoteResults: - type: array - maxItems: 1000 - items: - $ref: '#/components/schemas/individualQuoteResult' - description: List of individualQuoteResults in a bulk transfer response. + required: *ref_47 + properties: *ref_48 bulkQuoteErrorResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - bulkTansferState - properties: - bulkQuoteState: - $ref: '#/components/schemas/bulkQuoteResponse' + allOf: *ref_49 bulkQuoteStatus: type: string - enum: - - ERROR_OCCURRED - - COMPLETED + enum: *ref_107 bulkQuoteStatusResponse: type: object - required: - - bulkQuoteId - - currentState - - individualQuotes - properties: - bulkQuoteId: - $ref: '#/components/schemas/CorrelationId' - currentState: - $ref: '#/components/schemas/bulkQuoteStatus' - individualQuotes: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualQuote' + required: *ref_108 + properties: *ref_109 TransactionScenario: title: TransactionScenario type: string - enum: - - DEPOSIT - - WITHDRAWAL - - TRANSFER - - PAYMENT - - REFUND + enum: *ref_110 description: >- Below are the allowed values for the enumeration. @@ -1625,19 +4857,19 @@ components: User are present, a bill payment, a donation, and so on. - REFUND - Used for performing a refund of transaction. + example: DEPOSIT TransactionSubScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + example: LOCALLY_DEFINED_SUBSCENARIO TransactionInitiator: title: TransactionInitiator type: string - enum: - - PAYER - - PAYEE + enum: *ref_53 description: >- Below are the allowed values for the enumeration. @@ -1649,914 +4881,234 @@ components: sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + example: PAYEE RefundReason: title: RefundReason type: string minLength: 1 maxLength: 128 description: Reason for the refund. + example: Free text indicating reason for the refund. Refund: title: Refund type: object description: Data model for the complex type Refund. - properties: - originalTransactionId: - $ref: '#/components/schemas/CorrelationId' - refundReason: - $ref: '#/components/schemas/RefundReason' - required: - - originalTransactionId + properties: *ref_111 + required: *ref_112 BalanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + example: '123' TransactionType: title: TransactionType type: object description: Data model for the complex type TransactionType. - properties: - scenario: - $ref: '#/components/schemas/TransactionScenario' - subScenario: - $ref: '#/components/schemas/TransactionSubScenario' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' - refundInfo: - $ref: '#/components/schemas/Refund' - balanceOfPayments: - $ref: '#/components/schemas/BalanceOfPayments' - required: - - scenario - - initiator - - initiatorType + properties: *ref_54 + required: *ref_55 requestToPayRequest: type: object - required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - scenario: - $ref: '#/components/schemas/TransactionType' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' + required: *ref_113 + properties: *ref_114 AuthenticationType: title: AuthenticationType type: string - enum: - - OTP - - QRCODE - - U2F + enum: *ref_115 description: |- Below are the allowed values for the enumeration AuthenticationType. - OTP - One-time password generated by the Payer FSP. - QRCODE - QR code used as One Time Password. - U2F - U2F is a new addition isolated to Thirdparty stream. + example: OTP TransactionRequestState: title: TransactionRequestState type: string - enum: - - RECEIVED - - PENDING - - ACCEPTED - - REJECTED + enum: *ref_116 description: |- Below are the allowed values for the enumeration. - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - PENDING - Payer FSP has sent the transaction request to the Payer. - ACCEPTED - Payer has approved the transaction. - REJECTED - Payer has rejected the transaction. + example: RECEIVED requestToPayResponse: type: object - required: - - transactionRequestId - - from - - to - - amountType - - currency - - amount - - transactionType - - requestToPayState - properties: - transactionRequestId: - $ref: '#/components/schemas/CorrelationId' - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - scenario: - $ref: '#/components/schemas/TransactionType' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' - authenticationType: - $ref: '#/components/schemas/AuthenticationType' - requestToPayState: - $ref: '#/components/schemas/TransactionRequestState' + required: *ref_117 + properties: *ref_118 requestToPayTransferRequest: type: object - required: - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - scenario: - $ref: '#/components/schemas/TransactionType' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' - note: - $ref: '#/components/schemas/Note' + required: *ref_119 + properties: *ref_120 requestToPayTransferResponse: type: object - required: - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - currentState: - $ref: '#/components/schemas/transferStatus' - quoteId: - $ref: '#/components/schemas/CorrelationId' - quoteResponse: - $ref: '#/components/schemas/QuotesIDPutResponse' - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not - be the same as the FSPID of the entity which owns the end user - account in the case of a FOREX transfer. i.e. it may be a FOREX - gateway. - fulfil: - $ref: '#/components/schemas/TransfersIDPutResponse' - lastError: - $ref: '#/components/schemas/transferError' + required: *ref_121 + properties: *ref_122 transferContinuationAcceptOTP: type: object - required: - - acceptOTP - properties: - acceptOTP: - type: boolean - enum: - - true - - false + required: *ref_123 + properties: *ref_124 accountsRequest: type: array - items: - type: object - required: - - idType - - idValue - - currency - properties: - idType: - $ref: '#/components/schemas/PartyIdType' - idValue: - $ref: '#/components/schemas/PartyIdentifier' - idSubValue: - $ref: '#/components/schemas/PartySubIdOrType' - currency: - $ref: '#/components/schemas/Currency' + items: *ref_58 accountCreationStatus: type: array - items: - type: object - required: - - idType - - idValue - properties: - idType: - $ref: '#/components/schemas/PartyIdType' - idValue: - $ref: '#/components/schemas/PartyIdentifier' - idSubValue: - $ref: '#/components/schemas/PartySubIdOrType' - error: - $ref: '#/components/schemas/errorResponse' + items: *ref_125 accountsCreationState: type: string - enum: - - ERROR_OCCURRED - - COMPLETED + enum: *ref_126 accountsResponse: type: object - required: - - accounts - properties: - modelId: - $ref: '#/components/schemas/CorrelationId' - accounts: - $ref: '#/components/schemas/accountsRequest' - response: - $ref: '#/components/schemas/accountCreationStatus' - currentState: - $ref: '#/components/schemas/accountsCreationState' - lastError: - $ref: '#/components/schemas/transferError' + required: *ref_59 + properties: *ref_60 errorAccountsResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - executionState - properties: - executionState: - $ref: '#/components/schemas/accountsResponse' - AccountAddress: - title: AccountAddress - type: string - description: > - A long-lived unique account identifier provided by the DFSP. This MUST - NOT - - be Bank Account Number or anything that may expose a User's private bank - - account information. - pattern: '^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$' - minLength: 1 - maxLength: 1023 - Account: - title: Account - type: object - description: Data model for the complex type Account. - properties: - address: - $ref: '#/components/schemas/AccountAddress' - currency: - $ref: '#/components/schemas/Currency' - description: - $ref: '#/components/schemas/Name' - required: - - currency - AccountList: - title: AccountList - type: object - description: Data model for the complex type AccountList. - properties: - account: - type: array - items: - $ref: '#/components/schemas/Account' - minItems: 1 - maxItems: 32 - description: Accounts associated with the Party. - required: - - account - PartyIdInfo: - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: - partyIdType: - $ref: '#/components/schemas/PartyIdType' - partyIdentifier: - $ref: '#/components/schemas/PartyIdentifier' - partySubIdOrType: - $ref: '#/components/schemas/PartySubIdOrType' - fspId: - $ref: '#/components/schemas/FspId' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - partyIdType - - partyIdentifier - PartyName: - title: PartyName - type: string - minLength: 1 - maxLength: 128 - description: Name of the Party. Could be a real name or a nickname. - PartyComplexName: - title: PartyComplexName - type: object - description: Data model for the complex type PartyComplexName. - properties: - firstName: - $ref: '#/components/schemas/FirstName' - middleName: - $ref: '#/components/schemas/MiddleName' - lastName: - $ref: '#/components/schemas/LastName' - PartyPersonalInfo: - title: PartyPersonalInfo - type: object - description: Data model for the complex type PartyPersonalInfo. - properties: - complexName: - $ref: '#/components/schemas/PartyComplexName' - dateOfBirth: - $ref: '#/components/schemas/DateOfBirth' - Party: - title: Party - type: object - description: Data model for the complex type Party. - properties: - accounts: - $ref: '#/components/schemas/AccountList' - partyIdInfo: - $ref: '#/components/schemas/PartyIdInfo' - merchantClassificationCode: - $ref: '#/components/schemas/MerchantClassificationCode' - name: - $ref: '#/components/schemas/PartyName' - personalInfo: - $ref: '#/components/schemas/PartyPersonalInfo' - required: - - partyIdInfo + allOf: *ref_62 async2SyncCurrentState: type: string - enum: - - WAITING_FOR_ACTION - - COMPLETED - - ERROR_OCCURRED + enum: *ref_69 partiesByIdResponse: title: partiesByIdResponse type: object - description: 'GET /parties/{Type}/{ID} response object' - properties: - party: - $ref: '#/components/schemas/Party' - currentState: - $ref: '#/components/schemas/async2SyncCurrentState' - required: - - party - - currentState + description: GET /parties/{Type}/{ID} response object + properties: *ref_127 + required: *ref_128 QuotesPostRequest: title: QuotesPostRequest type: object description: The object sent in the POST /quotes request. - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - transactionId: - $ref: '#/components/schemas/CorrelationId' - transactionRequestId: - $ref: '#/components/schemas/CorrelationId' - payee: - $ref: '#/components/schemas/Party' - payer: - $ref: '#/components/schemas/Party' - amountType: - $ref: '#/components/schemas/AmountType' - amount: - $ref: '#/components/schemas/Money' - fees: - $ref: '#/components/schemas/Money' - transactionType: - $ref: '#/components/schemas/TransactionType' - geoCode: - $ref: '#/components/schemas/GeoCode' - note: - $ref: '#/components/schemas/Note' - expiration: - $ref: '#/components/schemas/DateTime' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - quoteId - - transactionId - - payee - - payer - - amountType - - amount - - transactionType - quotesPostRequest: - title: QuotesPostRequest + properties: *ref_129 + required: *ref_130 + simpleQuotesPostRequest: + title: simpleQuotesPostRequest type: object - properties: - fspId: - $ref: '#/components/schemas/FspId' - quotesPostRequest: - $ref: '#/components/schemas/QuotesPostRequest' - required: - - fspId - - quotesPostRequest + properties: *ref_131 + required: *ref_132 quotesPostResponse: title: QuotesPostResponse type: object - properties: - quotes: - title: QuotesIDPutResponse - type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' - properties: - transferAmount: - $ref: '#/components/schemas/Money' - payeeReceiveAmount: - $ref: '#/components/schemas/Money' - payeeFspFee: - $ref: '#/components/schemas/Money' - payeeFspCommission: - $ref: '#/components/schemas/Money' - expiration: - type: string - description: >- - Date and time until when the quotation is valid and can be - honored when used in the subsequent transaction. - example: '2016-05-24T08:38:08.699-04:00' - geoCode: - $ref: '#/components/schemas/GeoCode' - ilpPacket: - $ref: '#/components/schemas/IlpPacket' - condition: - $ref: '#/components/schemas/IlpCondition' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferAmount - - expiration - - ilpPacket - - condition - currentState: - $ref: '#/components/schemas/async2SyncCurrentState' - required: - - quotes - - currentState + properties: *ref_133 + required: *ref_134 errorQuotesResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object + allOf: *ref_135 TransfersPostRequest: title: TransfersPostRequest type: object description: The object sent in the POST /transfers request. - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - payeeFsp: - $ref: '#/components/schemas/FspId' - payerFsp: - $ref: '#/components/schemas/FspId' - amount: - $ref: '#/components/schemas/Money' - ilpPacket: - $ref: '#/components/schemas/IlpPacket' - condition: - $ref: '#/components/schemas/IlpCondition' - expiration: - $ref: '#/components/schemas/DateTime' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferId - - payeeFsp - - payerFsp - - amount - - ilpPacket - - condition - - expiration + properties: *ref_136 + required: *ref_137 simpleTransfersPostRequest: title: SimpleTransfersPostRequest type: object - properties: - fspId: - $ref: '#/components/schemas/FspId' - transfersPostRequest: - $ref: '#/components/schemas/TransfersPostRequest' - required: - - fspId - - transfersPostRequest + properties: *ref_138 + required: *ref_139 simpleTransfersPostResponse: title: SimpleTransfersPostResponse type: object - properties: - transfer: - $ref: '#/components/schemas/TransfersIDPutResponse' - currentState: - $ref: '#/components/schemas/async2SyncCurrentState' - required: - - transfer - - currentState + properties: *ref_140 + required: *ref_141 errorSimpleTransfersResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - AuthorizationChannelType: - title: AuthorizationChannelType - type: string - enum: - - OTP - - QRCODE - - U2F - description: > - Below are the allowed values for the enumeration - AuthorizationChannelType. - - - OTP - One-time password generated by the Payer FSP. - - - QRCODE - QR code used as One Time Password. - - - U2F - U2F is a new addition isolated to Thirdparty stream. - - - This is based on FSPIOP `AuthenticationType` with U2F added. - example: U2F - Integer: - title: Integer - type: string - pattern: '^[1-9]\d*$' - description: >- - The API data type Integer is a JSON String consisting of digits only. - Negative numbers and leading zeroes are not allowed. The data type is - always limited to a specific number of digits. - AuthorizationsPostRequest: - title: AuthorizationsPostRequest - description: POST /authorizations request object. - type: object - properties: - authenticationType: - $ref: '#/components/schemas/AuthorizationChannelType' - retriesLeft: - $ref: '#/components/schemas/Integer' - amount: - $ref: '#/components/schemas/Money' - transactionId: - $ref: '#/components/schemas/CorrelationId' - transactionRequestId: - $ref: '#/components/schemas/CorrelationId' - quote: - $ref: '#/components/schemas/QuotesIDPutResponse' - required: - - authenticationType - - retriesLeft - - amount - - transactionId - - transactionRequestId - - quote - additionalProperties: false - authorizationsPostRequest: - title: AuthorizationsPostRequest - description: POST /authorizations Request object - type: object - properties: - fspId: - $ref: '#/components/schemas/FspId' - authorizationsPostRequest: - $ref: '#/components/schemas/AuthorizationsPostRequest' - required: - - fspId - - authorizationsPostRequest - OtpValue: - title: OtpValue - type: string - pattern: '^\d{3,10}$' - description: >- - The API data type OtpValue is a JSON String of 3 to 10 characters, - consisting of digits only. Negative numbers are not allowed. One or more - leading zeros are allowed. - QRCODE: - title: QRCODE - type: string - minLength: 1 - maxLength: 64 - description: QR code used as a One Time Password. - U2FPIN: - title: U2FPIN - type: string - pattern: '^\S{1,64}$' - minLength: 1 - maxLength: 64 - description: > - U2F challenge-response, where payer FSP verifies if the response - provided by end-user device matches the previously registered key. - U2FPinValue: - title: U2FPinValue - type: object - description: > - U2F challenge-response, where payer FSP verifies if the response - provided by end-user device matches the previously registered key. - properties: - pinValue: - allOf: - - $ref: '#/components/schemas/U2FPIN' - description: U2F challenge-response. - counter: - allOf: - - $ref: '#/components/schemas/Integer' - description: >- - Sequential counter used for cloning detection. Present only for U2F - authentication. - required: - - pinValue - - counter - AuthenticationValue: - title: AuthenticationValue - anyOf: - - $ref: '#/components/schemas/OtpValue' - - $ref: '#/components/schemas/QRCODE' - - $ref: '#/components/schemas/U2FPinValue' - pattern: '^\d{3,10}$|^\S{1,64}$' - description: >- - Contains the authentication value. The format depends on the - authentication type used in the AuthenticationInfo complex type. - AuthenticationInfo: - title: AuthenticationInfo - type: object - description: Data model for the complex type AuthenticationInfo. - properties: - authentication: - $ref: '#/components/schemas/AuthenticationType' - authenticationValue: - $ref: '#/components/schemas/AuthenticationValue' - required: - - authentication - - authenticationValue - AuthorizationResponseType: - title: AuthorizationResponseType - description: | - Enum containing response information; if the customer entered the - authentication value, rejected the transaction, or requested a - resend of the authentication value. - type: string - enum: - - ENTERED - - REJECTED - - RESEND - authorizationsPostResponse: - title: AuthorizationsPostResponse - description: POST /authorizations response object - type: object - properties: - authorizations: - type: object - properties: - authenticationInfo: - $ref: '#/components/schemas/AuthenticationInfo' - responseType: - $ref: '#/components/schemas/AuthorizationResponseType' - required: - - responseType - currentState: - $ref: '#/components/schemas/async2SyncCurrentState' - required: - - authorizations - - currentState - additionalProperties: false - errorAuthorizationsResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object + allOf: *ref_142 responses: transferSuccess: description: Transfer completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/transferResponse' + content: *ref_15 transferBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' + description: Malformed or missing required body, headers or parameters + content: *ref_143 transferServerError: description: An error occurred processing the transfer - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' + content: *ref_16 transferTimeout: description: Timeout occurred processing the transfer - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' + content: *ref_17 + bulkTransactionAccepted: + description: Bulk transfer accepted successfully + bulkTransferBadRequest: + description: Malformed or missing required body, headers or parameters + content: *ref_41 + errorResponse: + description: Internal Server Error + content: *ref_42 + bulkTransactionPutBadRequest: + description: Malformed or missing required body, headers or parameters + content: *ref_144 bulkTransferSuccess: description: Bulk transfer completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferResponse' - bulkTransferBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferErrorResponse' - bulkTransferServerError: - description: An error occurred processing the bulk transfer - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferErrorResponse' - bulkTransferTimeout: - description: Timeout occurred processing the bulk transfer - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferErrorResponse' + content: *ref_145 bulkQuoteSuccess: description: Bulk quote completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteResponse' + content: *ref_146 bulkQuoteBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteErrorResponse' + description: Malformed or missing required body, headers or parameters + content: *ref_147 bulkQuoteServerError: description: An error occurred processing the bulk quote - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteErrorResponse' + content: *ref_148 bulkQuoteTimeout: description: Timeout occurred processing the bulk quote - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteErrorResponse' + content: *ref_149 requestToPaySuccess: description: Request to Pay completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/requestToPayResponse' + content: *ref_150 requestToPayTransferSuccess: description: Transfer completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/requestToPayTransferResponse' + content: *ref_151 requestToPayTransferBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' + description: Malformed or missing required body, headers or parameters + content: *ref_152 accountsCreationCompleted: description: Accounts creation completed - content: - application/json: - schema: - $ref: '#/components/schemas/accountsResponse' + content: *ref_153 accountsCreationError: description: An error occurred creating accounts - content: - application/json: - schema: - $ref: '#/components/schemas/errorAccountsResponse' + content: *ref_61 accountsCreationTimeout: description: Timeout occurred creating accounts - content: - application/json: - schema: - $ref: '#/components/schemas/errorAccountsResponse' + content: *ref_154 partiesByIdSuccess: description: PartiesByIdSuccess - content: - application/json: - schema: - $ref: '#/components/schemas/partiesByIdResponse' + content: *ref_67 partiesByIdError404: description: PartiesByIdError404 - content: - application/json: - schema: - type: object - properties: - errorInformation: - $ref: '#/components/schemas/ErrorInformation' + content: *ref_68 quotesPostSuccess: description: sync response from POST /quotes - content: - application/json: - schema: - $ref: '#/components/schemas/quotesPostResponse' + content: *ref_155 quotesServerError: description: An error occurred processing the quotes request - content: - application/json: - schema: - $ref: '#/components/schemas/errorQuotesResponse' + content: *ref_156 simpleTransfersPostSuccess: description: sync response from POST /simpleTransfers - content: - application/json: - schema: - $ref: '#/components/schemas/simpleTransfersPostResponse' + content: *ref_157 simpleTransfersServerError: description: An error occurred processing the simple transfers request - content: - application/json: - schema: - $ref: '#/components/schemas/errorSimpleTransfersResponse' - authorizationPostSuccess: - description: Sync response from POST /authorizations - content: - application/json: - schema: - $ref: '#/components/schemas/authorizationsPostResponse' - authorizationsServerError: - description: An error occurred processing the authorizations request - content: - application/json: - schema: - $ref: '#/components/schemas/errorAuthorizationsResponse' + content: *ref_158 parameters: transferId: name: transferId in: path required: true - schema: - $ref: '#/components/schemas/CorrelationId' + schema: *ref_18 description: >- Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. + bulkTransactionId: + name: bulkTransactionId + in: path + required: true + schema: *ref_159 + description: >- + Identifier of the bulk transaction to continue as returned in the + response to a `POST /bulkTransaction` request. bulkTransferId: name: bulkTransferId in: path required: true - schema: - $ref: '#/components/schemas/CorrelationId' + schema: *ref_160 description: >- Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. @@ -2564,8 +5116,7 @@ components: name: bulkQuoteId in: path required: true - schema: - $ref: '#/components/schemas/CorrelationId' + schema: *ref_161 description: >- Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. @@ -2573,8 +5124,7 @@ components: name: requestToPayTransactionId in: path required: true - schema: - $ref: '#/components/schemas/CorrelationId' + schema: *ref_162 description: >- Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. @@ -2582,22 +5132,19 @@ components: name: Type in: path required: true - schema: - type: string - description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.' + schema: *ref_65 + description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. ID: name: ID in: path required: true - schema: - type: string + schema: *ref_66 description: The identifier value. SubId: name: SubId in: path required: true - schema: - type: string + schema: *ref_163 description: >- A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. diff --git a/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 36af3efc4..83dd10661 100644 --- a/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -1817,7 +1817,6 @@ paths: accept party information. type: array minItems: 1 - maxItems: 1000 items: allOf: - type: object @@ -1847,9 +1846,25 @@ paths: characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the + same sequence. The API data type UUID + (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), + that is restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 + dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 required: &ref_31 - homeTransactionId - - transactionId + - transferId - type: object required: *ref_28 properties: *ref_29 @@ -1871,7 +1886,6 @@ paths: description: List of individual transfers in a bulk transfer. type: array minItems: 1 - maxItems: 1000 items: allOf: - type: object @@ -5133,4 +5147,4 @@ components: schema: *ref_163 description: >- A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. \ No newline at end of file + identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. diff --git a/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 36af3efc4..83dd10661 100644 --- a/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -1817,7 +1817,6 @@ paths: accept party information. type: array minItems: 1 - maxItems: 1000 items: allOf: - type: object @@ -1847,9 +1846,25 @@ paths: characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the + same sequence. The API data type UUID + (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), + that is restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 + dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 required: &ref_31 - homeTransactionId - - transactionId + - transferId - type: object required: *ref_28 properties: *ref_29 @@ -1871,7 +1886,6 @@ paths: description: List of individual transfers in a bulk transfer. type: array minItems: 1 - maxItems: 1000 items: allOf: - type: object @@ -5133,4 +5147,4 @@ components: schema: *ref_163 description: >- A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. \ No newline at end of file + identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. diff --git a/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 36af3efc4..83dd10661 100644 --- a/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -1817,7 +1817,6 @@ paths: accept party information. type: array minItems: 1 - maxItems: 1000 items: allOf: - type: object @@ -1847,9 +1846,25 @@ paths: characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transferId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the + same sequence. The API data type UUID + (Universally Unique Identifier) is a JSON + String in canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), + that is restricted by a regular expression for + interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 + dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 required: &ref_31 - homeTransactionId - - transactionId + - transferId - type: object required: *ref_28 properties: *ref_29 @@ -1871,7 +1886,6 @@ paths: description: List of individual transfers in a bulk transfer. type: array minItems: 1 - maxItems: 1000 items: allOf: - type: object @@ -5133,4 +5147,4 @@ components: schema: *ref_163 description: >- A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. \ No newline at end of file + identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. diff --git a/test/func/docker-compose.yml b/test/func/docker-compose.yml index 245afafce..60cdd15fd 100644 --- a/test/func/docker-compose.yml +++ b/test/func/docker-compose.yml @@ -27,10 +27,12 @@ services: networks: - mojaloop-net env_file: ./config/sdk-ttksim1/api-svc.env + command: yarn workspace @mojaloop/sdk-scheme-adapter-api-svc run start:debug ports: - "14000:4000" - "14001:4001" - "14002:4002" + - "19221:9229" depends_on: - redis @@ -39,8 +41,10 @@ services: file: common-sdk.yml service: outbound-command-event-handler env_file: ./config/sdk-ttksim1/outbound-command-event-handler.env + command: yarn workspace @mojaloop/sdk-scheme-adapter-outbound-command-event-handler run start:debug ports: - "18000:8000" + - "19222:9229" networks: - mojaloop-net depends_on: @@ -54,6 +58,10 @@ services: file: common-sdk.yml service: outbound-domain-event-handler env_file: ./config/sdk-ttksim1/outbound-domain-event-handler.env + command: yarn workspace @mojaloop/sdk-scheme-adapter-outbound-domain-event-handler run start:debug + ports: + - "18001:8000" + - "19223:9229" networks: - mojaloop-net depends_on: @@ -62,7 +70,6 @@ services: init-kafka: condition: service_completed_successfully - ttksim2-sdk-api-svc: extends: file: common-sdk.yml diff --git a/test/func/ttk-testcases/bulk_happy_path_dynamic.json b/test/func/ttk-testcases/bulk_happy_path_dynamic.json index 08a70b416..52a4af621 100644 --- a/test/func/ttk-testcases/bulk_happy_path_dynamic.json +++ b/test/func/ttk-testcases/bulk_happy_path_dynamic.json @@ -94,10 +94,11 @@ ] }, "ignoreCallbacks": false, + "disabled": false, "scripts": { "preRequest": { "exec": [ - "environment.totalIndividualTransfers = 100", + "environment.totalIndividualTransfers = 10", "", "const individualTransfers = []", "for(let i=1; i<=environment.totalIndividualTransfers/2; i++) {", @@ -233,6 +234,7 @@ "for(let i=1; i<=environment.totalIndividualTransfers; i++) {", " individualTransfers.push({", " transactionId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transactionId,", + " transferId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transferId,", " acceptParty: true,", " homeTransactionId: 'abc' + i,", " })", @@ -241,6 +243,8 @@ "custom.appendRequestBody({", " individualTransfers: individualTransfers", "})", + "", + "console.log(individualTransfers)", "" ] }, @@ -386,6 +390,7 @@ "for(let i=1; i<=environment.totalIndividualTransfers; i++) {", " individualTransfers.push({", " transactionId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transactionId,", + " transferId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transferId,", " acceptQuote: true,", " homeTransactionId: 'abc' + i,", " })", @@ -394,6 +399,8 @@ "custom.appendRequestBody({", " individualTransfers: individualTransfers", "})", + "", + "console.log(individualTransfers)", "" ] }, diff --git a/yarn.lock b/yarn.lock index fec3f1b06..58c2f281c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2022,9 +2022,9 @@ __metadata: languageName: node linkType: hard -"@mojaloop/api-snippets@npm:^16.0.6": - version: 16.0.6 - resolution: "@mojaloop/api-snippets@npm:16.0.6" +"@mojaloop/api-snippets@npm:17.0.0-snapshot.0": + version: 17.0.0-snapshot.0 + resolution: "@mojaloop/api-snippets@npm:17.0.0-snapshot.0" dependencies: "@apidevtools/json-schema-ref-parser": ^9.0.9 commander: ^9.4.1 @@ -2035,7 +2035,7 @@ __metadata: openapi-typescript: ^5.4.1 ts-auto-mock: ^3.6.2 ttypescript: ^1.5.13 - checksum: 1bba9a429f712c1b5a871306d0b86564c3621a10a525a7841850f4feaa2c11a39812a591afb2185b14be47158f1c623dac09f170ffa0736196416731b03ddd86 + checksum: 660b652733335d5c331a3fc98eba529d74275f262100b47c259aa39af6f6093e83a6479b641053f9c14d1ae2e6f3d524b2702b83fb1fa8e7923d2c0cd3d5ab7f languageName: node linkType: hard @@ -2214,7 +2214,7 @@ __metadata: "@babel/core": ^7.20.2 "@babel/preset-env": ^7.20.2 "@koa/cors": ^4.0.0 - "@mojaloop/api-snippets": ^16.0.6 + "@mojaloop/api-snippets": 17.0.0-snapshot.0 "@mojaloop/central-services-error-handling": ^12.0.5 "@mojaloop/central-services-logger": ^11.0.1 "@mojaloop/central-services-metrics": ^12.0.5 @@ -2269,7 +2269,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler@workspace:modules/outbound-command-event-handler" dependencies: - "@mojaloop/api-snippets": ^16.0.6 + "@mojaloop/api-snippets": 17.0.0-snapshot.0 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 @@ -2308,7 +2308,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler@workspace:modules/outbound-domain-event-handler" dependencies: - "@mojaloop/api-snippets": ^16.0.6 + "@mojaloop/api-snippets": 17.0.0-snapshot.0 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^" @@ -2345,7 +2345,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-private-shared-lib@workspace:modules/private-shared-lib" dependencies: - "@mojaloop/api-snippets": ^16.0.6 + "@mojaloop/api-snippets": 17.0.0-snapshot.0 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/platform-shared-lib-messaging-types-lib": ^0.2.18 From 1bf3617d9b6658b6b667fb371ab410a96db59e9b Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 13:51:54 +0200 Subject: [PATCH 02/20] chore(snapshot): 21.4.0-snapshot.0 --- modules/api-svc/package.json | 2 +- modules/outbound-command-event-handler/package.json | 2 +- modules/outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 742246199..9df238bb4 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-api-svc", - "version": "20.3.4", + "version": "20.4.0-snapshot.0", "description": "An adapter for connecting to Mojaloop API enabled switches.", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index d4ce07f9c..07d5600fb 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler", - "version": "0.2.9", + "version": "0.2.10-snapshot.0", "description": "mojaloop sdk scheme adapter command event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index 0ccefc3ff..6befc98b0 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler", - "version": "0.2.9", + "version": "0.2.10-snapshot.0", "description": "mojaloop sdk scheme adapter outbound domain event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index cd9c1c9ce..4f83c06cf 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-private-shared-lib", - "version": "0.3.9", + "version": "0.3.10-snapshot.0", "description": "SDK Scheme Adapter private shared library.", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types", diff --git a/package.json b/package.json index fc8820c9f..a93da4b88 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter", - "version": "21.3.4", + "version": "21.4.0-snapshot.0", "description": "mojaloop sdk-scheme-adapter", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter", From f32ae2ba43f9815cffa689f4bd1d901cdd5ae03a Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 13:53:48 +0200 Subject: [PATCH 03/20] docs: cleanup on readme --- README.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d8d50a38f..46ff4b0fc 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,6 @@ _Note that these instructions are for Linux based systems. For Mac and/or Window You can now examine the code of the Mock DFSP backend to understand how it implements the scheme-adapter simplified inbound API. - ## Testing ### Unit Tests @@ -162,12 +161,14 @@ src/junit.xml ``` ### Get status of quote request + The status of a previously sent quotation request can be get by executing `GET /quotes/{ID}`. When the response to the original quote request is sent, the response is cached in the redis store. When a `GET /quotes/{ID}` is received, the cached response is retrieved from the redis store and returned to the caller as a body with `PUT /quotes/{ID}` request. When the redis is setup as a persistent store then it will return the response for all the quote requests sent with `POST /quotes`. If the the redis is setup as cache with expiry time then it will not return response for the expired quotes when the cache expires. Also only the payer dfsp is supposed to make the `GET /quotes/{ID}` request. If the quote response is not found in the redis store `PUT /quotes/{ID}` will be made with the following body -``` + +```json { "errorInformation":{ "errorCode":"3205", @@ -177,6 +178,7 @@ If the quote response is not found in the redis store `PUT /quotes/{ID}` will be ``` ### Dev Tools + This project uses @redocly/openapi-cli and @mojaloop/api-snippets to build interfaces. Any interface changes should be done in the corresponding `api-template.yaml` @@ -222,16 +224,17 @@ push a release triggering another subsequent build that also publishes a docker * It is unknown if a race condition might occur with multiple merges with master in quick succession, but this is a suspected edge case. - ### Running monorepo - Start the dependencies -``` + +```bash docker-compose up ``` - Run application -``` + +```bash nvm use yarn install yarn run build @@ -244,20 +247,20 @@ Note: api-svc is failing to start at the moment. - Produce a domain event with the following test code -``` +```bash yarn workspace @mojaloop/sdk-scheme-adapter-outbound-domain-event-handler run test:integration ``` - Observe the bulk transaction state using test API Go to `http://localhost:8000/docs/` and execute the `GET /bulkTransactionsState` request and see response - - Redis commands to observe -``` +```redis KEYS * HKEYS outboundBulkTransaction_b51ec534-ee48-4575-b6a9-ead2955b8069 HGET outboundBulkTransaction_b51ec534-ee48-4575-b6a9-ead2955b8069 bulkTransactionEntityState HGET outboundBulkTransaction_b51ec534-ee48-4575-b6a9-ead2955b8069 individualItem_ ``` + Note: If you run test code multiple times, you may observe duplicate individual transfer added to the same bulk transaction. Duplicate check should be implemented somewhere to handle this. From 5f3c2ef6d6006929099c45d4f1b9fcb5f1523666 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 15:27:48 +0200 Subject: [PATCH 04/20] fix: for outbound-command-handler integration tests --- .circleci/config.yml | 1 - docker-compose.yml | 1 + .../process_bulk_quotes_callback.test.ts | 16 ++++++++-------- ...cess_sdk_outbound_bulk_quotes_request.test.ts | 6 +++--- .../process_bulk_accept_party_info.test.ts | 4 ++-- .../process_prepare_bulk_response.test.ts | 4 ++-- ...bound_bulk_accept_party_info_received.test.ts | 2 +- .../test/util/generator.ts | 16 ++++++++-------- 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 156749d53..27af402fd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,7 +37,6 @@ defaults_license_scanner: &defaults_license_scanner git clone https://github.com/mojaloop/license-scanner /tmp/license-scanner cd /tmp/license-scanner && make build default-files set-up - defaults_export_version_from_package: &defaults_export_version_from_package name: Format the changelog into the github release body and get release tag command: | diff --git a/docker-compose.yml b/docker-compose.yml index 32fd9cadf..7ed75e5cf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,6 +18,7 @@ services: - "4000:4000" - "4001:4001" - "4002:4002" + - "9229:9229" depends_on: - redis - ml-testing-toolkit diff --git a/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts b/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts index afeb0d31a..422d86b0e 100644 --- a/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts @@ -332,22 +332,22 @@ import { Timer } from "../../../util/timer"; individualTransfers: [ { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('1')], + transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('2')], + transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('3')], + transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('4')], + transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptParty: true } ] @@ -750,22 +750,22 @@ import { Timer } from "../../../util/timer"; individualTransfers: [ { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('1')], + transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('2')], + transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('3')], + transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('4')], + transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptParty: true } ] diff --git a/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts b/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts index 3742bc229..29e3a09b2 100644 --- a/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts @@ -279,17 +279,17 @@ describe("Tests for ProcessSDKOutboundBulkQuotesRequest Event Handler", () => { individualTransfers: [ { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('1')], + transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('2')], + transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: false }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('3')], + transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true } ] diff --git a/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts b/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts index 5c669e09c..ce5b7822a 100644 --- a/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts @@ -244,12 +244,12 @@ describe("Tests for ProcessSDKOutboundBulkAcceptPartyInfo Event Handler", () => individualTransfers: [ { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('1')], + transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('2')], + transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: false } ] diff --git a/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts b/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts index 71d9b5cdb..ccfc555e4 100644 --- a/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts @@ -240,12 +240,12 @@ describe("Tests for PrepareSDKOutboundBulkResponseCmdEvt Command Event", () => { individualTransfers: [ { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('1')], + transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('2')], + transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: false } ] diff --git a/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts b/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts index bc4ba79ee..849ac42c1 100644 --- a/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts +++ b/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts @@ -149,7 +149,7 @@ describe.skip('SDKOutboundBulkAcceptPartyInfoRequested', () => { individualTransfers: [ { homeTransactionId: homeTransactionId1, - transactionId: allIndividualTransferIds[0], + transferId: allIndividualTransferIds[0], acceptParty: true } ] diff --git a/modules/outbound-command-event-handler/test/util/generator.ts b/modules/outbound-command-event-handler/test/util/generator.ts index c3884fbb8..edbe93717 100644 --- a/modules/outbound-command-event-handler/test/util/generator.ts +++ b/modules/outbound-command-event-handler/test/util/generator.ts @@ -415,22 +415,22 @@ export class ProcessHelper { individualTransfers: [ { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('1')], + transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('2')], + transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('3')], + transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('4')], + transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptParty: true } ] @@ -621,22 +621,22 @@ export class ProcessHelper { individualTransfers: [ { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('1')], + transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptQuote: true }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('2')], + transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptQuote: false }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('3')], + transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptQuote: false }, { homeTransactionId: 'string', - transactionId: randomGeneratedTransferIds[amountList.indexOf('4')], + transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptQuote: false } ] From ab3698cec0fe0f5caea80d019d2d03acdae78ca6 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 15:47:17 +0200 Subject: [PATCH 05/20] chore(snapshot): 21.4.0-snapshot.1 --- modules/api-svc/package.json | 2 +- modules/outbound-command-event-handler/package.json | 2 +- modules/outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 9df238bb4..b9e18a9d1 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-api-svc", - "version": "20.4.0-snapshot.0", + "version": "20.4.0-snapshot.1", "description": "An adapter for connecting to Mojaloop API enabled switches.", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index 07d5600fb..f75a68294 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler", - "version": "0.2.10-snapshot.0", + "version": "0.2.10-snapshot.1", "description": "mojaloop sdk scheme adapter command event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index 6befc98b0..a46d96fb1 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler", - "version": "0.2.10-snapshot.0", + "version": "0.2.10-snapshot.1", "description": "mojaloop sdk scheme adapter outbound domain event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index 4f83c06cf..c8bed9d38 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-private-shared-lib", - "version": "0.3.10-snapshot.0", + "version": "0.3.10-snapshot.1", "description": "SDK Scheme Adapter private shared library.", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types", diff --git a/package.json b/package.json index a93da4b88..be8c82422 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter", - "version": "21.4.0-snapshot.0", + "version": "21.4.0-snapshot.1", "description": "mojaloop sdk-scheme-adapter", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter", From 3c1bbcd65d3613e82f8ab2b40de818d56d1549db Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 15:48:08 +0200 Subject: [PATCH 06/20] updated api-snippets --- modules/api-svc/package.json | 2 +- .../outbound-command-event-handler/package.json | 2 +- .../outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- yarn.lock | 16 ++++++++-------- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index b9e18a9d1..9c5bbc4ba 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -61,7 +61,7 @@ }, "dependencies": { "@koa/cors": "^4.0.0", - "@mojaloop/api-snippets": "17.0.0-snapshot.0", + "@mojaloop/api-snippets": "17.0.0-snapshot.1", "@mojaloop/central-services-error-handling": "^12.0.5", "@mojaloop/central-services-logger": "^11.0.1", "@mojaloop/central-services-metrics": "^12.0.5", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index f75a68294..e0c0ef7bd 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -41,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.0", + "@mojaloop/api-snippets": "17.0.0-snapshot.1", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index a46d96fb1..8b0fa4e53 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -41,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.0", + "@mojaloop/api-snippets": "17.0.0-snapshot.1", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index c8bed9d38..26c3b5e69 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -27,7 +27,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.0", + "@mojaloop/api-snippets": "17.0.0-snapshot.1", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/platform-shared-lib-messaging-types-lib": "^0.2.18", diff --git a/yarn.lock b/yarn.lock index 58c2f281c..cb9df0c1c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2022,9 +2022,9 @@ __metadata: languageName: node linkType: hard -"@mojaloop/api-snippets@npm:17.0.0-snapshot.0": - version: 17.0.0-snapshot.0 - resolution: "@mojaloop/api-snippets@npm:17.0.0-snapshot.0" +"@mojaloop/api-snippets@npm:17.0.0-snapshot.1": + version: 17.0.0-snapshot.1 + resolution: "@mojaloop/api-snippets@npm:17.0.0-snapshot.1" dependencies: "@apidevtools/json-schema-ref-parser": ^9.0.9 commander: ^9.4.1 @@ -2035,7 +2035,7 @@ __metadata: openapi-typescript: ^5.4.1 ts-auto-mock: ^3.6.2 ttypescript: ^1.5.13 - checksum: 660b652733335d5c331a3fc98eba529d74275f262100b47c259aa39af6f6093e83a6479b641053f9c14d1ae2e6f3d524b2702b83fb1fa8e7923d2c0cd3d5ab7f + checksum: e34d3085d1f978826e3e59485c0c189071a6a608910bd94c30e81ca64cadf39129d0791da6ac837259209f0f0cae231eb0715074392b9f49cb4e961f02a9071c languageName: node linkType: hard @@ -2214,7 +2214,7 @@ __metadata: "@babel/core": ^7.20.2 "@babel/preset-env": ^7.20.2 "@koa/cors": ^4.0.0 - "@mojaloop/api-snippets": 17.0.0-snapshot.0 + "@mojaloop/api-snippets": 17.0.0-snapshot.1 "@mojaloop/central-services-error-handling": ^12.0.5 "@mojaloop/central-services-logger": ^11.0.1 "@mojaloop/central-services-metrics": ^12.0.5 @@ -2269,7 +2269,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler@workspace:modules/outbound-command-event-handler" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.0 + "@mojaloop/api-snippets": 17.0.0-snapshot.1 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 @@ -2308,7 +2308,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler@workspace:modules/outbound-domain-event-handler" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.0 + "@mojaloop/api-snippets": 17.0.0-snapshot.1 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^" @@ -2345,7 +2345,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-private-shared-lib@workspace:modules/private-shared-lib" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.0 + "@mojaloop/api-snippets": 17.0.0-snapshot.1 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/platform-shared-lib-messaging-types-lib": ^0.2.18 From 741a22450767bc6e06c12920948b6fded2ca17b5 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 15:48:35 +0200 Subject: [PATCH 07/20] chore(snapshot): 21.4.0-snapshot.2 --- modules/api-svc/package.json | 2 +- modules/outbound-command-event-handler/package.json | 2 +- modules/outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 9c5bbc4ba..a37f3ba27 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-api-svc", - "version": "20.4.0-snapshot.1", + "version": "20.4.0-snapshot.2", "description": "An adapter for connecting to Mojaloop API enabled switches.", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index e0c0ef7bd..f4c93d21b 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler", - "version": "0.2.10-snapshot.1", + "version": "0.2.10-snapshot.2", "description": "mojaloop sdk scheme adapter command event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index 8b0fa4e53..2a09199b4 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler", - "version": "0.2.10-snapshot.1", + "version": "0.2.10-snapshot.2", "description": "mojaloop sdk scheme adapter outbound domain event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index 26c3b5e69..35d4f2a62 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-private-shared-lib", - "version": "0.3.10-snapshot.1", + "version": "0.3.10-snapshot.2", "description": "SDK Scheme Adapter private shared library.", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types", diff --git a/package.json b/package.json index be8c82422..83c2428e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter", - "version": "21.4.0-snapshot.1", + "version": "21.4.0-snapshot.2", "description": "mojaloop sdk-scheme-adapter", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter", From a90f2621ba504fcf47a63eab8266099e83fac7db Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:03:09 +0200 Subject: [PATCH 08/20] chore: made updates for api-snippets 17.0.0-snapshot.2 changes - updated mappings based on the api-snippets changes - updated api_specs for fun-test TTK api definitions --- modules/api-svc/package.json | 2 +- .../package.json | 2 +- .../process_sdk_outbound_bulk_accept_quote.ts | 2 +- ...nd_bulk_accept_party_info_received.test.ts | 2 - .../test/util/generator.ts | 10 ----- .../package.json | 2 +- modules/private-shared-lib/package.json | 2 +- .../api_spec.yaml | 37 ------------------- .../api_spec.yaml | 37 ------------------- .../api_spec.yaml | 37 ------------------- .../api_spec.yaml | 37 ------------------- yarn.lock | 16 ++++---- 12 files changed, 13 insertions(+), 173 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index a37f3ba27..8f477b9f0 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -61,7 +61,7 @@ }, "dependencies": { "@koa/cors": "^4.0.0", - "@mojaloop/api-snippets": "17.0.0-snapshot.1", + "@mojaloop/api-snippets": "17.0.0-snapshot.2", "@mojaloop/central-services-error-handling": "^12.0.5", "@mojaloop/central-services-logger": "^11.0.1", "@mojaloop/central-services-metrics": "^12.0.5", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index f4c93d21b..54a409d78 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -41,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.1", + "@mojaloop/api-snippets": "17.0.0-snapshot.2", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", diff --git a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts index 685e72e8a..944ec4c90 100755 --- a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts +++ b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts @@ -79,7 +79,7 @@ export async function handleProcessSDKOutboundBulkAcceptQuoteCmdEvt( ) { individualTransfer.setTransferState(IndividualTransferInternalState.AGREEMENT_REJECTED); } else { // handle other cases - logger.warn(`individualTransfer.transactionId[${individualTransferFromMessage.transactionId}] is already in a non-processing state: ${individualTransfer.transferState}`); + logger.warn(`individualTransfer.transferId[${individualTransfer.transferId}] is already in a non-processing state: ${individualTransfer.transferState}`); } await bulkTransactionAgg.setIndividualTransferById(individualTransfer.id, individualTransfer); diff --git a/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts b/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts index 849ac42c1..2f31d6018 100644 --- a/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts +++ b/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts @@ -145,10 +145,8 @@ describe.skip('SDKOutboundBulkAcceptPartyInfoRequested', () => { const sampleSDKOutboundBulkAcceptPartyInfoReceivedDmEvtData: ISDKOutboundBulkAcceptPartyInfoReceivedDmEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptParty: { - bulkHomeTransactionID: "abc123", individualTransfers: [ { - homeTransactionId: homeTransactionId1, transferId: allIndividualTransferIds[0], acceptParty: true } diff --git a/modules/outbound-command-event-handler/test/util/generator.ts b/modules/outbound-command-event-handler/test/util/generator.ts index edbe93717..5f2c5ffee 100644 --- a/modules/outbound-command-event-handler/test/util/generator.ts +++ b/modules/outbound-command-event-handler/test/util/generator.ts @@ -411,25 +411,20 @@ export class ProcessHelper { const processSDKOutboundBulkAcceptPartyInfoCommandEventData : IProcessSDKOutboundBulkAcceptPartyInfoCmdEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptParty: { - bulkHomeTransactionID: 'string', individualTransfers: [ { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptParty: true } @@ -617,25 +612,20 @@ export class ProcessHelper { const processSDKOutboundBulkAcceptQuoteCmdEvtData: IProcessSDKOutboundBulkAcceptQuoteCmdEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptQuote: { - bulkHomeTransactionID: 'string', individualTransfers: [ { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptQuote: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptQuote: false }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptQuote: false }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptQuote: false } diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index 2a09199b4..b544f5af4 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -41,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.1", + "@mojaloop/api-snippets": "17.0.0-snapshot.2", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index 35d4f2a62..f265b3d9e 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -27,7 +27,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.1", + "@mojaloop/api-snippets": "17.0.0-snapshot.2", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/platform-shared-lib-messaging-types-lib": "^0.2.18", diff --git a/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 83dd10661..edb6d69ec 100644 --- a/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-hub/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -1802,15 +1802,8 @@ paths: autoAcceptParty is false. type: object required: &ref_34 - - bulkHomeTransactionID - individualTransfers properties: &ref_35 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: >- List of individual transfers in a bulk transfer with @@ -1824,28 +1817,6 @@ paths: Data model for the 'individualTransfer' while accepting party or quote. properties: &ref_30 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to - reconcile transactions between the Switch and - DFSP backend systems. - transactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID - (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), - that is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 transferId: title: CorrelationId type: string @@ -1863,7 +1834,6 @@ paths: dashes (‘-‘). example: b51ec534-ee48-4575-b6a9-ead2955b8069 required: &ref_31 - - homeTransactionId - transferId - type: object required: *ref_28 @@ -1873,15 +1843,8 @@ paths: autoAcceptQuotes is false. type: object required: &ref_37 - - bulkHomeTransactionID - individualTransfers properties: &ref_38 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: List of individual transfers in a bulk transfer. type: array diff --git a/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 83dd10661..edb6d69ec 100644 --- a/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-ttksim1/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -1802,15 +1802,8 @@ paths: autoAcceptParty is false. type: object required: &ref_34 - - bulkHomeTransactionID - individualTransfers properties: &ref_35 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: >- List of individual transfers in a bulk transfer with @@ -1824,28 +1817,6 @@ paths: Data model for the 'individualTransfer' while accepting party or quote. properties: &ref_30 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to - reconcile transactions between the Switch and - DFSP backend systems. - transactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID - (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), - that is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 transferId: title: CorrelationId type: string @@ -1863,7 +1834,6 @@ paths: dashes (‘-‘). example: b51ec534-ee48-4575-b6a9-ead2955b8069 required: &ref_31 - - homeTransactionId - transferId - type: object required: *ref_28 @@ -1873,15 +1843,8 @@ paths: autoAcceptQuotes is false. type: object required: &ref_37 - - bulkHomeTransactionID - individualTransfers properties: &ref_38 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: List of individual transfers in a bulk transfer. type: array diff --git a/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 83dd10661..edb6d69ec 100644 --- a/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-ttksim2/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -1802,15 +1802,8 @@ paths: autoAcceptParty is false. type: object required: &ref_34 - - bulkHomeTransactionID - individualTransfers properties: &ref_35 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: >- List of individual transfers in a bulk transfer with @@ -1824,28 +1817,6 @@ paths: Data model for the 'individualTransfer' while accepting party or quote. properties: &ref_30 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to - reconcile transactions between the Switch and - DFSP backend systems. - transactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID - (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), - that is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 transferId: title: CorrelationId type: string @@ -1863,7 +1834,6 @@ paths: dashes (‘-‘). example: b51ec534-ee48-4575-b6a9-ead2955b8069 required: &ref_31 - - homeTransactionId - transferId - type: object required: *ref_28 @@ -1873,15 +1843,8 @@ paths: autoAcceptQuotes is false. type: object required: &ref_37 - - bulkHomeTransactionID - individualTransfers properties: &ref_38 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: List of individual transfers in a bulk transfer. type: array diff --git a/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml index 83dd10661..edb6d69ec 100644 --- a/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +++ b/test/func/config/ttk-ttksim3/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -1802,15 +1802,8 @@ paths: autoAcceptParty is false. type: object required: &ref_34 - - bulkHomeTransactionID - individualTransfers properties: &ref_35 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: >- List of individual transfers in a bulk transfer with @@ -1824,28 +1817,6 @@ paths: Data model for the 'individualTransfer' while accepting party or quote. properties: &ref_30 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to - reconcile transactions between the Switch and - DFSP backend systems. - transactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID - (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), - that is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 transferId: title: CorrelationId type: string @@ -1863,7 +1834,6 @@ paths: dashes (‘-‘). example: b51ec534-ee48-4575-b6a9-ead2955b8069 required: &ref_31 - - homeTransactionId - transferId - type: object required: *ref_28 @@ -1873,15 +1843,8 @@ paths: autoAcceptQuotes is false. type: object required: &ref_37 - - bulkHomeTransactionID - individualTransfers properties: &ref_38 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. individualTransfers: description: List of individual transfers in a bulk transfer. type: array diff --git a/yarn.lock b/yarn.lock index cb9df0c1c..8264bef57 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2022,9 +2022,9 @@ __metadata: languageName: node linkType: hard -"@mojaloop/api-snippets@npm:17.0.0-snapshot.1": - version: 17.0.0-snapshot.1 - resolution: "@mojaloop/api-snippets@npm:17.0.0-snapshot.1" +"@mojaloop/api-snippets@npm:17.0.0-snapshot.2": + version: 17.0.0-snapshot.2 + resolution: "@mojaloop/api-snippets@npm:17.0.0-snapshot.2" dependencies: "@apidevtools/json-schema-ref-parser": ^9.0.9 commander: ^9.4.1 @@ -2035,7 +2035,7 @@ __metadata: openapi-typescript: ^5.4.1 ts-auto-mock: ^3.6.2 ttypescript: ^1.5.13 - checksum: e34d3085d1f978826e3e59485c0c189071a6a608910bd94c30e81ca64cadf39129d0791da6ac837259209f0f0cae231eb0715074392b9f49cb4e961f02a9071c + checksum: 617f30af2af1f9cbb7490fd3a40c2fb8c7bcb438e46a3b6b7b430302b26278cb6d4cd7d25e47a4c7478984b869bceca41b0d6f777207cedf60091f0e4e306cc0 languageName: node linkType: hard @@ -2214,7 +2214,7 @@ __metadata: "@babel/core": ^7.20.2 "@babel/preset-env": ^7.20.2 "@koa/cors": ^4.0.0 - "@mojaloop/api-snippets": 17.0.0-snapshot.1 + "@mojaloop/api-snippets": 17.0.0-snapshot.2 "@mojaloop/central-services-error-handling": ^12.0.5 "@mojaloop/central-services-logger": ^11.0.1 "@mojaloop/central-services-metrics": ^12.0.5 @@ -2269,7 +2269,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler@workspace:modules/outbound-command-event-handler" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.1 + "@mojaloop/api-snippets": 17.0.0-snapshot.2 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 @@ -2308,7 +2308,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler@workspace:modules/outbound-domain-event-handler" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.1 + "@mojaloop/api-snippets": 17.0.0-snapshot.2 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^" @@ -2345,7 +2345,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-private-shared-lib@workspace:modules/private-shared-lib" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.1 + "@mojaloop/api-snippets": 17.0.0-snapshot.2 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/platform-shared-lib-messaging-types-lib": ^0.2.18 From 5023ddaf9b54f2f4bcfafb04263db6f4a73180cc Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:13:34 +0200 Subject: [PATCH 09/20] updates to main readme about redis-insights and added todo on docker-compose --- README.md | 8 ++++++++ docker-compose.yml | 3 +++ 2 files changed, 11 insertions(+) diff --git a/README.md b/README.md index 46ff4b0fc..7301ab2bf 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,14 @@ docker-compose -f docker-compose.yml down src/junit.xml ``` +If you want to use Redis Insights, you can start it as follows: + +```bash +docker run -itd -p 8001:8001 --network="mojaloop-net" redislabs/redisinsight +``` + +And open http://localhost:8001 in your browser. + ### Get status of quote request The status of a previously sent quotation request can be get by executing `GET /quotes/{ID}`. diff --git a/docker-compose.yml b/docker-compose.yml index 7ed75e5cf..f30296d4b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,6 @@ +## TODOs +# - Add Redis Insights + version: '3.7' networks: mojaloop-net: From 517e18d6e05dce04f73f5eaff63c390be760dd79 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:14:03 +0200 Subject: [PATCH 10/20] chore(snapshot): 21.4.0-snapshot.3 --- modules/api-svc/package.json | 2 +- modules/outbound-command-event-handler/package.json | 2 +- modules/outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 8f477b9f0..88d0ddbd5 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-api-svc", - "version": "20.4.0-snapshot.2", + "version": "20.4.0-snapshot.3", "description": "An adapter for connecting to Mojaloop API enabled switches.", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index 54a409d78..95cd2b16a 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler", - "version": "0.2.10-snapshot.2", + "version": "0.2.10-snapshot.3", "description": "mojaloop sdk scheme adapter command event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index b544f5af4..dc8b1a834 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler", - "version": "0.2.10-snapshot.2", + "version": "0.2.10-snapshot.3", "description": "mojaloop sdk scheme adapter outbound domain event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index f265b3d9e..c46052f95 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-private-shared-lib", - "version": "0.3.10-snapshot.2", + "version": "0.3.10-snapshot.3", "description": "SDK Scheme Adapter private shared library.", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types", diff --git a/package.json b/package.json index 83c2428e9..138611e44 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter", - "version": "21.4.0-snapshot.2", + "version": "21.4.0-snapshot.3", "description": "mojaloop sdk-scheme-adapter", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter", From c273ef76f1b156314be1bc260153620a31a9abb0 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:33:36 +0200 Subject: [PATCH 11/20] updated api-snippets to final v17.0.0 version --- modules/api-svc/package.json | 4 +- .../package.json | 4 +- .../process_bulk_quotes_callback.test.ts | 5 - ...s_sdk_outbound_bulk_quotes_request.test.ts | 4 - .../process_bulk_accept_party_info.test.ts | 3 - .../process_prepare_bulk_response.test.ts | 3 - .../package.json | 4 +- modules/private-shared-lib/package.json | 4 +- package.json | 2 +- yarn.lock | 319 ++++++++++-------- 10 files changed, 186 insertions(+), 166 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 88d0ddbd5..046e44a4e 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -61,7 +61,7 @@ }, "dependencies": { "@koa/cors": "^4.0.0", - "@mojaloop/api-snippets": "17.0.0-snapshot.2", + "@mojaloop/api-snippets": "17.0.0", "@mojaloop/central-services-error-handling": "^12.0.5", "@mojaloop/central-services-logger": "^11.0.1", "@mojaloop/central-services-metrics": "^12.0.5", @@ -105,7 +105,7 @@ "jest": "^29.3.1", "jest-junit": "^14.0.1", "nock": "^13.2.9", - "npm-check-updates": "^16.3.18", + "npm-check-updates": "^16.3.20", "openapi-response-validator": "^12.0.2", "openapi-typescript": "^6.0.3", "redis-mock": "^0.56.3", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index 95cd2b16a..7305281a7 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -41,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.2", + "@mojaloop/api-snippets": "17.0.0", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", @@ -69,7 +69,7 @@ "eslint": "^8.27.0", "jest": "^29.3.1", "nodemon": "^2.0.20", - "npm-check-updates": "^16.3.18", + "npm-check-updates": "^16.3.20", "replace": "^1.2.2", "standard-version": "^9.5.0", "ts-jest": "^29.0.3", diff --git a/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts b/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts index 422d86b0e..72390fc3f 100644 --- a/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts @@ -746,25 +746,20 @@ import { Timer } from "../../../util/timer"; const processSDKOutboundBulkAcceptPartyInfoCommandEventData : IProcessSDKOutboundBulkAcceptPartyInfoCmdEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptParty: { - bulkHomeTransactionID: 'string', individualTransfers: [ { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptParty: true } diff --git a/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts b/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts index 29e3a09b2..78e7bcfd0 100644 --- a/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts @@ -275,20 +275,16 @@ describe("Tests for ProcessSDKOutboundBulkQuotesRequest Event Handler", () => { const processSDKOutboundBulkAcceptPartyInfoCommandEventData : IProcessSDKOutboundBulkAcceptPartyInfoCmdEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptParty: { - bulkHomeTransactionID: 'string', individualTransfers: [ { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: false }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true } diff --git a/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts b/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts index ce5b7822a..7be264448 100644 --- a/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts @@ -240,15 +240,12 @@ describe("Tests for ProcessSDKOutboundBulkAcceptPartyInfo Event Handler", () => const processSDKOutboundBulkAcceptPartyInfoCommandEventData : IProcessSDKOutboundBulkAcceptPartyInfoCmdEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptParty: { - bulkHomeTransactionID: 'string', individualTransfers: [ { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: false } diff --git a/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts b/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts index ccfc555e4..9eec567b1 100644 --- a/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts @@ -236,15 +236,12 @@ describe("Tests for PrepareSDKOutboundBulkResponseCmdEvt Command Event", () => { const processSDKOutboundBulkAcceptPartyInfoCommandEventData : IProcessSDKOutboundBulkAcceptPartyInfoCmdEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptParty: { - bulkHomeTransactionID: 'string', individualTransfers: [ { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: false } diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index dc8b1a834..fe3d90036 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -41,7 +41,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.2", + "@mojaloop/api-snippets": "17.0.0", "@mojaloop/logging-bc-client-lib": "^0.1.16", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^", @@ -67,7 +67,7 @@ "eslint": "^8.27.0", "jest": "^29.3.1", "nodemon": "^2.0.20", - "npm-check-updates": "^16.3.18", + "npm-check-updates": "^16.3.20", "replace": "^1.2.2", "standard-version": "^9.5.0", "ts-jest": "^29.0.3", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index c46052f95..bf8cbec94 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -27,7 +27,7 @@ "snapshot": "standard-version --no-verify --skip.changelog --prerelease snapshot --releaseCommitMessageFormat 'chore(snapshot): {{currentTag}}'" }, "dependencies": { - "@mojaloop/api-snippets": "17.0.0-snapshot.2", + "@mojaloop/api-snippets": "17.0.0", "@mojaloop/central-services-shared": "^17.3.1", "@mojaloop/logging-bc-public-types-lib": "^0.1.13", "@mojaloop/platform-shared-lib-messaging-types-lib": "^0.2.18", @@ -40,7 +40,7 @@ "@types/node": "^18.11.9", "eslint": "^8.27.0", "jest": "^29.3.1", - "npm-check-updates": "^16.3.18", + "npm-check-updates": "^16.3.20", "replace": "^1.2.2", "standard-version": "^9.5.0", "ts-jest": "^29.0.3", diff --git a/package.json b/package.json index 138611e44..4defd75bd 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "husky": "^8.0.2", "jest": "^29.3.1", "nodemon": "^2.0.20", - "npm-check-updates": "^16.3.18", + "npm-check-updates": "^16.3.20", "replace": "^1.2.2", "standard-version": "^9.5.0", "ts-jest": "^29.0.3", diff --git a/yarn.lock b/yarn.lock index 8264bef57..2391677d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2022,9 +2022,9 @@ __metadata: languageName: node linkType: hard -"@mojaloop/api-snippets@npm:17.0.0-snapshot.2": - version: 17.0.0-snapshot.2 - resolution: "@mojaloop/api-snippets@npm:17.0.0-snapshot.2" +"@mojaloop/api-snippets@npm:17.0.0": + version: 17.0.0 + resolution: "@mojaloop/api-snippets@npm:17.0.0" dependencies: "@apidevtools/json-schema-ref-parser": ^9.0.9 commander: ^9.4.1 @@ -2035,7 +2035,7 @@ __metadata: openapi-typescript: ^5.4.1 ts-auto-mock: ^3.6.2 ttypescript: ^1.5.13 - checksum: 617f30af2af1f9cbb7490fd3a40c2fb8c7bcb438e46a3b6b7b430302b26278cb6d4cd7d25e47a4c7478984b869bceca41b0d6f777207cedf60091f0e4e306cc0 + checksum: 052d2ad4f747ad5af3c5d5f90c410d416a2388250a477aff48e4352fc2a7656c6017a2c19fd5017e283cff6126387da0227aa043f0cbe9b6a076c6f17f675250 languageName: node linkType: hard @@ -2214,7 +2214,7 @@ __metadata: "@babel/core": ^7.20.2 "@babel/preset-env": ^7.20.2 "@koa/cors": ^4.0.0 - "@mojaloop/api-snippets": 17.0.0-snapshot.2 + "@mojaloop/api-snippets": 17.0.0 "@mojaloop/central-services-error-handling": ^12.0.5 "@mojaloop/central-services-logger": ^11.0.1 "@mojaloop/central-services-metrics": ^12.0.5 @@ -2246,7 +2246,7 @@ __metadata: lodash: ^4.17.21 module-alias: ^2.2.2 nock: ^13.2.9 - npm-check-updates: ^16.3.18 + npm-check-updates: ^16.3.20 oauth2-server: ^4.0.0-dev.2 openapi-jsonschema-parameters: ^12.0.2 openapi-response-validator: ^12.0.2 @@ -2269,7 +2269,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler@workspace:modules/outbound-command-event-handler" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.2 + "@mojaloop/api-snippets": 17.0.0 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 @@ -2291,7 +2291,7 @@ __metadata: express: ^4.18.2 jest: ^29.3.1 nodemon: ^2.0.20 - npm-check-updates: ^16.3.18 + npm-check-updates: ^16.3.20 openapi-backend: ^5.5.0 redis: ^4.5.0 replace: ^1.2.2 @@ -2308,7 +2308,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler@workspace:modules/outbound-domain-event-handler" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.2 + "@mojaloop/api-snippets": 17.0.0 "@mojaloop/logging-bc-client-lib": ^0.1.16 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^" @@ -2328,7 +2328,7 @@ __metadata: express: ^4.18.2 jest: ^29.3.1 nodemon: ^2.0.20 - npm-check-updates: ^16.3.18 + npm-check-updates: ^16.3.20 openapi-backend: ^5.5.0 redis: ^4.5.0 replace: ^1.2.2 @@ -2345,7 +2345,7 @@ __metadata: version: 0.0.0-use.local resolution: "@mojaloop/sdk-scheme-adapter-private-shared-lib@workspace:modules/private-shared-lib" dependencies: - "@mojaloop/api-snippets": 17.0.0-snapshot.2 + "@mojaloop/api-snippets": 17.0.0 "@mojaloop/central-services-shared": ^17.3.1 "@mojaloop/logging-bc-public-types-lib": ^0.1.13 "@mojaloop/platform-shared-lib-messaging-types-lib": ^0.2.18 @@ -2354,7 +2354,7 @@ __metadata: ajv: ^8.11.0 eslint: ^8.27.0 jest: ^29.3.1 - npm-check-updates: ^16.3.18 + npm-check-updates: ^16.3.20 redis: ^4.5.0 replace: ^1.2.2 standard-version: ^9.5.0 @@ -2380,7 +2380,7 @@ __metadata: husky: ^8.0.2 jest: ^29.3.1 nodemon: ^2.0.20 - npm-check-updates: ^16.3.18 + npm-check-updates: ^16.3.20 nx: 15.0.13 replace: ^1.2.2 standard-version: ^9.5.0 @@ -2451,32 +2451,32 @@ __metadata: languageName: node linkType: hard -"@npmcli/git@npm:^3.0.0": - version: 3.0.2 - resolution: "@npmcli/git@npm:3.0.2" +"@npmcli/git@npm:^4.0.0": + version: 4.0.3 + resolution: "@npmcli/git@npm:4.0.3" dependencies: - "@npmcli/promise-spawn": ^3.0.0 + "@npmcli/promise-spawn": ^6.0.0 lru-cache: ^7.4.4 mkdirp: ^1.0.4 - npm-pick-manifest: ^7.0.0 - proc-log: ^2.0.0 + npm-pick-manifest: ^8.0.0 + proc-log: ^3.0.0 promise-inflight: ^1.0.1 promise-retry: ^2.0.1 semver: ^7.3.5 - which: ^2.0.2 - checksum: bdfd1229bb1113ad4883ef89b74b5dc442a2c96225d830491dd0dec4fa83d083b93cde92b6978d4956a8365521e61bc8dc1891fb905c7c693d5d6aa178f2ab44 + which: ^3.0.0 + checksum: 2ed12b8fe6acb1fb4e0c351c7db80f144a842fe9dfad3d67ff88b1505956e74337775de0e09d2995da47000c6589590ef8c5277a517e5bb5396d00c572ef4b88 languageName: node linkType: hard -"@npmcli/installed-package-contents@npm:^1.0.7": - version: 1.0.7 - resolution: "@npmcli/installed-package-contents@npm:1.0.7" +"@npmcli/installed-package-contents@npm:^2.0.1": + version: 2.0.1 + resolution: "@npmcli/installed-package-contents@npm:2.0.1" dependencies: - npm-bundled: ^1.1.1 - npm-normalize-package-bin: ^1.0.1 + npm-bundled: ^3.0.0 + npm-normalize-package-bin: ^3.0.0 bin: - installed-package-contents: index.js - checksum: a4a29b99d439827ce2e7817c1f61b56be160e640696e31dc513a2c8a37c792f75cdb6258ec15a1e22904f20df0a8a3019dd3766de5e6619f259834cf64233538 + installed-package-contents: lib/index.js + checksum: 75126a3b3a741cd68e78ccea25256e87734379e5e0d827674fc3ec1f39b6ed356ae2c3e2d906c9c0247c192e8ca7e67188ad346f86042baabbac274e9b02d770 languageName: node linkType: hard @@ -2490,32 +2490,32 @@ __metadata: languageName: node linkType: hard -"@npmcli/node-gyp@npm:^2.0.0": - version: 2.0.0 - resolution: "@npmcli/node-gyp@npm:2.0.0" - checksum: b6bbf0015000f9b64d31aefdc30f244b0348c57adb64017667e0304e96c38644d83da46a4581252652f5d606268df49118f9c9993b41d8020f62b7b15dd2c8d8 +"@npmcli/node-gyp@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/node-gyp@npm:3.0.0" + checksum: fe3802b813eecb4ade7ad77c9396cb56721664275faab027e3bd8a5e15adfbbe39e2ecc19f7885feb3cfa009b96632741cc81caf7850ba74440c6a2eee7b4ffc languageName: node linkType: hard -"@npmcli/promise-spawn@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/promise-spawn@npm:3.0.0" +"@npmcli/promise-spawn@npm:^6.0.0, @npmcli/promise-spawn@npm:^6.0.1": + version: 6.0.1 + resolution: "@npmcli/promise-spawn@npm:6.0.1" dependencies: - infer-owner: ^1.0.4 - checksum: 3454465a2731cea5875ba51f80873e2205e5bd878c31517286b0ede4ea931c7bf3de895382287e906d03710fff6f9e44186bd0eee068ce578901c5d3b58e7692 + which: ^3.0.0 + checksum: c4bfdf2e85a0556ba4c0b1013118593f36ed1000906569ea5962a7808807ca78362208404d951cc8d3b4163818e50c349c6d7065785378fb09234e0b3b3406e3 languageName: node linkType: hard -"@npmcli/run-script@npm:^4.1.0": - version: 4.2.1 - resolution: "@npmcli/run-script@npm:4.2.1" +"@npmcli/run-script@npm:^6.0.0": + version: 6.0.0 + resolution: "@npmcli/run-script@npm:6.0.0" dependencies: - "@npmcli/node-gyp": ^2.0.0 - "@npmcli/promise-spawn": ^3.0.0 + "@npmcli/node-gyp": ^3.0.0 + "@npmcli/promise-spawn": ^6.0.0 node-gyp: ^9.0.0 - read-package-json-fast: ^2.0.3 - which: ^2.0.2 - checksum: 7b8d6676353f157e68b26baf848e01e5d887bcf90ce81a52f23fc9a5d93e6ffb60057532d664cfd7aeeb76d464d0c8b0d314ee6cccb56943acb3b6c570b756c8 + read-package-json-fast: ^3.0.0 + which: ^3.0.0 + checksum: 9fc387f7c405ae4948921764b8b970c12ae07df22bacc242b0f68709c99a83b9d12f411ebd7e60c85a933e2d7be42c70e243ebd71a8d3f6e783e1aab5ccbb2f5 languageName: node linkType: hard @@ -7528,7 +7528,7 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^5.0.0, hosted-git-info@npm:^5.1.0": +"hosted-git-info@npm:^5.1.0": version: 5.2.1 resolution: "hosted-git-info@npm:5.2.1" dependencies: @@ -7537,6 +7537,15 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^6.0.0": + version: 6.1.1 + resolution: "hosted-git-info@npm:6.1.1" + dependencies: + lru-cache: ^7.5.1 + checksum: fcd3ca2eaa05f3201425ccbb8aa47f88cdda4a3a6d79453f8e269f7171356278bd1db08f059d8439eb5eaa91c6a8a20800fc49cca6e9e4e899b202a332d5ba6b + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -8938,7 +8947,7 @@ __metadata: languageName: node linkType: hard -"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": +"json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f @@ -9608,7 +9617,7 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^10.0.3, make-fetch-happen@npm:^10.0.6": +"make-fetch-happen@npm:^10.0.3": version: 10.2.1 resolution: "make-fetch-happen@npm:10.2.1" dependencies: @@ -9632,6 +9641,30 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^11.0.0": + version: 11.0.1 + resolution: "make-fetch-happen@npm:11.0.1" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^17.0.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^3.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^10.0.0 + checksum: 871083ce4b775521229efcc972f544ffcbb5f70fd8f5582edaa1b3e555de772e076babf4b044a2d48efc326d54aa151f5ea3458615ecfcfb81cb6480bcb2e1c6 + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -9938,6 +9971,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^3.0.0": + version: 3.0.0 + resolution: "minipass-fetch@npm:3.0.0" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: ebc876b8763d858a759bd53a04eedc85f111a9fc0ab822a4b445c5eb71f34dc3fd3442d75484df156ca57e2dea37edfc77a585c27c67be835589f212772ddb6e + languageName: node + linkType: hard + "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -10350,15 +10398,15 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^4.0.0": - version: 4.0.1 - resolution: "normalize-package-data@npm:4.0.1" +"normalize-package-data@npm:^5.0.0": + version: 5.0.0 + resolution: "normalize-package-data@npm:5.0.0" dependencies: - hosted-git-info: ^5.0.0 + hosted-git-info: ^6.0.0 is-core-module: ^2.8.1 semver: ^7.3.5 validate-npm-package-license: ^3.0.4 - checksum: 292e0aa740e73d62f84bbd9d55d4bfc078155f32d5d7572c32c9807f96d543af0f43ff7e5c80bfa6238667123fd68bd83cd412eae9b27b85b271fb041f624528 + checksum: a459f05eaf7c2b643c61234177f08e28064fde97da15800e3d3ac0404e28450d43ac46fc95fbf6407a9bf20af4c58505ad73458a912dc1517f8c1687b1d68c27 languageName: node linkType: hard @@ -10376,18 +10424,18 @@ __metadata: languageName: node linkType: hard -"npm-bundled@npm:^1.1.1": - version: 1.1.2 - resolution: "npm-bundled@npm:1.1.2" +"npm-bundled@npm:^3.0.0": + version: 3.0.0 + resolution: "npm-bundled@npm:3.0.0" dependencies: - npm-normalize-package-bin: ^1.0.1 - checksum: 6e599155ef28d0b498622f47f1ba189dfbae05095a1ed17cb3a5babf961e965dd5eab621f0ec6f0a98de774e5836b8f5a5ee639010d64f42850a74acec3d4d09 + npm-normalize-package-bin: ^3.0.0 + checksum: 110859c2d6dcd7941dac0932a29171cbde123060486a4b6e897aaf5e025abeb3d9ffcdfe9e9271992e6396b2986c2c534f1029a45a7c196f1257fa244305dbf8 languageName: node linkType: hard -"npm-check-updates@npm:^16.3.18": - version: 16.3.18 - resolution: "npm-check-updates@npm:16.3.18" +"npm-check-updates@npm:^16.3.20": + version: 16.3.20 + resolution: "npm-check-updates@npm:16.3.20" dependencies: chalk: ^5.1.2 cli-table: ^0.3.11 @@ -10404,7 +10452,7 @@ __metadata: lodash: ^4.17.21 minimatch: ^5.1.0 p-map: ^4.0.0 - pacote: 15.0.0 + pacote: 15.0.6 parse-github-url: ^1.0.2 progress: ^2.0.3 prompts-ncu: ^2.5.1 @@ -10421,30 +10469,16 @@ __metadata: bin: ncu: build/src/bin/cli.js npm-check-updates: build/src/bin/cli.js - checksum: 306556e2e272a1656989b4a97daee27aa6663c054e5baacb3662d5ac02be31ab956a2d3ebd34ec34c49bae4b10fc80fe10736173b1d263ca46cdeae1eecc0879 + checksum: 8fcee527f536097512834c03c69fe38141fe1e560d91ca58288b21e99eaaf33e4b524cd83f165ba1caaedd09a29b8c9609be44ef91b86fd9b2bd9e498b79fdfc languageName: node linkType: hard -"npm-install-checks@npm:^5.0.0": - version: 5.0.0 - resolution: "npm-install-checks@npm:5.0.0" +"npm-install-checks@npm:^6.0.0": + version: 6.0.0 + resolution: "npm-install-checks@npm:6.0.0" dependencies: semver: ^7.1.1 - checksum: 0e7d1aae52b1fe9d3a0fd4a008850c7047931722dd49ee908afd13fd0297ac5ddb10964d9c59afcdaaa2ca04b51d75af2788f668c729ae71fec0e4cdac590ffc - languageName: node - linkType: hard - -"npm-normalize-package-bin@npm:^1.0.1": - version: 1.0.1 - resolution: "npm-normalize-package-bin@npm:1.0.1" - checksum: ae7f15155a1e3ace2653f12ddd1ee8eaa3c84452fdfbf2f1943e1de264e4b079c86645e2c55931a51a0a498cba31f70022a5219d5665fbcb221e99e58bc70122 - languageName: node - linkType: hard - -"npm-normalize-package-bin@npm:^2.0.0": - version: 2.0.0 - resolution: "npm-normalize-package-bin@npm:2.0.0" - checksum: 7c5379f9b188b564c4332c97bdd9a5d6b7b15f02b5823b00989d6a0e6fb31eb0280f02b0a924f930e1fcaf00e60fae333aec8923d2a4c7747613c7d629d8aa25 + checksum: 5476a26dccb83c24d9ffaf3d0592e8001f9804a40c6b3f441c9a1b2c8d643e90d8352c4ce27ffce72296de7f9744750d0124a6db55b68071971d4b4e74787818 languageName: node linkType: hard @@ -10455,15 +10489,15 @@ __metadata: languageName: node linkType: hard -"npm-package-arg@npm:^9.0.0, npm-package-arg@npm:^9.0.1": - version: 9.1.2 - resolution: "npm-package-arg@npm:9.1.2" +"npm-package-arg@npm:^10.0.0": + version: 10.0.0 + resolution: "npm-package-arg@npm:10.0.0" dependencies: - hosted-git-info: ^5.0.0 - proc-log: ^2.0.1 + hosted-git-info: ^6.0.0 + proc-log: ^3.0.0 semver: ^7.3.5 - validate-npm-package-name: ^4.0.0 - checksum: 3793488843985ed71deb14fcba7c068d8ed03a18fd8f6b235c6a64465c9a25f60261598106d5cc8677c0bee9548e405c34c2e3c7a822e3113d3389351c745dfa + validate-npm-package-name: ^5.0.0 + checksum: 5f35870b4786e27358c672820ab6abb9b87e214dc1795aef96f6993ea74b789b27318017650dc4da965c249ee3e66ab9dc1ac12c68e7209dd9afae1ad7e3f0b8 languageName: node linkType: hard @@ -10476,30 +10510,30 @@ __metadata: languageName: node linkType: hard -"npm-pick-manifest@npm:^7.0.0": - version: 7.0.2 - resolution: "npm-pick-manifest@npm:7.0.2" +"npm-pick-manifest@npm:^8.0.0": + version: 8.0.1 + resolution: "npm-pick-manifest@npm:8.0.1" dependencies: - npm-install-checks: ^5.0.0 - npm-normalize-package-bin: ^2.0.0 - npm-package-arg: ^9.0.0 + npm-install-checks: ^6.0.0 + npm-normalize-package-bin: ^3.0.0 + npm-package-arg: ^10.0.0 semver: ^7.3.5 - checksum: a93ec449c12219a2be8556837db9ac5332914f304a69469bb6f1f47717adc6e262aa318f79166f763512688abd9c4e4b6a2d83b2dd19753a7abe5f0360f2c8bc + checksum: b8e16f2fbcc40ba7d1405c9b566bcee32488c6709f883207f709b0715ed34e2f3f3bc5bf5cb9563d6aa23cb878102bf0011ba22cce9235caa9a0349784b48ecd languageName: node linkType: hard -"npm-registry-fetch@npm:^13.0.1": - version: 13.3.1 - resolution: "npm-registry-fetch@npm:13.3.1" +"npm-registry-fetch@npm:^14.0.0": + version: 14.0.2 + resolution: "npm-registry-fetch@npm:14.0.2" dependencies: - make-fetch-happen: ^10.0.6 + make-fetch-happen: ^11.0.0 minipass: ^3.1.6 - minipass-fetch: ^2.0.3 + minipass-fetch: ^3.0.0 minipass-json-stream: ^1.0.1 minizlib: ^2.1.2 - npm-package-arg: ^9.0.1 - proc-log: ^2.0.0 - checksum: 5a941c2c799568e0dbccfc15f280444da398dadf2eede1b1921f08ddd5cb5f32c7cb4d16be96401f95a33073aeec13a3fd928c753790d3c412c2e64e7f7c6ee4 + npm-package-arg: ^10.0.0 + proc-log: ^3.0.0 + checksum: 8053307989b5c1e7fc459889115fa6ec0965c973e73717357735d18e7b0840bc739a7c0d4c40083a4d2a9de11566540f7da2a8fe5e2ff3f721e8847cd2d5d5a6 languageName: node linkType: hard @@ -11109,30 +11143,30 @@ __metadata: languageName: node linkType: hard -"pacote@npm:15.0.0": - version: 15.0.0 - resolution: "pacote@npm:15.0.0" +"pacote@npm:15.0.6": + version: 15.0.6 + resolution: "pacote@npm:15.0.6" dependencies: - "@npmcli/git": ^3.0.0 - "@npmcli/installed-package-contents": ^1.0.7 - "@npmcli/promise-spawn": ^3.0.0 - "@npmcli/run-script": ^4.1.0 + "@npmcli/git": ^4.0.0 + "@npmcli/installed-package-contents": ^2.0.1 + "@npmcli/promise-spawn": ^6.0.1 + "@npmcli/run-script": ^6.0.0 cacache: ^17.0.0 fs-minipass: ^2.1.0 minipass: ^3.1.6 - npm-package-arg: ^9.0.0 + npm-package-arg: ^10.0.0 npm-packlist: ^7.0.0 - npm-pick-manifest: ^7.0.0 - npm-registry-fetch: ^13.0.1 - proc-log: ^2.0.0 + npm-pick-manifest: ^8.0.0 + npm-registry-fetch: ^14.0.0 + proc-log: ^3.0.0 promise-retry: ^2.0.1 - read-package-json: ^5.0.0 + read-package-json: ^6.0.0 read-package-json-fast: ^3.0.0 - ssri: ^9.0.0 + ssri: ^10.0.0 tar: ^6.1.11 bin: pacote: lib/bin.js - checksum: 103928fcb2e42c7837e96ce532cb7f667e2a4be94e30910961c068e1f38b783ca9b0f6cd990c06c136c3712dd5f1e6fb120fa85eb9aed5b67c0c26c5c9edecaf + checksum: 780090212079efc787fc3c3b19bfcec34beeb6f24ef2ac43981c496ee24acbf1846752245740111db6cb7decf542313cb258b1339a57a7430d1b6626e4bfe1d0 languageName: node linkType: hard @@ -11465,10 +11499,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^2.0.0, proc-log@npm:^2.0.1": - version: 2.0.1 - resolution: "proc-log@npm:2.0.1" - checksum: f6f23564ff759097db37443e6e2765af84979a703d2c52c1b9df506ee9f87caa101ba49d8fdc115c1a313ec78e37e8134704e9069e6a870f3499d98bb24c436f +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 02b64e1b3919e63df06f836b98d3af002b5cd92655cab18b5746e37374bfb73e03b84fe305454614b34c25b485cc687a9eebdccf0242cda8fda2475dd2c97e02 languageName: node linkType: hard @@ -11811,16 +11845,6 @@ __metadata: languageName: node linkType: hard -"read-package-json-fast@npm:^2.0.3": - version: 2.0.3 - resolution: "read-package-json-fast@npm:2.0.3" - dependencies: - json-parse-even-better-errors: ^2.3.0 - npm-normalize-package-bin: ^1.0.1 - checksum: fca37b3b2160b9dda7c5588b767f6a2b8ce68d03a044000e568208e20bea0cf6dd2de17b90740ce8da8b42ea79c0b3859649dadf29510bbe77224ea65326a903 - languageName: node - linkType: hard - "read-package-json-fast@npm:^3.0.0": version: 3.0.1 resolution: "read-package-json-fast@npm:3.0.1" @@ -11831,15 +11855,15 @@ __metadata: languageName: node linkType: hard -"read-package-json@npm:^5.0.0": - version: 5.0.2 - resolution: "read-package-json@npm:5.0.2" +"read-package-json@npm:^6.0.0": + version: 6.0.0 + resolution: "read-package-json@npm:6.0.0" dependencies: glob: ^8.0.1 - json-parse-even-better-errors: ^2.3.1 - normalize-package-data: ^4.0.0 - npm-normalize-package-bin: ^2.0.0 - checksum: 0882ac9cec1bc92fb5515e9727611fb2909351e1e5c840dce3503cbb25b4cd48eb44b61071986e0fc51043208161f07d364a7336206c8609770186818753b51a + json-parse-even-better-errors: ^3.0.0 + normalize-package-data: ^5.0.0 + npm-normalize-package-bin: ^3.0.0 + checksum: e2e4bf037918970bdafe29a20039f8f34ae6a4cc540230998f71347f2ed28eebeba5026d69587366df2a8fd5baf84c5304dca5819347b05ea3ed551b82ca1eee languageName: node linkType: hard @@ -14003,12 +14027,12 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-name@npm:^4.0.0": - version: 4.0.0 - resolution: "validate-npm-package-name@npm:4.0.0" +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.0 + resolution: "validate-npm-package-name@npm:5.0.0" dependencies: builtins: ^5.0.0 - checksum: a32fd537bad17fcb59cfd58ae95a414d443866020d448ec3b22e8d40550cb585026582a57efbe1f132b882eea4da8ac38ee35f7be0dd72988a3cb55d305a20c1 + checksum: 5342a994986199b3c28e53a8452a14b2bb5085727691ea7aa0d284a6606b127c371e0925ae99b3f1ef7cc7d2c9de75f52eb61a3d1cc45e39bca1e3a9444cbb4e languageName: node linkType: hard @@ -14087,6 +14111,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^3.0.0": + version: 3.0.0 + resolution: "which@npm:3.0.0" + dependencies: + isexe: ^2.0.0 + bin: + node-which: bin/which.js + checksum: fdcf3cadab414e60b86c6836e7ac9de9273561a8926f57cbc28641b602a771527239ee4d47f2689ed255666f035ba0a0d72390986cc0c4e45344491adc7d0eeb + languageName: node + linkType: hard + "widdershins@npm:^4.0.1": version: 4.0.1 resolution: "widdershins@npm:4.0.1" From 558abe48b59a61b3e71365dab9e2d696ee7ee732 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:34:44 +0200 Subject: [PATCH 12/20] chore(snapshot): 21.4.0-snapshot.4 --- modules/api-svc/package.json | 2 +- modules/outbound-command-event-handler/package.json | 2 +- modules/outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 046e44a4e..216cf235b 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-api-svc", - "version": "20.4.0-snapshot.3", + "version": "20.4.0-snapshot.4", "description": "An adapter for connecting to Mojaloop API enabled switches.", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index 7305281a7..b96574276 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler", - "version": "0.2.10-snapshot.3", + "version": "0.2.10-snapshot.4", "description": "mojaloop sdk scheme adapter command event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index fe3d90036..83ced1283 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler", - "version": "0.2.10-snapshot.3", + "version": "0.2.10-snapshot.4", "description": "mojaloop sdk scheme adapter outbound domain event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index bf8cbec94..d9a954a89 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-private-shared-lib", - "version": "0.3.10-snapshot.3", + "version": "0.3.10-snapshot.4", "description": "SDK Scheme Adapter private shared library.", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types", diff --git a/package.json b/package.json index 4defd75bd..316fbaa5c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter", - "version": "21.4.0-snapshot.3", + "version": "21.4.0-snapshot.4", "description": "mojaloop sdk-scheme-adapter", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter", From cb6c53d62e657396cb2617b0902a3ec8bb5d63e4 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:44:42 +0200 Subject: [PATCH 13/20] test: updated bulk_happy_path_dynamic to align to api-snippets v17.0.0 release --- test/func/ttk-testcases/bulk_happy_path_dynamic.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/func/ttk-testcases/bulk_happy_path_dynamic.json b/test/func/ttk-testcases/bulk_happy_path_dynamic.json index 52a4af621..3e8010cb9 100644 --- a/test/func/ttk-testcases/bulk_happy_path_dynamic.json +++ b/test/func/ttk-testcases/bulk_happy_path_dynamic.json @@ -233,10 +233,8 @@ "const individualTransfers = []", "for(let i=1; i<=environment.totalIndividualTransfers; i++) {", " individualTransfers.push({", - " transactionId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transactionId,", " transferId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transferId,", - " acceptParty: true,", - " homeTransactionId: 'abc' + i,", + " acceptParty: true", " })", "}", "", @@ -389,10 +387,8 @@ "const individualTransfers = []", "for(let i=1; i<=environment.totalIndividualTransfers; i++) {", " individualTransfers.push({", - " transactionId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transactionId,", " transferId: environment.acceptPartyCallback.body.individualTransferResults[i-1].transferId,", - " acceptQuote: true,", - " homeTransactionId: 'abc' + i,", + " acceptQuote: true", " })", "}", "", From 2a36def57af360aa1d162b103b14b41bd3c9402f Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:49:44 +0200 Subject: [PATCH 14/20] removed bulkHomeTransactionId from PUT ACCEPT /bulkTransaction callbacks from bulk_happy_path_dynamic func test --- test/func/ttk-testcases/bulk_happy_path_dynamic.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/func/ttk-testcases/bulk_happy_path_dynamic.json b/test/func/ttk-testcases/bulk_happy_path_dynamic.json index 3e8010cb9..d9a0e516e 100644 --- a/test/func/ttk-testcases/bulk_happy_path_dynamic.json +++ b/test/func/ttk-testcases/bulk_happy_path_dynamic.json @@ -172,7 +172,6 @@ "bulkTransactionId": "{$prev.1.request.body.bulkTransactionId}" }, "body": { - "bulkHomeTransactionID": "{$prev.1.request.body.bulkHomeTransactionID}", "individualTransfers": [] }, "scriptingEngine": "javascript", @@ -276,7 +275,6 @@ "bulkTransactionId": "{$prev.1.request.body.bulkTransactionId}" }, "body": { - "bulkHomeTransactionID": "{$prev.1.request.body.bulkHomeTransactionID}", "individualTransfers": [] }, "scriptingEngine": "javascript", From 288e66ced7da1e5fd381cdd86fa4a8c0d213ed80 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:51:10 +0200 Subject: [PATCH 15/20] fix for integration tests --- .../agreement/process_bulk_quotes_callback.test.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts b/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts index 72390fc3f..1f1b72401 100644 --- a/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts +++ b/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts @@ -328,25 +328,20 @@ import { Timer } from "../../../util/timer"; const processSDKOutboundBulkAcceptPartyInfoCommandEventData : IProcessSDKOutboundBulkAcceptPartyInfoCmdEvtData = { bulkId: bulkTransactionId, bulkTransactionContinuationAcceptParty: { - bulkHomeTransactionID: 'string', individualTransfers: [ { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('1')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('2')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('3')], acceptParty: true }, { - homeTransactionId: 'string', transferId: randomGeneratedTransferIds[amountList.indexOf('4')], acceptParty: true } From 1ac2f3e6447ea85058afe84f71bc7ded562a4bf0 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Fri, 11 Nov 2022 17:51:34 +0200 Subject: [PATCH 16/20] chore(snapshot): 21.4.0-snapshot.5 --- modules/api-svc/package.json | 2 +- modules/outbound-command-event-handler/package.json | 2 +- modules/outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 216cf235b..6d1cafb63 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-api-svc", - "version": "20.4.0-snapshot.4", + "version": "20.4.0-snapshot.5", "description": "An adapter for connecting to Mojaloop API enabled switches.", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index b96574276..d3dbf7051 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler", - "version": "0.2.10-snapshot.4", + "version": "0.2.10-snapshot.5", "description": "mojaloop sdk scheme adapter command event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index 83ced1283..16fcc0902 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler", - "version": "0.2.10-snapshot.4", + "version": "0.2.10-snapshot.5", "description": "mojaloop sdk scheme adapter outbound domain event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index d9a954a89..578f571e0 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-private-shared-lib", - "version": "0.3.10-snapshot.4", + "version": "0.3.10-snapshot.5", "description": "SDK Scheme Adapter private shared library.", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types", diff --git a/package.json b/package.json index 316fbaa5c..5061a4653 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter", - "version": "21.4.0-snapshot.4", + "version": "21.4.0-snapshot.5", "description": "mojaloop sdk-scheme-adapter", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter", From b2e20a8828fcdec08a2720e2dae80ea254bfeb74 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 11 Nov 2022 16:07:56 -0500 Subject: [PATCH 17/20] chore: yarn and merge --- .../handlers/process_bulk_quotes_callback.ts | 8 ++++---- ...sdk_outbound_bulk_accept_quote_requested.ts | 2 +- yarn.lock | 18 +++++++++--------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts index ef60809cb..439472739 100755 --- a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts +++ b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts @@ -181,10 +181,10 @@ export async function handleProcessBulkQuotesCallbackCmdEvt( // Received a response if(individualTransfer.quoteResponse) { individualTransferResults.push({ - homeTransactionId: individualTransfer.request.homeTransactionId, - transferId: individualTransfer.id, - transactionId: individualTransfer.transactionId, - quoteResponse: individualTransfer.quoteResponse, + homeTransactionId: individualTransfer.request.homeTransactionId, + transferId: individualTransfer.id, + transactionId: individualTransfer.transactionId, + quoteResponse: individualTransfer.quoteResponse, lastError: individualTransfer.lastError && { httpStatusCode: individualTransfer.lastError.httpStatusCode, mojaloopError: individualTransfer.lastError.mojaloopError, diff --git a/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts b/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts index 85025b524..5eb869b95 100644 --- a/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts +++ b/modules/private-shared-lib/src/events/outbound_domain_event/sdk_outbound_bulk_accept_quote_requested.ts @@ -34,7 +34,7 @@ import { IndividualTransferError } from '@module-domain'; export type CoreConnectorBulkAcceptQuoteRequestIndividualTransferResult = { homeTransactionId: SDKSchemeAdapter.V2_0_0.Outbound.Types.bulkTransactionIndividualTransfer['homeTransactionId']; transferId: string, - transactionId: string; + transactionId?: string; quoteResponse?: SDKSchemeAdapter.V2_0_0.Outbound.Types.individualQuoteResult; lastError?: IndividualTransferError }; diff --git a/yarn.lock b/yarn.lock index 2391677d4..8415de4ca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2246,7 +2246,7 @@ __metadata: lodash: ^4.17.21 module-alias: ^2.2.2 nock: ^13.2.9 - npm-check-updates: ^16.3.20 + npm-check-updates: ^16.3.22 oauth2-server: ^4.0.0-dev.2 openapi-jsonschema-parameters: ^12.0.2 openapi-response-validator: ^12.0.2 @@ -2291,7 +2291,7 @@ __metadata: express: ^4.18.2 jest: ^29.3.1 nodemon: ^2.0.20 - npm-check-updates: ^16.3.20 + npm-check-updates: ^16.3.22 openapi-backend: ^5.5.0 redis: ^4.5.0 replace: ^1.2.2 @@ -2328,7 +2328,7 @@ __metadata: express: ^4.18.2 jest: ^29.3.1 nodemon: ^2.0.20 - npm-check-updates: ^16.3.20 + npm-check-updates: ^16.3.22 openapi-backend: ^5.5.0 redis: ^4.5.0 replace: ^1.2.2 @@ -2354,7 +2354,7 @@ __metadata: ajv: ^8.11.0 eslint: ^8.27.0 jest: ^29.3.1 - npm-check-updates: ^16.3.20 + npm-check-updates: ^16.3.22 redis: ^4.5.0 replace: ^1.2.2 standard-version: ^9.5.0 @@ -2380,7 +2380,7 @@ __metadata: husky: ^8.0.2 jest: ^29.3.1 nodemon: ^2.0.20 - npm-check-updates: ^16.3.20 + npm-check-updates: ^16.3.22 nx: 15.0.13 replace: ^1.2.2 standard-version: ^9.5.0 @@ -10433,9 +10433,9 @@ __metadata: languageName: node linkType: hard -"npm-check-updates@npm:^16.3.20": - version: 16.3.20 - resolution: "npm-check-updates@npm:16.3.20" +"npm-check-updates@npm:^16.3.22": + version: 16.3.22 + resolution: "npm-check-updates@npm:16.3.22" dependencies: chalk: ^5.1.2 cli-table: ^0.3.11 @@ -10469,7 +10469,7 @@ __metadata: bin: ncu: build/src/bin/cli.js npm-check-updates: build/src/bin/cli.js - checksum: 8fcee527f536097512834c03c69fe38141fe1e560d91ca58288b21e99eaaf33e4b524cd83f165ba1caaedd09a29b8c9609be44ef91b86fd9b2bd9e498b79fdfc + checksum: 4235ce0c94c999d19383a7e1e733044decaf34663d2a2bc1e015c85fb051cb35182220c31ef1796930e574ba43ef5d956a045134fc8cac1173ed814b5dc49ea3 languageName: node linkType: hard From cc01fc35e129debac9cdc108d6e4e8315f6c0de6 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 11 Nov 2022 17:10:38 -0500 Subject: [PATCH 18/20] chore: remove ncu --- .ncurc.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.ncurc.yaml b/.ncurc.yaml index 7d48f5fa8..fc2c37335 100644 --- a/.ncurc.yaml +++ b/.ncurc.yaml @@ -1,5 +1,2 @@ ## Add a TODO comment indicating the reason for each rejected dependency upgrade added to this list, and what should be done to resolve it (i.e. handle it through a story, etc). -reject: [ - ## To be removed when https://github.com/mojaloop/sdk-scheme-adapter/pull/422 is checked in - '@mojaloop/api-snippets' -] +reject: [] From 4974ccd6ce53a0054888d9cb5f18e5311539363f Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 11 Nov 2022 17:15:46 -0500 Subject: [PATCH 19/20] chore: id --- .../handlers/process_bulk_quotes_callback.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts index 439472739..c423c61d9 100755 --- a/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts +++ b/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts @@ -195,6 +195,7 @@ export async function handleProcessBulkQuotesCallbackCmdEvt( individualTransferResults.push({ homeTransactionId: individualTransfer.request.homeTransactionId, transferId: individualTransfer.id, + transactionId: individualTransfer.transactionId, lastError: { httpStatusCode: individualTransfer.lastError.httpStatusCode, mojaloopError: individualTransfer.lastError.mojaloopError, From c7422b839bdd0e695305f702988d4635f0072362 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 11 Nov 2022 17:16:11 -0500 Subject: [PATCH 20/20] chore(snapshot): 21.4.0-snapshot.0 --- modules/api-svc/package.json | 2 +- modules/outbound-command-event-handler/package.json | 2 +- modules/outbound-domain-event-handler/package.json | 2 +- modules/private-shared-lib/package.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/api-svc/package.json b/modules/api-svc/package.json index 09fd1b2e7..e66eafe0a 100644 --- a/modules/api-svc/package.json +++ b/modules/api-svc/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-api-svc", - "version": "20.3.5", + "version": "20.4.0-snapshot.0", "description": "An adapter for connecting to Mojaloop API enabled switches.", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/modules/outbound-command-event-handler/package.json b/modules/outbound-command-event-handler/package.json index d13ebae7e..5cd9c25c3 100644 --- a/modules/outbound-command-event-handler/package.json +++ b/modules/outbound-command-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler", - "version": "0.2.10", + "version": "0.2.11-snapshot.0", "description": "mojaloop sdk scheme adapter command event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/outbound-domain-event-handler/package.json b/modules/outbound-domain-event-handler/package.json index 5473f37e8..72367a1d0 100644 --- a/modules/outbound-domain-event-handler/package.json +++ b/modules/outbound-domain-event-handler/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler", - "version": "0.2.10", + "version": "0.2.11-snapshot.0", "description": "mojaloop sdk scheme adapter outbound domain event handler", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter/", diff --git a/modules/private-shared-lib/package.json b/modules/private-shared-lib/package.json index a666adc78..00b827c8d 100644 --- a/modules/private-shared-lib/package.json +++ b/modules/private-shared-lib/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter-private-shared-lib", - "version": "0.3.10", + "version": "0.3.11-snapshot.0", "description": "SDK Scheme Adapter private shared library.", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types", diff --git a/package.json b/package.json index 9c13c1054..67ea814ae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/sdk-scheme-adapter", - "version": "21.3.5", + "version": "21.4.0-snapshot.0", "description": "mojaloop sdk-scheme-adapter", "license": "Apache-2.0", "homepage": "https://github.com/mojaloop/sdk-scheme-adapter",