You can upload individual QSOs in real-time to Club Log using HTTP POST to https://clublog.org/realtime.php.
The POST form variables are as follows. Remember to HTTP-encode any special characters as required by the HTTP protocol RFC.
- email: A registered email address in Club Log
- password: The password to authenticate the email login (ideally, please ask the user to provide an Application Password from Club Log)
- callsign: The callsign into which the logs should be uploaded (must belong to the announced email address).
- adif: A text field containing exactly one ADIF record, ending in <EOR>. Any additional records are ignored.
- api: An API key to access this interface (protecting it from abuse), which you can obtain by emailing the helpdesk.
The result of the POST will be sent with an HTTP status code, and usually an informative message in the response body if Club Log has feedback for you. The feedback is intended to be displayed to the user, so you may wish to implement an alert of some kind as appropriate.
The status codes used are:
- 403 Forbidden: Access denied. This occurs if there are problems authenticating the upload or the basic prerequisites of the form are not met. The body will give information about what went wrong. The QSO will not be logged.
- 500 Internal error: You may see this if the ADIF parser is unable to start for some reason (which may occur during unplanned maintenance work). Please handle this error code in your application if possible, eg. park the request for a retry later. Additional information may appear in the body. The QSO will not be logged.
- 400 QSO Rejected: This occurs if the ADIF parser decides that the QSO is 'bad', eg. invalid claims or other problems. The body of the response will explain the problem. The QSO will not be logged.
- 200 QSO Duplicate: This occurs if the ADIF parser decides that the QSO is already known to Club Log. You should, however, handle this as a successful action as it may have updated the QSL status of the QSO.
- 200 QSO OK: The QSO has been parsed and stored. Club Log is happy with everything you sent.
- 200 QSO Modified: The QSO has been parsed and stored, but Club Log has made adjustments. The message body will indicate what changes were involved.
For a working example, please view the source for https://clublog.org/test_realtime.html. You should set the content type to application/x-www-form-urlencoded.
Please be aware that if your software does not validate user's login details, and presents repeated failed requests to the realtime API, the client IP address of your user's network will be automatically firewalled by Club Log.
Real-time uploads must not be used for batch uploads. The load that this interface places on the Club Log database is only acceptable for QSOs entered at a normal rate, ie. by a real operator entering QSOs as he or she makes the contacts. A throttle exists to prevent abuse.