Hi All having the message returned every time. I have looked a the responses on this forum and tried AI but no luck so far, any help appreciated
using ...
Source: /op/v1/device/real/query\\r\\n[MY TOKEN]\\r\\n1773829889976
Signature: 3fceb3662b6c15230c630a4558b91a2b
Full URL: + https://www.foxesscloud.com/op/v1/device/real/query
My Time:18 Mar 2026, 10:31:33
Status: HTTP Status: 200
Response: {"errno":40256,"msg":"Please close and reopen this page illegal signature"}
Server Time: Wed, 18 Mar 2026 10:31:33 GMT
headers being sent
socket.RequestHeader("token") = apiKey
socket.RequestHeader("lang") = "en"
socket.RequestHeader("timestamp") = timestamp
socket.RequestHeader("signature") = signature
socket.RequestHeader("user-agent") = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
jsonString = {"sns":["60JC372045BM276"]}
RequestContent(jsonString, "application/json")
Do you know if you are calcuating the signature correctly?
Try adding a timezone and a Content-Type decleration into your header?
Try adding a timezone and a Content-Type decleration into your header?
H1-6.0-E hybrid inverter
6 x HV2600 v2 batteries
16 x JA Solar 405w panels
7 x Tigo TS4-A-O optimisers
6 x HV2600 v2 batteries
16 x JA Solar 405w panels
7 x Tigo TS4-A-O optimisers
Hi
Thanks for the response, I've added
socket.RequestHeader("TimeZone") = "GMT"
socket.RequestHeader("Content-Type") = "application/json;charset=UTF-8"
socket.RequestHeader("Accept") = "application/json"
with no change to the error message.
what I'm using is
Source: /op/v1/device/real/query\\r\\n3ab34f91-77c5-4283-8688-b37b21276792\\r\\n1773855533625
Signature: be70bb9847936d65ca4c6457a2ababef
(ill change the token after getting is sorted)
Thanks for the response, I've added
socket.RequestHeader("TimeZone") = "GMT"
socket.RequestHeader("Content-Type") = "application/json;charset=UTF-8"
socket.RequestHeader("Accept") = "application/json"
with no change to the error message.
what I'm using is
Source: /op/v1/device/real/query\\r\\n3ab34f91-77c5-4283-8688-b37b21276792\\r\\n1773855533625
Signature: be70bb9847936d65ca4c6457a2ababef
(ill change the token after getting is sorted)
Here's my debug data using your API key - this query body and header works and accesses your data:
getting real-time data
body = {"sns": ["60JC372045BM276"]}
path = /op/v1/device/real/query
headers = {'Token': '3ab34f91-77c5-4283-8688-b37b21276792', 'Lang': 'en', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', 'Timezone': 'Europe/London', 'Timestamp': '1773940778160', 'Content-Type': 'application/json', 'Signature': 'c661733a533c79b92c53a2b64adf2361'}
Copy this data and the headers and use the time stamp and other data to check that you are generating the correct signatue.
getting real-time data
body = {"sns": ["60JC372045BM276"]}
path = /op/v1/device/real/query
headers = {'Token': '3ab34f91-77c5-4283-8688-b37b21276792', 'Lang': 'en', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', 'Timezone': 'Europe/London', 'Timestamp': '1773940778160', 'Content-Type': 'application/json', 'Signature': 'c661733a533c79b92c53a2b64adf2361'}
Copy this data and the headers and use the time stamp and other data to check that you are generating the correct signatue.
H1-6.0-E hybrid inverter
6 x HV2600 v2 batteries
16 x JA Solar 405w panels
7 x Tigo TS4-A-O optimisers
6 x HV2600 v2 batteries
16 x JA Solar 405w panels
7 x Tigo TS4-A-O optimisers