4. /determine-processing-entity
Purpose
Client Implementation flows designed to process payments as well as IPF CSM Services have a need to know which "Processing Entity" they are processing the message for (payments, recalls, returns, enquiries etc). Refer Processing Entity to know more about the Processing Entity dynamic configuration.
Knowing the processing entity helps the client flows to enrich the processing context on the messages which helps the transactions be visible to right operations teams on IPF Operational Dashboard and on ODS.
It can also help the client implementations to retrieve and use dynamic and static configurations that are specific to each processing entity.
The endpoint /determine-processing-entity offers the required features to determine the processing entity associated with provided industry identifiers.
Standard Processing Entity Derivation Vs Processing Entity derivation by deriving direct participant
Standard Processing Entity Derivation
-
The industry identifier used for determining processing entity is checked for presence on two dynamic configurations, "Processing Entity" and "Generic Processing Settings - Intra Entity Parties". This is referred to as "Standard Processing entity derivation". The industry identifier is the identifier of the party on the message that the CSM service or the client flow has determined to be processing entity (e.g. it can be a BIC or national clearing code that belongs to InstdAgt, InstgAgt, DbtrAgt or CdtrAgt) and included on the input request to the endpoint /determine-processing-entity.
-
While determining the processing entity this way, the service can also refer to industry data through IBAN deconstruction or "Party Entity Directory" look up to get the required type of identifier associated with the provided input value so processing entity can be determined even if Intra Entity Parties does not register the provided type of identifier (e.g. A processing entity has registered intra entity parties using BIC values but the
determine processing entityrequest is made with a National Clearing code. In these cases, the service can derive the BIC associated with the national clearing code using industry data available on party entity directory. This derived BIC value is then used to determine processing entity using BICs available on intra entity parties) -
Standard processing entity determination is executed for a request when the
deriveDirectParticipantflag is set toFALSEor the flag value is not set on the input (default valueFALSE).
Processing Entity derivation by deriving direct participant
-
In most cases, inbound messages processed by CSM service contain the direct participant (e.g. in InstdAgt) and this can be used to determine processing entity using "Standard Processing Entity Determination" (as explained above).
-
However, some CSMs may not include the identifier of the direct participant on inbound messages. In these cases, the CSM service processing the inbound payment may want to derive the direct participant associated with the CdtrAgt first and then determine the processing entity using the identifier of the direct participant. This would allow the required processing steps to be executed with the direct participant’s processing entity, before executing the steps for the indirect participant (where processing entity will need to be determined again by the client implementation flows using the identifier of the CdtrAgt).
-
When requesting processing entity determination by deriving direct participant, the requester should also know the csmAgent ids of the CSMs as registered on CSM Participant dynamic configuration.
-
Once the direct participant has been derived, the processing entity determination follows the "Standard Processing Entity determination" as explained above, but using the identifier of derived direct participant.
This can be explained using below flow:
csmAgentId Values
The CSM Reachability service uses the below values for the csmAgentId attribute when loading participant data for CSM Agents. When requesting derivation of direct participants for a given CSM, the corresponding csmAgentId should be used on the request.
| CSM | csmAgentId value |
|---|---|
EBA STEP2 SCT |
STEP2 SCT |
EBA RT1 |
RT1 |
TIPS |
TIPS |
SIC Instant |
SicInst |
Important considerations for determination of processing entity
-
A payment message being processed by a flow or a CSM Service can have multiple parties and associated industry identifiers (e.g. InstdAgt, InstgAgt, DbtrAgt, CdtrAgt etc) . It is the responsibility of the flow(s) and the CSM Service to determine which of the available parties on the message is the processing entity at each stage of processing and pass on the associated industry identifier to the endpoint to determine the linked processing entity ID and enrich the payment.
-
Determining which party on the message is the processing entity is not in scope of the CSM Reachability service. The service scope is limited to determining the processing entity ID associated with an industry identifier selected by the requester.
-
/determine-processing-entity will have to be called multiple times to determine the processing entity where messages are being processed for two or more entities that are defined as processing entities. E.g. an inbound payment sent to an indirect participant or an intra-group transfer.
-
It is responsibility of the API consumer to provide valid inputs to the service on the request. Incorrect inputs may lead to a processing entity not being determined or an incorrect processing entity being determined. These include:
-
Identifier of the right party on the message to determine that party as processing entity (any one of DbtrAgt, CdtrAgt, InstgAgt, InstdAgt etc.)
-
Correct value of
deriveDirectParticipantflag -
Correct value of csmAgentId when direct participant derivation is required before determining processing entity
-
Usage
The endpoint /determine-processing-entity can be used by the processing flows and CSM Services to determine the processing entity using industry identifiers available on the messages.
The processing entity determined using the API can be used to:
-
Enrich the processing context of the payments
-
Use localized processing entity specific static and dynamic configurations
-
Provide processing entity based access control on the IPF operational dashboard or client specific GUI
Refer Determine Processing Entity Usage Examples for sample usage flow definitions.
Dynamic Configurations
The /determine-processing-entity API uses below dynamic configurations for determination of processing entities. The optionality of the dynamic configurations indicate whether the dynamic configurations are mandatory or not.
| Dynamic Configuration | Optionality | Purpose | Reference |
|---|---|---|---|
Processing Entity |
Mandatory |
Processing Entities will need to be registered with industry identifiers. |
|
Generic Processing Settings - Intra Entity Parties |
Optional |
Intra entity parties can be registered with their individual industry identifiers (These can be branch identifiers while head office industry identifiers are registered against the |
|
IBAN Plus Directory |
Optional |
IBANPlus directory is needed if the client implementations want to use IBAN type identifiers for determining processing entities. |
|
IBAN Structure |
Optional |
IBAN Structure directory is needed if the client implementations want to use IBAN type identifiers for determining processing entity. |
|
Exclusion List |
Optional |
IBAN exclusion list directory is needed if the client implementations want to use IBAN type identifiers for determining processing entity. |
|
Party Entity Directory |
Optional |
Party entity directory will be needed if Intra entity parties are registered while input requests for determination of processing entity are made with identifier types not registered on intra entity parties. This allows the service to look up required identifier types on industry data and determine processing entity based on corresponding identifiers retrieved from industry data source. |
|
CSM Participant |
Optional |
CSM Participant data will be required for the CSMs to derive the direct participant associated with an identifier. |
Request and Response
/determine-processing-entity follows below request and response structure. This section provides information on the request and response properties, for detailed API specs, please refer CSM Reachability Service API
API Version 2
Request
| Request Property | Description |
|---|---|
entityIdentifier |
The identifier that should be used to derive the processing entity. |
entityIdentifierType |
The type of identifier being provided on the request. Supported identifier types are, BIC, NCC, LEI, IBAN and a client specific custom identifier. Refer Party Identifiers Explained |
entityIdentifierSubType |
The sub-type of the identifier type being used for look up. Refer API specs for the sub-types supported for each identifier type. |
entityCountry |
ISO3166-2 country code of the entity record being queried. entityCountry is required when querying records of type LEI. |
DeriveDirectParticipant |
1) When 2) When Default value if not specified: |
csmAgentId |
1) Conditionally mandatory when DeriveDirectParticipant = 2) This is the CSM Agent ID used to retrieve the list of participants for a given CSM. 3) The CSM Agent ID allows the CSM Reachability service to derive the direct participant associated with the provided identifier and then look up processing entity using the direct participant’s identifier. |
Response
| Response Property | Description |
|---|---|
processingEntities |
A list of processing entity IDs that match provided industry identifiers on the input. In a valid data set up on a client implementation, only one processing entity ID should be derived. When multiple processing entity IDs are determined, this points to an invalid data set up that needs to be addressed. |
reasonCode |
An IPF proprietary reason code that indicates a reason for why processing entity determination was not possible. Please refer Reason Code Dictionary for detailed list of reason codes. |
reasonDescription |
Description of the reason code returned. |
| When an IBAN is provided on the request, the IBAN is deconstructed by the service to use derived identifiers to determine processing entity. |