Skip to content

conwetlab/fiware-rss

Repository files navigation

Revenue Settlement and Sharing System

License Docs Docker Support Build Status

Introduction

This is the code repository for the Revenue Settlement and Sharing System, a Java implementation developed as a part of FIWARE, and the reference implementation of the Revenue Settlement and Sharing System GE.

You find all the information related to the RSS in its page in the FIWARE Catalogue

Any feedback is highly welcome, including bugs, typos or things you think should be included but aren't. You can use GitHub Issues to provide feedback.

You can find the User & Programmer's Manual and the Administration Guide on readthedocs.org

GEi Overal Description

The Revenue Settlement and Sharing System (RSS) GE is in charge of distributing the revenues originated by the usage of a given service among the involved stakeholders. In particular, it focuses on distributing part of the revenue generated by a service between the Store Provider and the Service Provider(s) responsible for the service. With the term "service" we refer to both final applications and backend application services (typically exposed through an API). Note that, in the case of composite services, more than one service provider may have to receive a share of the revenues.

Installation

The instructions to install the RSS can be found at the Installation Guide. You can install the software in three different ways:

API Overview

The main resources available throught the RSS API are:

  • Aggregators /fiware-rss/rss/aggregators
  • Providers /fiware-rss/rss/providers
  • Revenue Sharing Models /fiware-rss/rss/models
  • CDRs /fiware-rss/rss/cdrs
  • Revenue Sharing Reports /fiware-rss/rss/reports

With these resources you can:

  • Use POST to create entities:

    • Create an aggregator making POST to /fiware-rss/rss/aggregators
    • Create a provider making POST to /fiware-rss/rss/provider
    • Create a RS Model making POST to /fiware-rss/rss/models
    • Create a CDR making POST to /fiware-rss/rss/cdrs
  • Use GET to retrive entities:

    • Retrieve aggregatosr making GET to /fiware-rss/rss/aggregators
    • Retrieve providers making GET to /fiware-rss/rss/provider
    • Retrieve RS Models making GET to /fiware-rss/rss/models
    • Retrieve CDRs making GET to /fiware-rss/rss/cdrs
    • Retrieve RS Reports making GET to /fiware-rss/rss/reports

Additionally, the RSS exposes some resources for expenditure limits management:

  • Expenditure Limits expenditureLimit/limits/AGGREGATOR/
  • Balance expenditureLimit/balance/USER

With these resources you can:

  • Use POST to create entities:

    • Create provider limits making a POST to expenditureLimit/limits/AGGREGATOR/PROVIDER
    • Create user limits making a POST to expenditureLimit/limits/AGGREGATOR/PROVIDER/USER
    • Create and Check user balance making a POST to expenditureLimit/balance/USER
  • Use POST to partialy update entities:

    • Update provider limits making a POST to expenditureLimit/limits/AGGREGATOR/PROVIDER
    • Update user limits making a POST to expenditureLimit/limits/AGGREGATOR/PROVIDER/USER
  • Use GET to retrieve entities:

    • Retrieve provider limits making a GET to expenditureLimit/limits/AGGREGATOR/PROVIDER
    • Retrieve user limits making a GET to expenditureLimit/limits/AGGREGATOR/PROVIDER/USER
    • Retrieve user balance making a GET to expenditureLimit/balance/USER

API Reference

For further documentation, you can check the API Reference available at:

Testing

End-to-End tests

End-to-End tests are described in the Installation Guide

Unit tests

To execute the unit tests, just run:

mvn test -fae

Advanced Topics

You can also find this documentation on ReadTheDocs