Releases: trebol-ecommerce/api
Releases · trebol-ecommerce/api
v3.0.0
Since v1.7.3
Added
- Generic error response and response body schema, named
Error
andAppError
respectively
Changed
- [BREAKING CHANGE] All error responses were replaced in favor of the new generic error schema
- [BREAKING CHANGE] In newly-named
Order
,Customer
andSalesperson
now reference aPerson
element instead - [BREAKING CHANGE] Rename all instances of
Sell
toOrder
- Tag
sales
->orders
- Endpoint
/data/sales
->/data/orders
- All methods GET, POST, PUT and PATCH
- All subroutes
/confirmation
/rejection
/completion
- Schemas
Sell
->Order
SellProperties
->OrderProperties
SellDetail
->OrderDetail
SellDetailProperties
->OrderDetailProperties
- All uses of the noun in literal descriptions
- Tag
- [BREAKING CHANGE] Standard status codes in replacement of vague
200
- All
/data/
POST endpoints will return201
- Excepting the three subroutes within
/data/orders
which will return204
:/confirmation
/rejection
/completion
- Excepting the three subroutes within
- All
/data/
PUT, PATCH, DELETE and OPTIONS endpoints will return204
- All
Removed
- [BREAKING CHANGE] Error response schemas
Forbidden
NotFound
BadRequestBody
- [BREAKING CHANGE] Elements that constitute the concepts of
Customer
andSalesperson
- Endpoints
/data/customers
and/data/salespeople
- Schemas
Customer
andSalesperson
- Tags
customers
andsalespeople
- Endpoints
- [BREAKING CHANGE] Auth-related resources
- Paths
/public/guest
/public/register
/public/login
/access
/access/{resource}
- Unusedd tags
authorization
session
- Paths
v1.7.3
Changed
- The following schemas were merged into their original ones
ProductRequiredProperties
->Product
SellRequiredProperties
->Sell
UserRequiredProperties
->User
UserRoleRequiredProperties
->UserRole
ImageRequiredProperties
->Image
PersonRequiredProperties
->Person
ProductCategoryRequiredProperties
->ProductCategory
ProductListRequiredProperties
->ProductList
ShipperRequiredProperties
->Shipper
Also change notes for v1.7.0 were updated in the CHANGELOG.md
file and reflected in its Releases page.
v1.7.2
Fixed
- Bad $ref
v1.7.1
Fixed
- Joined specification documents back into one
v1.7.0
Added
PATCH
methods, to partially update data- affected endpoints
/data/products
/data/sales
/data/users
/data/images
/data/product_categories
/data/shippers
/data/product_lists
- all of these are tagged with
partial-update
- affected endpoints
Changed
- To support
PATCH
methods, each and every CRUD-related schema was split into three- One schema only has the
properties
array from the original one, and is added the suffix-Properties
- Another, with the
required
array, and is added the suffix-RequiredProperties
- The last one extends from both the others, plus includes the rest of the metaproperties
name
,description
,example
, and retains the original name - All of this is true for these following schemas, resulting in the following new ones:
Product
->ProductProperties
&ProductRequiredProperties
Sell
->SellProperties
&SellRequiredProperties
User
->UserProperties
&UserRequiredProperties
Image
->ImageProperties
&ImageRequiredProperties
ProductCategory
->ProductCategoryProperties
&ProductCategoryRequiredProperties
Shipper
->ShipperProperties
&ShipperRequiredProperties
ProductList
->ProductListProperties
&ProductListRequiredProperties
- This way, each
PATCH
method only needs a-Properties
schema, and eachPUT
/POST
still makes use of the original schema.
- One schema only has the
Fixed
- SuperLinter badge url
v1.6.1
Added
- SuperLinter GitHub Action
v1.6.0
Changed
- Created a second API document
common.trebol-api.json
for common components- Moved schemas to this document
DataPage
LoginCredentials
UserRegistration
AuthorizedAccess
Person
- Moved responses to this document
PaginatedCollection
Forbidden
AuthorizedAccessToResource
AuthorizedAccessToRoutes
NotFound
Empty
AllowMethodPOST
AllowMethodGET
AllowAllMethods
AllowMethodGET-PUT
BadRequestBody
- Rewritten References (
$ref
) to load all these components from the second document file if it exists in the same directory
- Moved schemas to this document
v1.5.4
- Add
servers
array to document root object, containing a single parameterizable object. - Remove unused schemas & responses
- Inlined some refs to elements that were only used once in the spec
v1.5.0
Added
- Query parameters specification for
GET /data/product_lists
ProductList
specific query params arecode
,name
,codeLike
andnameLike
- Three resources to interact with processing of sales
POST /data/sales/confirmation
- Should confirm a given sell that is in aPaid
or similar statePOST /data/sales/rejection
- Should reject a given sell that is in aPaid
or similar statePOST /data/sales/completion
- Should mark a sell asCompleted
orDelivered
, given that it is in aConfirmed
or similar state
- New query parameters for
GET /data/sales
-afterDate
,beforeDate
andstatusCode
Changed
- Removed some empty security schema specs
Fixed
- Added missing data type ref to path parameter in
/access/{resource}
path - Moved
date
query parameter for/data/sales
to be used only in itsGET
method
Removed
- Deprecated resource paths
/public/categories
- Since v1.1.0/public/products
- Since v1.2.1/public/products/{barcode}
- Since v1.2.0
v1.2.2
Changed
- Means to use
/data/product_list_contents
POST
accepts a singleProduct
entity at a time- Remove most query parameters from
PUT
andPOST
- Only keep
listCode
as globally supported GET
andDELETE
do support them all
- Only keep
- Update descriptions