08) APIs

APIs #

Overview #

You can access the APIs while editing event callsigns. Please refer to the Callsignmanagement section for further guidance on how to do that.

This is how an event callsign looks once an API is configured:

API creation overview

Creation of API definition #

Click on “Add new callsign API” to reveal the creation dialogue.

API creation dialogue empty

These are the available options:

  • Username to store the uploads in: Which user shall be able to see the uploads in their Logupload dashboard? Must be a registered user of hamwardz.
  • API type: Choose the API type to be processed
  • API URL: Provide the URL for the Web-API
  • Payload for API: Provide data for the API in JSON format.
  • Goalpost for API: Provide the moving goalpost (internal ID of the external system for most APIs) to prevent excessive data usage. Start at 0 to be sure. This value will change once the API runs successfully.
  • API active?: Provides a toggle to temporarily disable the API

Running APIs #

PullAPIs commonly run on a schedule. You can find instructions on all automated tasks inside hamawardz and how to install them in this part of the documentation.

List of APIs and example configurations #

An APi list with 1 API configured looks like this: Api List filled

You can run a single API using the “Run” Button to test your configuration without having to wait for the automated task to fire.

At the moment, hamawardz supports only Wavelog as a connected system.

Lets look on how to configure the different API types:

Wavelog #

This is an example configuration for Wavelog:

API creation dialogue empty

For URL, take this URL and adapt it to your data:

https://log.address.here/index.php/api/get_contacts_adif

For the payload, take this JSON and adapt it to your data:

{"key":"MYKEY","station_id":1}

Provide a read-only Wavelog API key instead of “MYKEY” (keep the “”) and change the station_id to the Wavelog Station ID you want to pull data from.

Optional: The Wavelog API has a soft limit of QSOs that one API pull can offer. At the moment of this documentation, this is 20000 QSOs.

If you want another limit, you can specify this by adding the key “limit” to the payload like this: {"key":"MYKEY","station_id":1,"limit":30000}.

If you want to pull an unlimited number of QSOs, you can specify a limit of -1. Please be sure that this can overload wavelog and result in errors, so make sure your wavelog endpoint has sufficient ressources.