API Versioning
We are thrilled to announce a significant enhancement to our API services: versioning. As part of our commitment to continuous improvement and seamless user experiences, we have implemented a robust versioning strategy that ensures backward compatibility while allowing for innovation and growth.
What does this mean for you? With versioning, you can confidently integrate our APIs into your applications, knowing that any future changes will be communicated transparently. Whether you’re an existing user or exploring FMTC’s APIs for the first time, this upgrade path ensures stability and flexibility.
Major.Minor.Patch
FMTC is adopting a Major.Minor.Patch versioning system. Let’s break it down:
Major Version: Represents significant changes that may break backward compatibility. When you increment the major version (e.g., from 3 to 4), it signals substantial modifications or a new API design. Consumers need to adapt their code to the new version.
Minor Version: Indicates minor enhancements or additions without breaking existing functionality. For example, going from 3.0 to 3.1 introduces new features but maintains compatibility with 3.0.
Patch Version: Reserved for bug fixes, security updates, or other non-disruptive changes. Incrementing the patch version (e.g., 3.0.0 to 3.0.1) ensures that existing integrations remain stable.
By adhering to Major.Minor.Patch versioning, FMTC is striving for a balance between innovation and stability, fostering a reliable API ecosystem.
New API URL Structure
https://www.s3.fmtc.co/api/{VERSION}/{ENDPOINT_NAME}?api_token=TOKEN
The new API structure can take different versions of the version parameter in the URL path that will impact the functionality of the endpoint. The ways that you can pass in the versioning parameter are as follows:
Major: By only passing a major version, you are asking FMTC to always give you the latest version of the API on this major version. For example, if the latest version that FMTC has released is version 3.1.2, and you have only passed in the major version (3), the API will return you version 3.1.2. This will ensure that you are always grabbing the latest version that FMTC has to offer.
- CODE
https://www.s3.fmtc.co/api/3/deals?api_token=TOKEN
Major.Minor: By passing in the major and minor version, you are asking FMTC to always give you the latest patch version of the major.minor version. For example, if the latest version that FMTC has released are versions 3.1.2 and 3.2.2, and you have passed major.minor version 3.1, the API will return you version 3.1.2.
- CODE
https://www.s3.fmtc.co/api/3.1/deals?api_token=TOKEN
Major.Minor.Patch: By passing in the major, minor, and patch version, you are explicitly asking FMTC to always give you the version that you are asking for. For example, if the latest FMTC version is 3.1.2, and you pass in version 3.0.0, FMTC will return you 3.0.0.
- CODE
https://www.s3.fmtc.co/api/3.0.0/deals?api_token=TOKEN
Which Version Is Best For You?
By introducing API versioning, FMTC is giving you the choice on how you receive your information. Here are the pros and cons for each different way to send the API version.
Major
Pros: Ability to always be up to date with the latest FMTC version, including new features and bug fixes
Cons: Risk of issues when a new API endpoint has been released
Major.Minor
Pros: Keep up to date with bug fixes
Cons: No new features
Major.Minor.Patch
Pros: Reliability that once integrated your API endpoint will act exactly the same regardless of FMTC updates
Cons: No bug fixes or new features
FMTC Recommendation
FMTC recommends that affiliates adopt the Major.Minor API versioning approach. This versioning strategy ensures compatibility and smooth transitions when making changes to APIs. Developers can maintain backward compatibility by specifying both major and minor versions while introducing enhancements or fixes. Major versions represent significant updates, while minor versions indicate incremental changes. Implementing this approach allows affiliates to stay up-to-date without disrupting existing integrations.
Previous Endpoint
The now deprecated endpoint is using the following structure:
https://www.s3.fmtc.co/api/v3/deals?api_token=TOKEN&additional_parameters...
This endpoint will still be valid and will be re-routed to the current version of the API, which is 3.0.0.