Backward Compatibility
Following are the key points regarding backward compatibility policy of Sentinel EMS REST APIs:
>Adding new mandatory parameters to an existing REST API request or response, or marking an existing parameter as mandatory always results in a new version of the API. This means that customers using an earlier version of the APIs, will not be impacted upon upgrade. This ensures backward compatibility.
>Adding optional parameters to an existing REST API request or response will not result in a new version of the REST API. In order to ensure backward compatibility, the existing implementation should simply ignore these additional parameters. Also, when processing REST API responses, you must use the Tolerant Reader pattern, which is an industry standard. Web service clients must only extract what is needed, ignore unknown content, and expect variation in the response parameters as REST APIs evolve. This ensures backward compatibility.
Following are additional key points regarding backward compatibility policy of Sentinel EMS:
>For Sentinel EMS 5.4 and later versions, an error is generated if an email address, which is already associated with a vendor user or channel partner user is used while creating a new contact. Alternatively, an error is generated if an email address, which is already associated with a contact is used for creating a vendor user or channel partner user.
>For Sentinel EMS 5.4 and later versions, the channel partner user name cannot be modified.
What is a Tolerant Reader Pattern?
Tolerant Readers extract only what is needed from a message and ignore the rest. Rather than implementing a strict validation scheme, they make every attempt to continue with message processing when potential schema violations are detected. Exceptions are only thrown when the message structure prevents the reader from continuing, or the content clearly violates business rules. Tolerant Readers ignore new message items, the absence of optional items, and unexpected data values as long as this information does not provide critical input to the service logic.
NOTE For customers implementing Sentinel EMS REST APIs but not applying the Tolerant Reader pattern, it is suggested that you test the upgrade in a development environment and make the necessary changes.