proc.runShellCommand("curl -k -g preapiv2.wattabit.com/wdevices/v1/publish/generic?token=XXXXXX&type=MATRIX&dataloggerId=XXXXXX&timezone=Romance%20standard%20Time&data=[{'dev':'2'}]");
I think your curly brackets (and perhaps other characters) are disappearing as a result of whatever shell is being used by "runShellCommand", rather than anything on the Arduino side.
properly quoting magic shell characters that need to make it to a program's actual argument is an art unto itself ![]()
try an extra set of quotes:
proc.runShellCommand("curl -k -g \"preapiv2.wattabit.com/wdevices/v1/publish/generic?token=XXXXXX&type=MATRIX&dataloggerId=XXXXXX&timezone=Romance%20standard%20Time&data=[{'dev':'2'}]\"");