mojaloop / mojaloop-specification

This repo contains the specification document set of the Open API for FSP Interoperability
https://docs.mojaloop.io/api
Other
20 stars 40 forks source link

Change Request: Identifying message formats in headers #137

Open MichaelJBRichards opened 1 month ago

MichaelJBRichards commented 1 month ago

Open API for FSP Interoperability - Change Request

Table of Contents

1. Preface


This section contains basic information regarding the change request.

1.1 Change Request Information

| Requested By | Michael Richards, MLF | | Change Request Status | In review ☒ / Approved ☐ / Rejected ☐ | | Approved/Rejected Date | |

1.2 Document Version Information

Version Date Author Change Description
1.0 2024-10-17 Michael Richards Initial version of issue. Sent out for review.

2. Problem Description


2.1 Background

At present, the Accept parameter in the message header represents the API version that the sender of a message would like to use. This enables version negotiation between participants, and is currently defined here.

The Accept parameter is structured in the following way:

For example: Accept: application/vnd.interoperability.transfers+json;version=1

When we consider the implementation of message content based on ISO 20022 alongside one based on FSPIOP, we shall need to consider whether the structure of the Accept parameter needs to be changed to specify the structure of the message content; and, if so, how this should be done.

2.2 Current Behaviour

The current structure of the Accept parameter does not allow for distinctions of message structure.

Since the resource type is currently used to allow participants to support different versions of individual resources (for instance, it would allow a DFSP to support version 1.1 of PISP and version 2 of transfers), using this part of the parameter to define the structure of the message content would remove this flexibility.

2.3 Requested Behaviour

There are basically two approaches:

  1. Leave the Accept parameter as it is, and allow the structure of the message content (ISO 20022 or FSPIOP) to be implicit as regards the header.
  2. Modify the Accept parameter to include the structure of the message content. Given the constraints described above, this would mean adding a new field to the Accept parameter.

Changing the structure of the Accept parameter would require changes to the ways in which DFSPs and the switch evaluate the validity of a message.

3. Proposed Solution Options


bushjames commented 1 month ago

@PaulGregoryBaker would you mind outlining your proposed solution here so we can discuss at the next available opportunity. Many thanks.