Returns the default list of competitions.
Soaring Spot API is RESTful and it uses a hal+json as it's one and only format. Because of the restful nature of the api it's very easy to discover new or existing functionality because you can follow the links just like in your browser. If it's of any help you can browse and discover it here
Please note, that even through this documentation shows all API URIs, you should never ever hard-code any of the URIs unless instructed otherwise. You should resolve the proper links from rels on each request. The links can and DO change, but the rels stay the same throughout an api version.
THIS IS THE ONLY URI you should hard-code.
All requests must provide authorization header in the following format:
Authorization: http://api.soaringspot.com/v1/hmac/v1 ClientID="_your client id_", Signature="_signature_", Nonce="_nonce_", Created="_YYYY-MM-ddTHH:ii:ssZ_"
- ClientID: You can get the clientID automatically through Administration area for your competition, then choose "API Keys" at the bottom of the page
Nonce: As Unique as possible for each request and must not repeat. It should be longer than 16 bytes. Only ASCII characters from 0x23-0x7e are allowed.
php code sample:
$nonce = rtrim(base64_encode(openssl_random_pseudo_bytes(rand(12,30))), '=');
Created: date in ISO format (YYYY-MM-ddTHH:ii:ssZ) and in UTC timezone. The time shouldn't be off by more than 5 minutes from the server time, otherwise the request will fail. Keeping your local time in sync with a server time: Before making the first request you should issue a GET to the http://api.soaringspot.com/v1/time The server will return it's current time in a header named
X-Server-Time. (Server time will also be returned in header in each response) At this time you should calculate your local and server time difference for further communication.
php code sample, without time synchronization:
$date = gmdate('Y-m-d\TH:i:s\Z');
Signature: base64 encoded sha256 hmac, message part of HMAC is made form following concatenated values: $nonce, $date, ClientID. The key part is the key which you have received together with your ClientID.
php code sample:
$signature = base64_encode(hash_hmac('sha256', $nonce . $date . CLIENT , SECRET, true));