myparcelcom / api-specification
MyParcel.com API specification based on the OpenAPI Specification.
Installs: 14 271
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 4
Forks: 2
Open Issues: 2
Language:JavaScript
- dev-develop
- v1.73.6
- v1.73.5
- v1.73.4
- v1.73.3
- v1.73.2
- v1.73.1
- v1.73.0
- v1.72.0
- v1.71.1
- v1.71.0
- v1.70.7
- v1.70.6
- v1.70.5
- v1.70.4
- v1.70.3
- v1.70.2
- v1.70.1
- v1.70.0
- v1.69.1
- v1.69.0
- v1.68.2
- v1.68.1
- v1.68.0
- v1.67.0
- v1.66.0
- v1.65.1
- v1.65.0
- v1.64.0
- v1.63.2
- v1.63.1
- v1.63.0
- v1.62.0
- v1.61.1
- v1.61.0
- v1.60.0
- v1.59.0
- v1.58.1
- v1.58.0
- v1.57.1
- v1.57.0
- v1.56.2
- v1.56.1
- v1.56.0
- v1.55.4
- v1.55.3
- v1.55.2
- v1.55.1
- v1.55.0
- v1.54.0
- v1.53.0
- v1.52.3
- v1.52.2
- v1.52.1
- v1.52.0
- v1.51.3
- v1.51.2
- v1.51.1
- v1.51.0
- v1.50.0
- v1.49.2
- v1.49.1
- v1.49.0
- v1.48.0
- v1.47.2
- v1.47.1
- v1.47.0
- v1.46.1
- v1.46.0
- v1.45.1
- v1.45.0
- v1.44.0
- v1.43.2
- v1.43.1
- v1.43.0
- v1.42.1
- v1.42.0
- v1.41.0
- v1.40.0
- v1.39.3
- v1.39.2
- v1.39.1
- v1.39.0
- v1.38.4
- v1.38.3
- v1.38.2
- v1.38.1
- v1.38.0
- v1.37.1
- v1.37.0
- v1.36.0
- v1.35.0
- v1.34.3
- v1.34.2
- v1.34.1
- v1.34.0
- v1.33.0
- v1.32.2
- v1.32.1
- v1.32.0
- v1.31.2
- v1.31.1
- v1.31.0
- v1.30.0
- v1.29.0
- v1.28.0
- v1.27.0
- v1.26.0
- v1.25.0
- v1.24.0
- v1.23.0
- v1.22.1
- v1.22.0
- v1.21.0
- v1.20.4
- v1.20.3
- v1.20.2
- v1.20.1
- v1.20.0
- v1.19.0
- v1.18.3
- v1.18.2
- v1.18.1
- v1.18.0
- v1.17.0
- v1.16.1
- v1.16.0
- v1.15.0
- v1.14.0
- v1.13.0
- v1.12.0
- v1.11.0
- v1.10.0
- v1.9.0
- 1.8.0
- v1.7.0
- v1.6.0
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.2
- v1.2.1
- 1.2.0
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.1.0-rc2
- v1.1.0-rc1
- v1.0.0
- v1.0.0-rc6
- v1.0.0-rc5
- v1.0.0-rc4
- v1.0.0-rc3
- v1.0.0-rc2
- v1.0.0-rc1
- v0.28.0
- v0.27.0
- v0.26.0
- v0.25.1
- v0.25.0
- v0.24.0
- v0.23.1
- v0.23.0
- v0.22.5
- v0.22.4
- v0.22.3
- v0.22.2
- v0.22.1
- v0.22.0
- v0.21.5
- v0.21.4
- v0.21.3
- v0.21.2
- v0.21.1
- v0.21.0
- v0.20.8
- v0.20.7
- v0.20.6
- v0.20.5
- v0.20.4
- v0.20.3
- v0.20.2
- v0.20.1
- v0.20.0
- v0.19.0
- v0.18.3
- v0.18.2
- v0.18.1
- v0.18
- v0.17.1
- v0.17.0
- v0.16.3
- v0.16.2
- v0.16.1
- v0.16.0
- v0.15.1
- v0.15.0
- v0.14.2
- v0.14.1
- v0.14.0
- v0.13.4
- v0.13.3
- v0.13.2
- v0.13.1
- v0.13.0
- v0.12.1
- v0.12.0
- v0.11.0
- v0.10.17
- v0.10.16
- v0.10.15
- v0.10.14
- v0.10.13
- v0.10.12
- v0.10.11
- v0.10.10
- v0.10.9
- v0.10.8
- v0.10.7
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.1
- v0.9.0
- v0.8.1
- v0.8.0
- v0.7.4
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.0
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.0
- v0.2.27
- v0.2.26
- v0.2.25
- v0.2.24
- v0.2.23
- v0.2.22
- v0.2.21
- v0.2.20
- v0.2.19
- v0.2.18
- v0.2.17
- v0.2.16
- v0.2.15
- v0.2.14
- v0.2.13
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- dev-feature/MP-7016-resolve-return-methods
- dev-feature/move-rpc-endpoints
- dev-qa/shop-filter-is-not-deprecated
- dev-master
- dev-feature/validate-swagger
- dev-revert-1079-feature/return-questions
- dev-feature/MP-6687-manage-shop-test-orders
- dev-revert-1059-feature/MP-6687-manage-shop-test-orders
- dev-experimenta/json-to-yaml
This package is auto-updated.
Last update: 2024-11-22 15:39:21 UTC
README
Description of the API specification used by MyParcel.com located at https://api-specification.myparcel.com. This specification adheres to the OpenApi 3.1 specification and implements the JSON API specification.
Content
Installation
The repository provides Docker containers to validate and preview the spec before committing changes. This is also used when validating pull requests. To install Docker, follow the steps in the documentation.
To set up the project for development run:
./mp.sh setup
Commands
./mp.sh up
- Start the containers which will start a server to watch file changes and reload automatically.
./mp.sh down
- Stop the containers.
./mp.sh validate
- Validate the specification.
NOTE: The validator only works when the containers are already running. Don't forget to start them.
Conventions
Conventions based on the Swagger and JSON Schema specs.
Our internal conventions are described below.
PUT, POST, PATCH
To avoid discussion, the use of the above HTTP methods is described below.
PUT
- Used to create or replace a resource.
- Always returns the same response on repeated requests.
- Needs the full resource for the request (including the id for the to be created or replaced resource).
POST
- Used to create a resource.
- Does not return the same response on repeated requests.
- Does not need the full resource for the request (often does not need the id for the to be created resource).
PATCH
- Used to update an existing resource.
- Does not return the same response on repeated requests.
- Does not need the full resource for the request (you might only want to update a user's name for example).
API versioning
The API versioning follows semantic versioning. The increment in version number is done manually and should be part of the pull request.
Schema file naming
Definition file names follow PascalCasing. Where every first letter of a word (including the first word) is uppercase. For example, the definition for a country code would be found in:
specification/schemas/CountryCode.json
Path file naming
The files in specification/paths
are named after their corresponding API endpoints. Where resources start with an uppercase letter and path variables with a lowercase letter. For example, the definition of the following route:
carriers/{carrier_id}/services
can be found in:
specification/paths/Carriers-carrier_id-Services.json
Parameter file naming
Parameter file names are prefixed with the corresponding parameter type. A path parameter for carrier_id
would get the following file path:
specification/parameters/path-carrier_id.json
Unique parameters can just remain in the path file and do not need to be extracted to their own files.
License
All software by MyParcel.com is licensed under the MyParcel.com general terms and conditions.