Finora, ottenere una build registrata significava accedere al tuo account, aprire Downloads, scegliere un prodotto e cliccare. Va bene una volta, ma diventa scomodo quando vuoi recuperare l'ultimo installer da uno script di build, una pipeline CI o uno strumento di provisioning.
Così abbiamo aggiunto una piccola API REST al tuo account, descritta con OpenAPI 3.0 e disponibile sotto /api/v1. Ti autentichi una volta con le tue solite credenziali dell'account, ottieni un token, poi elenchi e scarichi esattamente i file a cui il tuo abbonamento ti dà diritto. Riutilizza la stessa logica di autorizzazione e firma della pagina web Downloads, così vedi sempre gli stessi file che vedresti nel browser. E poiché l'intera cosa è servita dal server OpenAPI di sgcWebSockets, abbiamo potuto fornire anche un client Delphi pronto all'uso basato su sgcOpenAPI.
1. Autenticati
Invia username e password del tuo account a POST /api/v1/login. Ricevi in risposta un token di accesso Bearer a breve durata (più un refresh token). Passa il token di accesso nell'header Authorization in ogni altra chiamata.
curl -X POST https://www.esegece.com/api/v1/login \
-H "Content-Type: application/json" \
-d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}'
La risposta contiene i token e un breve profilo:
{
"token_type": "Bearer",
"access_token": "…",
"refresh_token": "…",
"expires_in": 3600,
"user": { "username": "…", "name": "…", "email": "…" }
}
Quando il token di accesso scade, chiama POST /api/v1/refresh con il tuo refresh token per ottenerne una nuova coppia, oppure accedi semplicemente di nuovo. POST /api/v1/logout revoca un token che non ti serve più.
2. Elenca i file che puoi scaricare
GET /api/v1/downloads restituisce i file che il tuo account può scaricare. Ometti la versione per l'ultima release, passa ?version=2026.5.0 per una specifica, oppure ?version=beta per la beta attuale. Usa GET /api/v1/products/versions per scoprire le versioni disponibili e le relative date di rilascio.
curl "https://www.esegece.com/api/v1/downloads" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Ogni elemento descrive un file e include un url firmato a breve durata che fa lo streaming dei byte:
{
"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. Scarica ogni file
Ogni elemento contiene un url pronto all'uso. Basta fare un GET e salvare i byte — il link è firmato e a breve durata, quindi richiedi l'elenco poco prima di scaricare.
curl -L -o setup.exe "URL_FROM_THE_LIST"
Un client Delphi con sgcOpenAPI
Poiché l'API è descritta con OpenAPI, puoi pilotarla da Delphi con il client sgcOpenAPI in poche righe: accedi, imposta il token Bearer, poi elenca (e scarica) i tuoi file. Puoi anche puntare il generatore di codice sgcOpenAPI alla specifica per generare un client completamente tipizzato.
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;
Forniamo una versione completa di questo programma — una che accede, elenca ogni file a cui hai diritto e li scarica tutti — come .dpr scaricabile dal tuo account.
Documentazione interattiva e dove trovarla
Accedi al tuo account e apri la voce API nella barra laterale (/my-account/api). Lì troverai una Quickstart con esempi Delphi e curl affiancati, una Swagger UI interattiva su /api/v1/docs, la specifica OpenAPI grezza su /api/v1/openapi.json e il client Delphi scaricabile. La pagina è disponibile in tutte le lingue supportate dal portale dell'account.
Una nota sulla sicurezza: i token sono a breve durata e revocabili, il login ha un limite di frequenza e ogni richiesta viene verificata rispetto alle autorizzazioni del tuo account — esattamente come la pagina web Downloads. I sotto-account ereditano i download dell'account principale, proprio come avviene nel browser.
Domande, feedback o aiuto per integrarla nella tua build? Contattaci — riceverai una risposta dalle persone che hanno scritto il codice.
