Please do not use this API to upload QSOs sequentially in batches - you need this API instead
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 (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 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 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. If you ignore authentication errors such as error 403, your user will almost certainly get blocked by Club Log and be unaware of what has happened.
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. You must STOP sending real time requests immediately - the user must change their credentials or their IP address will be blocked.
- 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. You can also ask the helpdesk about error 500 issues as these could be Club Log issues.
- 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.
Once again 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. Please always show the error messages to your user and stop, if you encounter them.
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. |