Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Key Principles

Principle

Decision / Discussion

Status

Aggregation

  • the interface delivers all figures on portfolio level (no aggregation needed)

Status
colourBlue
titlebmpi proposal

Scope is Portfolio

  • the interface should always deliver data on the scope of a single portfolio

Status
colourBlue
titlebmpi proposal

Currency

  • all figures are delivered in reporting currency

Status
colourBlue
titlebmpi proposal

Benchmark Data

  • no benchmark data needed

StatuscolourBluetitlebmpi proposal

Breakdown Segments

  • no breakdowns possible

Status
colourBlue
titlebmpi proposal


Interface "PortfolioProfitLoss"

...

Status

...

Reporting Business Logic

  • aggregation of figures and offsetting figures

    • figures: facts for each provided figure get summed up

    • offsetting figures: facts for each provided figure get subtracted

  • selectable columns to display:

  • month

  • quarter

  • mtd

  • ytd

    Usage & Contents

    • used to produce profit+loss tables

    • all available profits and losses for the portfolio are calculated

    Reporting Business Logic

    • aggregation of figures and offsetting figures

      • figures: facts for each provided figure get summed up

      • offsetting figures: facts for each provided figure get subtracted

    • calculate selectable periods like months, quarters, mtd, ytd

    Path

    /portfolio/profitloss

    Parameters

    portfolioId

    string

    The id of the portfolio (or consolidation) in the data source

    startDate

    string (date)

    The start date the reporting is produced for

    endDate

    string (date)

    The end date the reporting is produced for

    Example call

    /portfolio/profitloss?portfolioId=E0002&startDate=2019-01-01&endDate=2019-04-15

    Response structure

    If the API can fulfill the request (response status code 200 = OK) the response must follow the below json-schema.

    • The request part of the response has to match the path and parameters used in the API call/request

    • The json schema currently excludes the schema for dataVersioning (should be designed by CSAM)

    Schema

    https://bitbucket.org/banknotes/ngr/src/df61b39d18a16581cd95aed9694991bbe39c5fb1/ngr-csamsolution/src/Model/schema/PortfolioProfitLoss.schema.json?at=release%2Fcurrent

    Error handling

    If the request can't be fulfilled an appropriate response status code (4xx or 5xx) must be used. Possible errors could be

    • bad request structure → expected status = 400

    • portfolioId not found or reportingDate in future → expected status = 404

    • etc.

    The body of the response should contain information about the reason of the error in plain text or as json object.

    Schema

    Status
    titleon request

    Example

    Status
    titleon request