Şimdiye kadar, kayıtlı bir derleme edinmek için hesabınıza giriş yapmanız, İndirmeler bölümünü açmanız, bir ürün seçmeniz ve tıklamanız gerekiyordu. Bunu bir kez yapmak sorun değil, ancak en son yükleyiciyi bir derleme komut dosyasından, bir CI hattından veya bir hazırlama aracından çekmek istediğinizde zahmetli olur.
Bu yüzden hesabınıza, OpenAPI 3.0 ile tanımlanmış ve /api/v1 altında yer alan küçük bir REST API ekledik. Her zamanki hesap kimlik bilgilerinizle bir kez kimlik doğrulaması yapar, bir belirteç (token) alır, ardından aboneliğinizin hak ettiği dosyaları tam olarak listeler ve indirirsiniz. Web İndirmeler sayfasıyla aynı yetkilendirme ve imzalama mantığını yeniden kullanır, böylece tarayıcıda göreceğiniz dosyaların aynısını her zaman görürsünüz. Ve tüm bu sistem sgcWebSockets OpenAPI sunucusu tarafından sunulduğundan, sgcOpenAPI üzerine kurulu, kullanıma hazır bir Delphi istemcisi de sunabildik.
1. Kimlik Doğrulaması Yapın
Hesap kullanıcı adınızı ve parolanızı POST /api/v1/login adresine gönderin. Karşılığında kısa ömürlü bir Bearer erişim belirteci (artı bir yenileme belirteci) alırsınız. Diğer her çağrıda erişim belirtecini Authorization üst bilgisinde iletin.
curl -X POST https://www.esegece.com/api/v1/login \
-H "Content-Type: application/json" \
-d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}'
Yanıt belirteçleri ve küçük bir profili taşır:
{
"token_type": "Bearer",
"access_token": "…",
"refresh_token": "…",
"expires_in": 3600,
"user": { "username": "…", "name": "…", "email": "…" }
}
Erişim belirteci süresi dolduğunda, yeni bir çift almak için yenileme belirtecinizle POST /api/v1/refresh çağrısı yapın ya da yalnızca tekrar oturum açın. POST /api/v1/logout, artık ihtiyaç duymadığınız bir belirteci iptal eder.
2. İndirebileceğiniz dosyaları listeleyin
GET /api/v1/downloads, hesabınızın indirebileceği dosyaları döndürür. En son sürüm için version değerini atlayın, belirli bir sürüm için ?version=2026.5.0 iletin veya mevcut beta için ?version=beta iletin. Mevcut sürümleri ve yayın tarihlerini keşfetmek için GET /api/v1/products/versions kullanın.
curl "https://www.esegece.com/api/v1/downloads" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Her öğe bir dosyayı tanımlar ve baytları akıtan kısa ömürlü, imzalı bir url içerir:
{
"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. Her dosyayı indirin
Her öğe kullanıma hazır bir url taşır. Yalnızca GET ile çağırıp baytları kaydedin — bağlantı imzalıdır ve kısa ömürlüdür, bu nedenle listeyi indirmeden kısa bir süre önce isteyin.
curl -L -o setup.exe "URL_FROM_THE_LIST"
sgcOpenAPI ile bir Delphi istemcisi
API, OpenAPI ile tanımlandığından, onu Delphi'den sgcOpenAPI istemcisiyle yalnızca birkaç satırda yönetebilirsiniz: oturum açın, Bearer belirtecini ayarlayın, ardından dosyalarınızı listeleyin (ve indirin). Tam tipli bir istemci oluşturmak için sgcOpenAPI kod oluşturucuyu da spesifikasyona yönlendirebilirsiniz.
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;
Bu programın eksiksiz bir sürümünü — oturum açan, hak edilen her dosyayı listeleyen ve hepsini indiren bir sürümü — hesabınızdan indirilebilir bir .dpr olarak sunuyoruz.
Etkileşimli belgeler ve nerede bulunur
Hesabınıza giriş yapın ve kenar çubuğundaki API girişini açın (/my-account/api). Orada Delphi ve curl örneklerinin yan yana yer aldığı bir Hızlı Başlangıç, /api/v1/docs adresinde etkileşimli bir Swagger UI, /api/v1/openapi.json adresinde ham OpenAPI spesifikasyonu ve indirilebilir Delphi istemcisini bulacaksınız. Sayfa, hesap portalının desteklediği her dilde kullanılabilir.
Güvenlik hakkında bir not: belirteçler kısa ömürlü ve iptal edilebilir, oturum açma hız sınırlamasına tabidir ve her istek hesabınızın yetkileriyle karşılaştırılarak denetlenir — tam olarak web İndirmeler sayfasında olduğu gibi. Alt hesaplar, tıpkı tarayıcıda olduğu gibi üst hesaplarının indirmelerini devralır.
Sorularınız, geri bildirimleriniz veya bunu derlemenize bağlama konusunda yardıma mı ihtiyacınız var? İletişime geçin — kodu yazan kişilerden bir yanıt alacaksınız.
