Até agora, obter uma build registrada significava entrar na sua conta, abrir Downloads, escolher um produto e clicar. Isso funciona bem uma vez, mas é incômodo quando você quer baixar o instalador mais recente a partir de um script de build, um pipeline de CI ou uma ferramenta de provisionamento.
Então adicionamos uma pequena API REST à sua conta, descrita com OpenAPI 3.0 e disponível em /api/v1. Você se autentica uma vez com suas credenciais habituais da conta, obtém um token e depois lista e baixa exatamente os arquivos aos quais sua assinatura dá direito. Ela reutiliza a mesma lógica de direitos e assinatura da página web de Downloads, portanto você sempre vê os mesmos arquivos que veria no navegador. E como tudo é servido pelo servidor OpenAPI do sgcWebSockets, também pudemos disponibilizar um cliente Delphi pronto para executar, construído sobre sgcOpenAPI.
1. Autenticar
Envie o nome de usuário e a senha da sua conta para POST /api/v1/login. Você recebe de volta um token de acesso Bearer de curta duração (mais um refresh token). Passe o token de acesso no cabeçalho Authorization em todas as outras chamadas.
curl -X POST https://www.esegece.com/api/v1/login \
-H "Content-Type: application/json" \
-d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}'
A resposta traz os tokens e um pequeno perfil:
{
"token_type": "Bearer",
"access_token": "…",
"refresh_token": "…",
"expires_in": 3600,
"user": { "username": "…", "name": "…", "email": "…" }
}
Quando o token de acesso expirar, chame POST /api/v1/refresh com seu refresh token para obter um novo par, ou simplesmente faça login novamente. POST /api/v1/logout revoga um token que você não precisa mais.
2. Liste os arquivos que você pode baixar
GET /api/v1/downloads retorna os arquivos que sua conta pode baixar. Omita a versão para a versão mais recente, passe ?version=2026.5.0 para uma versão específica, ou ?version=beta para a beta atual. Use GET /api/v1/products/versions para descobrir as versões disponíveis e suas datas de lançamento.
curl "https://www.esegece.com/api/v1/downloads" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Cada item descreve um arquivo e inclui uma url assinada de curta duração que transmite os bytes:
{
"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. Baixe cada arquivo
Cada item carrega uma url pronta para usar. Basta fazer um GET nela e salvar os bytes — o link é assinado e de curta duração, então solicite a lista pouco antes de baixar.
curl -L -o setup.exe "URL_FROM_THE_LIST"
Um cliente Delphi com sgcOpenAPI
Como a API é descrita com OpenAPI, você pode controlá-la a partir do Delphi com o cliente sgcOpenAPI em apenas algumas linhas: faça login, defina o token Bearer e depois liste (e baixe) seus arquivos. Você também pode apontar o gerador de código do sgcOpenAPI para a especificação a fim de gerar um cliente totalmente tipado.
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;
Disponibilizamos uma versão completa deste programa — uma que faz login, lista todos os arquivos aos quais você tem direito e baixa todos eles — como um .dpr para download a partir da sua conta.
Documentação interativa e onde encontrá-la
Entre na sua conta e abra a entrada API na barra lateral (/my-account/api). Lá você encontrará um Quickstart com exemplos em Delphi e curl lado a lado, um Swagger UI interativo em /api/v1/docs, a especificação OpenAPI bruta em /api/v1/openapi.json e o cliente Delphi para download. A página está disponível em todos os idiomas que o portal de contas suporta.
Uma observação sobre segurança: os tokens são de curta duração e revogáveis, o login tem limite de taxa e cada requisição é verificada contra os direitos da sua conta — exatamente como na página web de Downloads. As subcontas herdam os downloads da conta principal, assim como fazem no navegador.
Dúvidas, feedback ou ajuda para integrar isso à sua build? Entre em contato — você receberá uma resposta das pessoas que escreveram o código.
