Skip to main content

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.