It would be well commented in the API documentation.
I personally use the following in the shipment API, the comments would have been gleaned from the supplied documentation.
This is from my personal code and is not the tracking API, but I guess it will be similar and consistent:
// Mandatory - The MessageTime element contains the time at which the message was sent by the requestor. The format of
// the element should be YYYY-MM-DD(T)hh-mm-ss - Time Zone where âTâ is the separator between date
// and time
request.ServiceHeader.MessageTime = DateTime.Now;
// Mandatory - The MessageReference element should contain a unique reference to the message, so that trace of
// a particular message can easily be carried out. It must be a minimum length of 28 and maximum
// 32.The value can be decided by the customer.
request.ServiceHeader.MessageReference = Guid.NewGuid().ToString("N");
Edit
I double checked with the tracking API and it's the same:
