Guide: ERP-API: Difference between revisions

From bwCloud-OS
Jump to navigation Jump to search
As1844 (talk | contribs)
No edit summary
As1844 (talk | contribs)
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
➡️ '''To the [[Guide: Enterprise Resource Planning|Enterprise Resource Planning]].'''
➡️ '''To the [[Guide: Enterprise Resource Planning|Enterprise Resource Planning]].'''
The bwCloud-OS provides an ERP with a RESTful API that allows our customers to overview and manage the accounting data and resources of their members. Mainly, this means to manage entitlements and eligibilities.


__TOC__
__TOC__


 
The bwCloud-OS provides an ERP with a RESTful API that allows our customers to overview and manage the accounting data and resources of their members. Mainly, this means to manage entitlements and eligibilities.


== Entitlement ==
== Entitlement ==


=== Entitlement validation ===
=== Entitlement validation ===
{| class="mw-message-box mw-message-box-warning"
This endpoint can be used for validating syntax and checking the interpretation of an entitlement string.
| style="vertical-align:middle;" |'''⚠️ Please Note:''' This endpoint is in a late testing phase and will be available soon.
|}This endpoint can be used for validating syntax and checking the interpretation of an entitlement string.
 
==== Entitlement validation example 2 ====
JSON Data: <code>{"entitlement": "<nowiki>urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2</nowiki>"}</code>
 
Return: <code>{'quota_flavor': 'xtiny_1', 'cost_center_id': 'hfu_netze2', 'first_day_of_validation': '2025-12-19', 'last_day_of_validation': 'inf', 'max_number_of_booking_units': 'inf'}</code>
 
'''Entitlement validation example 2'''
 
JSON Data: <code>{"entitlement": "<nowiki>urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2</nowiki>"}</code>
 
Return: <code>{'quota_flavor': 'xtiny_1', 'cost_center_id': 'hfu_netze2', 'first_day_of_validation': '2026-02-01', 'last_day_of_validation': '2027-01-31', 'max_number_of_booking_units': 'inf'}</code>
 
'''Entitlement validation example 3'''


JSON Data: <code>{"entitlement": "<nowiki>urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2:null:2027-01-32:null</nowiki>"}</code>
# Got to the [https://deverp.fr.bwcos.de/docs#/default/check_entitlement_entitlements_validate_post entitlement validation endpoint]
# Click on the tryout button.
# Add your entitlement into the formula. E.g. <code>{ "value": "<nowiki>urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:ufr_netze2</nowiki>"}</code>
# Click on the execute button to send those data to our ERP.
# Inspect our results in the output windows below.


Return: <code>Error parsing eligibility. Invalid last day of validation format: 2027-01-32.</code>
[[File:Entitlement validate endpoint.png|center|thumb|761x761px|[[File:Entitlement validate 2.png|thumb|Endpoint section for the entitlement validation with input formula and output fields,]]Endpoint section in the API for the entitlement validation.]]


== Eligibility ==
== Eligibility ==
=== Eligibility rules ===
{| class="mw-message-box mw-message-box-warning"
| style="vertical-align:middle;" |'''⚠️ Please Note:''' Providing this functionalities is optional and still to plan.
|}
This endpoint may be extended to allow customers to manage eligibility. By defining rules that can be applied to bwCloud-OS users when matching certain criteria. ''E.g. If the user is a member of the medicine faculty, grant the small quota flavor.'' However, the use cases and requirements for this are yet not cleare.
* As a customer, I want a service where my local support can define rules for rolling out eligibility, such that new users from my organization gain automatic quotas.
* As a customer, I want to control who is allowed to manage and see cost centers, user groups, and personal information, such that only privileged people can grant quotas.
* As a customer, I forward (all?) information of my stuff to this external service, such that I can define precise rules.(?)
* As a user, I want to see the eligibilities I am owning, such that I can plan how to debit these.
There are plenty of questions the bwCloud-OS needs to address to their customers before it gets clear what kind of centralized service actually is needed and weather it will be accepted.


=== Eligibility validation ===
=== Eligibility validation ===
{| class="mw-message-box mw-message-box-warning"
This endpoint can be used for validating syntax and checking the interpretation of eligibility data.
| style="vertical-align:middle;" |'''⚠️ Please Note:''' This endpoint is in a late testing phase and will be available soon.
|}This endpoint can be used for validating syntax and checking the interpretation of eligibility data.
 
'''Eligibility validation example 1'''
 
JSON Data: <code>{"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": "2026-12-31", "max_booking_units": 5000}</code>
 
Return:  <code>{'quota_flavor': 'large_1', 'cost_center_id': 'student', 'first_day_of_validation': '2026-01-01', 'last_day_of_validation': '2026-12-31', 'max_number_of_booking_units': 5000}</code>
 
'''Eligibility validation example 2'''


JSON Data: <code>{"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": "2027-12-32", "max_booking_units": 5000}</code>
# Got to the [https://deverp.fr.bwcos.de/docs#/default/check_eligibility_eligibilities_validate_post eligibility validation endpoint]
# Click on the tryout button.
# Add your eligibility data into the formula. E.g., <code>{ "cost_center": "ufr_netze2", "quota_flavor": "xtiny_1", "first_day_val": null, "last_day_val": null, "max_number_of_booking_units": null }</code>


Return: <code>Error parsing eligibility. Invalid last day of validation format: 2027-01-32.</code>
# Click on the execute button to send those data to our ERP.
# Inspect our results in the output windows below.

Latest revision as of 12:28, 12 May 2026

➡️ To the Enterprise Resource Planning.

The bwCloud-OS provides an ERP with a RESTful API that allows our customers to overview and manage the accounting data and resources of their members. Mainly, this means to manage entitlements and eligibilities.

Entitlement

Entitlement validation

This endpoint can be used for validating syntax and checking the interpretation of an entitlement string.

  1. Got to the entitlement validation endpoint
  2. Click on the tryout button.
  3. Add your entitlement into the formula. E.g. { "value": "urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:ufr_netze2"}
  4. Click on the execute button to send those data to our ERP.
  5. Inspect our results in the output windows below.
Endpoint section for the entitlement validation with input formula and output fields,
Endpoint section in the API for the entitlement validation.

Eligibility

Eligibility validation

This endpoint can be used for validating syntax and checking the interpretation of eligibility data.

  1. Got to the eligibility validation endpoint
  2. Click on the tryout button.
  3. Add your eligibility data into the formula. E.g., { "cost_center": "ufr_netze2", "quota_flavor": "xtiny_1", "first_day_val": null, "last_day_val": null, "max_number_of_booking_units": null }
  1. Click on the execute button to send those data to our ERP.
  2. Inspect our results in the output windows below.