Migrating to version 1.7
Background
To better support large and complex Products changes have been made to the getProduct
and postValidate
API calls.
Do I need to upgrade?
If your Products are not using the Functional Selection
feature in Catalogues, you probably do not strictly need to upgrade. However, the old calls will eventually be deprecated. We recommend you stay updated.
What code changes do I need to do?
Provided you are not making direct calls to getProduct
and/or postValidate
you do not need to change anything. Just upgrade the packages and the SDK will behave the same as before.
If you are doing direct calls to getProduct
and/or postValidate
you could use getProductLegacyV2
and/or postValidateLegacyV1
. These are the previous generation calls, but keep in mind that they are considered deprecated and will eventually be removed.
A better approach might be to adapt to using the new calls. The difference between the old and new calls is that the old getProduct
response contained a list of all Features that could ever be used by the Products. The new version returns a shorter list of Features, containing only those currently needed. Future postValidate
responses will then contain a list of all Features needed at that point. To lessen the amount of Features that are returned in postValidate
a list of known feature codes, knownFeatureCodes
should be passed to the postValidate
call. Doing so will make the reply from the API both smaller and quicker.
So in summary, if you want to use the new calls, Features will be added along the way by postValidate
, and to speed things up you should provide postValidate
with what Features are already known.