I am trying to push timezone information in the API via the time_zone field. The problem I have is that I am using IANA timezones (a list of supported ones are here: List of tz database time zones - Wikipedia) but they don’t all appear in the Infusionsoft list of supported timezones.
For example, if I try to send “Australia/Perth” as my timezone it is rejected by the api as it does not exist on the Infusionsoft side. Instead I need to check for this timezone and convert it to “Asia/Shanghai”. This is true for many other timezones such as “Australia/Hobart” - again it is not supported in Infusionsoft and I need to change it to “Australia/Sydney”.
Is there an easy way to manage this conversion, via a C# library or something similar, or do I have to make a time consuming mapping between the available IANA timezones and the ones I find in the Infusionsoft list?
This doesn’t address your question directly but is an alternative approach.
I ended up capturing geolocation via IP Stack and storing the time zone and other fields in custom defined contact fields under a separate tab on the contact record.
Below is a mocked up example, to protect the contact’s identity, the IP address doesn’t match up to the street address but you get the idea.
With this information even when Infusionsoft fails to recognize the time zone, I can still do logical queries based on the custom field values captured. Granted this information is captured via a locally hosted web form and not an Infusionsoft hosted form but local forms give you this flexibility to capture the information.
I had to have a developer custom code a WordPress function call to conceal the IP Stack unique API key to avoid hackers scraping the value if I left it visible.
Just a thought that might help with an alternative approach but not if you are looking to fix Infusionsoft’s native method.