Documentation for a newer release is available. View Latest

Processing Archive

For auditability, a processing archive notification is published to a kafka topic for each name match processed. This message can be used to determine the reason for a given result.

The requestId can be used to relate the processing archive to message logs to obtain a complete picture of processing for a particular Verification Of Payee Request

Messages sent to the processing archive topic will comply to the following schema:

{
  "$schema" : "http://json-schema.org/draft-04/schema#",
  "title" : "Verification Of Payee Processing Archive",
  "type" : "object",
  "additionalProperties" : false,
  "properties" : {
    "requestId" : {
      "type" : "string",
      "description" : "The unique request id received from the request message"
    },
    "requestPayeeName" : {
      "type" : "string",
      "description" : "The name retrieved from the request message"
    },
    "requestPayeeIban" : {
      "type" : "string",
      "description" : "The IBAN retrieved from the request message"
    },
    "accountPayeeNames" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      },
      "description" : "The names retrieved from the Account Management response"
    },
    "scoredName" : {
      "type" : "string",
      "description" : "The name that scored the highest value during Name Matching"
    },
    "accountType" : {
      "type" : "string",
      "description" : "The account type retrieved from the Account Management response"
    },
    "nameType" : {
      "type" : "string",
      "description" : "The name type retrieved from the Account Management response"
    },
    "matchCode" : {
      "type" : "string",
      "enum" : [ "MTCH", "NMTC", "CMTC", "NOAP" ],
      "description" : "The match code representing the result of scoring"
    },
    "matchScore" : {
      "type" : "number",
      "description" : "The score of the highest scored name in the range [0.0, 1.0]"
    },
    "matchThresholdForRequest" : {
      "type" : "number",
      "description" : "The upper bound match threshold used for scoring this request"
    },
    "noMatchThresholdForRequest" : {
      "type" : "number",
      "description" : "The lower bound match threshold used for scoring this request"
    },
    "requestReceivedTimestamp" : {
      "type" : "string",
      "description" : "The timestamp retrieved from the request message"
    }
  }
}

Data Sourcing

The below table shows where each field in the Processing Archive originates from.

Source Field

Request Message

requestId

requestPayeeName

requestPayeeIban

requestReceivedTimestamp

Account Management Response

accountPayeeNames

accountType

nameType

Identity Resolution Response

matchScore

scoredName

Generated

matchCode

Configuration

matchThresholdForRequest

noMatchThresholdForRequest

Headers

If Kafka message logging is enabled, processing archive log entries will also contain Kafka Headers.

Currently, VoP populates the following values into the headers:

  • requestId - The request ID as received in the request messages.

  • processingEntity - The processing entity received from the Account Management system.

Other headers may be present as populated by the Connector Framework.

Configuration

Property Default Description

ipf.verification-of-payee.responder.processing-archive.kafka.producer.topic

PROCESSING_ARCHIVE

The kafka topic where processing archive messages are published

ipf.verification-of-payee.responder.processing-archive.kafka.producer.health-check-settings.enabled

false

By default, processing archive messages are published on a best effort basis.
If health checks are enabled for the associated send connector, then the actuator health status will go to OUT_OF_SERVICE which may affect liveness/readiness probes

ipf.verification-of-payee.responder.processing-archive.send-connector.resiliency-settings.attempt-timeout

5s

How long to wait for a single attempt to complete before failing it

ipf.verification-of-payee.responder.processing-archive.producer.behaviour

FIRE_AND_FORGET

By default, processing archive messages are published on a best effort basis.

Valid values:

  • FIRE_AND_FORGET - Ignore errors encountered attempting to publish processing archive messages. Such errors will not affect the service responses returned - errors will still be logged

  • FAIL_ON_ERROR - If processing archive message publication fails, the service will not return responses.