There are several ways how to send data from Scoreboard OCR to singular.live:
https://datastream.singular.live/datastreams/<data_streams_private_token>
data.payload[0].controlNode.payload.data-field-name
data.payload[0].controlNode.payload["data-field-name"]
data.payload[0].controlNode.payload.Time
data.payload[0].controlNode.payload["Time"]
Scoreboard OCR will send the following HTTP PUT request to singular.live Data Streams according to developer documentation
[{ "compositionName": "", "controlNode": { "payload": { "Time": "3:27", "Score_a": "8", "Score_b": "12" } } }]
https://app.singular.live/apiv1/control/<TOKEN>/<compositionName>
https://app.singular.live/apiv1/control/2gzVUSk2pFmDI7dK53KX5g/Composition1
Scoreboard OCR will send the following HTTP PUT request to singular.live according to developer documentation
[ { "compositionName":"Composition1", "controlNode":{ "payload":{ "Time":"09:00" } } } ]
https://app.singular.live/apiv1/control/<TOKEN_FROM_CLIPBOARD>/Score Bug - Basketball
You should see the Team1 score updating in Singular.live
Since Singular.live 'Time' field is not a standard text field but rather a 'timer' type of field and it is not possible to send a value to update this field. Instead it can be started and stoped by sending a command. Workaround is to replace Timer widget with Text widget.