Bisher bedeutete der Bezug eines registrierten Builds, dass Sie sich bei Ihrem Konto anmelden, Downloads öffnen, ein Produkt auswählen und klicken mussten. Das ist einmalig in Ordnung, aber umständlich, wenn Sie das neueste Installationsprogramm aus einem Build-Skript, einer CI-Pipeline oder einem Provisioning-Tool abrufen möchten.
Deshalb haben wir Ihrem Konto eine kleine REST API hinzugefügt, beschrieben mit OpenAPI 3.0 und unter /api/v1 erreichbar. Sie authentifizieren sich einmal mit Ihren üblichen Kontoanmeldedaten, erhalten ein Token und listen dann genau die Dateien auf, zu denen Ihr Abonnement Sie berechtigt, und laden sie herunter. Sie verwendet dieselbe Berechtigungs- und Signierlogik wie die Web-Downloadseite, sodass Sie immer dieselben Dateien sehen, die Sie auch im Browser sehen würden. Und da das Ganze vom sgcWebSockets-OpenAPI-Server bereitgestellt wird, konnten wir auch einen einsatzbereiten Delphi-Client auf Basis von sgcOpenAPI ausliefern.
1. Authentifizieren
Senden Sie Ihren Konto-Benutzernamen und Ihr Passwort an POST /api/v1/login. Sie erhalten ein kurzlebiges Bearer-Zugriffstoken zurück (sowie ein Refresh-Token). Übergeben Sie das Zugriffstoken bei jedem weiteren Aufruf im Authorization-Header.
curl -X POST https://www.esegece.com/api/v1/login \
-H "Content-Type: application/json" \
-d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}'
Die Antwort enthält die Tokens und ein kleines Profil:
{
"token_type": "Bearer",
"access_token": "…",
"refresh_token": "…",
"expires_in": 3600,
"user": { "username": "…", "name": "…", "email": "…" }
}
Wenn das Zugriffstoken abläuft, rufen Sie POST /api/v1/refresh mit Ihrem Refresh-Token auf, um ein neues Paar zu erhalten, oder melden Sie sich einfach erneut an. POST /api/v1/logout widerruft ein Token, das Sie nicht mehr benötigen.
2. Die Dateien auflisten, die Sie herunterladen können
GET /api/v1/downloads liefert die Dateien zurück, die Ihr Konto herunterladen darf. Lassen Sie die Version weg für die neueste Veröffentlichung, übergeben Sie ?version=2026.5.0 für eine bestimmte Version oder ?version=beta für die aktuelle Beta. Verwenden Sie GET /api/v1/products/versions, um die verfügbaren Versionen und ihre Veröffentlichungsdaten zu ermitteln.
curl "https://www.esegece.com/api/v1/downloads" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Jedes Element beschreibt eine Datei und enthält eine kurzlebige signierte url, die die Bytes streamt:
{
"files": [
{
"product": "sgcWebSockets",
"version": "2026.5.0",
"kind": "release",
"filename": "sgcWebSockets_2026.5.0.exe",
"date": "2026-05-15",
"url": "https://www.esegece.com/api/v1/dl?t=…"
}
],
"version": "2026.5.0"
}
3. Jede Datei herunterladen
Jedes Element enthält eine einsatzbereite url. Rufen Sie sie einfach per GET ab und speichern Sie die Bytes — der Link ist signiert und kurzlebig, fordern Sie die Liste also kurz vor dem Herunterladen an.
curl -L -o setup.exe "URL_FROM_THE_LIST"
Ein Delphi-Client mit sgcOpenAPI
Da die API mit OpenAPI beschrieben ist, können Sie sie mit dem sgcOpenAPI-Client in nur wenigen Zeilen aus Delphi heraus ansteuern: anmelden, das Bearer-Token setzen und dann Ihre Dateien auflisten (und herunterladen). Sie können den sgcOpenAPI-Codegenerator auch auf die Spezifikation richten, um einen vollständig typisierten Client zu generieren.
uses
sgcHTTP_OpenAPI_Client;
var
oClient: TsgcOpenAPI_Client;
oReq: TsgcOpenAPIRequest;
oResp: TsgcOpenAPIResponse;
vToken: string;
begin
oClient := TsgcOpenAPI_Client.Create(nil);
oReq := TsgcOpenAPIRequest.Create;
oResp := TsgcOpenAPIResponse.Create;
try
oClient.SetBaseURL('https://www.esegece.com');
// 1) Log in -> Bearer token
oReq.Method := oapiHttpPOST;
oReq.Endpoint := '/api/v1/login';
oReq.ContentType := 'application/json';
oReq.Body := '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}';
oClient.HTTP_REQUEST(oReq, oResp);
vToken := GetJSONValueFromNode('access_token', oResp.ResponseText);
oClient.Authentication.Token.BearerToken := vToken;
// 2) List the files for the latest release
oReq.Method := oapiHttpGET;
oReq.Endpoint := '/api/v1/downloads';
oReq.Body := '';
oReq.Security := oapiSecurityToken;
oClient.HTTP_REQUEST(oReq, oResp);
Writeln(oResp.ResponseText);
finally
oResp.Free;
oReq.Free;
oClient.Free;
end;
end;
Wir liefern eine vollständige Version dieses Programms — eines, das sich anmeldet, jede berechtigte Datei auflistet und alle herunterlädt — als herunterladbare .dpr aus Ihrem Konto.
Interaktive Dokumentation und wo Sie sie finden
Melden Sie sich bei Ihrem Konto an und öffnen Sie den Eintrag API in der Seitenleiste (/my-account/api). Dort finden Sie einen Quickstart mit Delphi- und curl-Beispielen nebeneinander, eine interaktive Swagger UI unter /api/v1/docs, die rohe OpenAPI-Spezifikation unter /api/v1/openapi.json und den herunterladbaren Delphi-Client. Die Seite ist in jeder Sprache verfügbar, die das Kontoportal unterstützt.
Ein Hinweis zur Sicherheit: Tokens sind kurzlebig und widerrufbar, die Anmeldung ist ratenbegrenzt, und jede Anfrage wird gegen die Berechtigungen Ihres Kontos geprüft — genau wie bei der Web-Downloadseite. Unterkonten erben die Downloads ihres übergeordneten Kontos, genauso wie im Browser.
Fragen, Feedback oder Hilfe bei der Einbindung in Ihren Build? Nehmen Sie Kontakt auf — Sie erhalten eine Antwort von den Menschen, die den Code geschrieben haben.
