First draft of our decisions

This commit is contained in:
Nico Kroll 2024-05-02 09:01:23 +02:00
parent 6ef360c66a
commit bce8ddcefc
1 changed files with 62 additions and 0 deletions

View File

@ -1 +1,63 @@
*Currently under heavy development*
## Overview
Our API follows the REST-API-Principles.
# URI structure / Products
We will have a bunch of use cases. Some API consumers want to develop
- an appointment making service
- a shop integration with prices, stocks and more
- create and update orders
- update vehicle information
- many more cases...
Because of the variety of requirements, we offer different API products. The naming results to "/api/<product>/...". This allows us to provide different views of the same resource depending on your use case and permissions.
# Domain
We as [PRM Software AG](https://prm-ag.de) offer you this API for our customers and act in that case as a service provider. For requesting the data of a trader, it is neccessary to get the permissions of each trader.
Each trader has it's own domain or a generated one by us. The base-URI could be:
- https://example-store.de/
- https://onlineservices.prod.rz2.prm-ag.de/asd8s76df9/
# Methods
With each call you'll interact with ressources. The verb you do will be the HTTP method.
- GET /api/core/users -> Retrieve all customers
- GET /api/core/users/1 -> Retrieve data of customer 1
- GET /api/core/users/1/permissions -> Retrieve all permissions of customer 1
- DELETE /api/core/users/1 -> Delete customer 1
- BAN /api/core/users/1 -> Ban customer 1
- NOTIFY-GTC-VIOLANCE /api/core/users/1 -> Notifies customer 1 for a violation of the terms and conditions
# Authentication
# Errors
# Rate Limiting
# Pagination
# Sorting
# Response Resolution
# Caching
## TODO
GET /api/shop/vehicles
GET /api/tyrepro/vehicles
GET /api/tiretask/vehicles
GET /api/openitem/vehicles
GET /api/rdks/vehicles
GET /api/vehicles/shopview
GET /api/vehicles/tyreproview