Table of Contents
Overview
A TMS update is a procedure NMI's Payment Device SDK carries out automatically every 48 hours in which it pulls down a fresh copy of properties set against the terminal on our platform. At times the user may need to carry out a forced update in order to download recently changed TMS properties and settings. This can be done using the TMS call discussed below.
We mandate that integrators add a method of forcing a TMS update within their integration to ensure any urgent changes can be pulled down as soon as possible.
How to perform a TMS update
A TMS update can be performed by calling the requestTmsUpdate method. This method takes arguements in the form of a ParameterSet. The supported ParameterKeys and their values are:
TmsRequestType
- TmsConfiguration (default)
TmsUpdateType
- Partial (default)
- Full
ConfigurationUpdateSchedule
- Immediate (default)
- MaintenanceTime
Forcing a TMS update
To force an immediate full TMS update, therefore pulling down a copy of all of the latest properties and settings on our platform, please ensure the following ParameterKeys are set to their respective values within the ParameterSet before calling RequestTmsUpdate:
TmsRequestType = "TmsConfiguration"TmsUpdateType = "Full"ConfigurationUpdateSchedule = "Immediate"
An example of how to perform this within the Payment Device SDK in C# can be seen below:
private void ForceTmsUpdate() {
var parameter = new ParameterSet();
parameter.Add(ParameterKeys.TmsRequestType, "TmsConfiguration");
parameter.Add(ParameterKeys.TmsUpdateType, "Full");
parameter.Add(ParameterKeys.ConfigurationUpdateSchedule, "Immediate");
parameter.Add(GetExtraParams("RequestTmsUpdate"));
var response = clientHelper.RequestTmsUpdate(parameter);
string errors;
if (response.ContainsKey(ParameterKeys.Errors) && response.GetValue(ParameterKeys.Errors, out errors)) {
Console.WriteLine(ErrorsString("RequestTmsConfigUpdate Errors", errors));
}
}