Setup Automated POSTing of Rooftop Power Output Data to our API

If you have decided that routine and automatic POSTing of power output data to our API is the best option for you, the next step is to program an automated computer code script which can send this data to our API directly.  This can be done using the following guidelines:

  1. POSTing must be done using JSON format and must use a HTTP POST command to the correct resource ID.  
  2. Power output data can be provided using the 'measurement' or 'measurements' fields ('measurements' is used for POSTing more than one interval of data), and should be provide as averages of power output in kW, as calculated to the end of the averaging period.
  3. You must use UTC timestamps to the ISO8601 standard. And should timestamp the 'period_end' field to the UTC time of the end of the period.  
  4. The average 'period' is in ISO8601 standard for a time duration. For example, 'PT5M' is a 5 minute duration. 

Example JSON POST:  Individual Measurement:

POST /rooftop_sites/1234-abcd-1234-abcd/measurements
{
  "measurement": {
    "period_end": "2018-02-02T03:30:00Z",
    "period": "PT5M",
    "total_power": 1.23456
  }
}

Example JSON POST: Bulk Measurements:

{
  "measurements": [{
      "period_end": "2018-01-02T00:10:00Z",
      "period": "PT10M",
      "total_power": 12
    }, {
      "period_end": "2018-01-02T00:20:00Z",
      "period": "PT10M",
      "total_power": 12
    }, {
      "period_end": "2018-01-02T00:30:00Z",
      "period": "PT10M",
      "total_power": 12
    }
  ]
}

An example of sending a measurement to a rooftop site with cURL would be.

curl -X POST \
  https://api.solcast.com.au/rooftop_sites/abcd-1234-abcd-1234/measurements \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
"measurement": {
"period_end": "2018-01-01T02:30:00Z",
"period": "PT5M",
"total_power": 123.45
}
}'

Where YOUR_API_KEY is substituted for your API key available from your accounts page once you're logged in.

Need more help? 

If the above information hasn't answer your question, please contact us via the chat bubble at right & we'll reply as soon as we can! --->

You can also consult our documentation or send us an email

Did this answer your question?