GET
https://api.myidvirtual.com
/
server
/
download
/
confs
Download Configurações VPN
curl --request GET \
  --url https://api.myidvirtual.com/server/download/confs \
  --header 'Authorization: <authorization>'
Content-Type: application/zip
Content-Disposition: attachment; filename="confs.zip"

[Arquivo ZIP contendo os arquivos .conf dos servidores]

Download Configurações VPN

Endpoint para download de arquivos de configuração (.conf) dos servidores VPN em formato ZIP.

Autenticação

Authorization
string
required
Bearer token JWT do usuário autenticado

Autorização

Parâmetros

Query Parameters

ids
string
required
IDs dos servidores separados por vírgula (ex: “id1,id2,id3”)

Responses

Content-Type: application/zip
Content-Disposition: attachment; filename="confs.zip"

[Arquivo ZIP contendo os arquivos .conf dos servidores]

Exemplo de Requisição

curl --location --request GET 'http://localhost:3333/server/download/confs?ids=server-id-1,server-id-2,server-id-3' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
--output confs.zip

Estrutura do Arquivo ZIP

O arquivo ZIP retornado contém os arquivos de configuração com a seguinte estrutura:
confs.zip
├── server-id-1.conf
├── server-id-2.conf
└── server-id-3.conf
Cada arquivo .conf contém a configuração completa do servidor VPN para conexão OpenVPN.

Endpoint Relacionado: Obter Configurações

Para obter as configurações sem fazer download (retorna JSON):
const obterConfiguracoes = async (serverIds) => {
  const token = localStorage.getItem('access_token');

  const response = await fetch(
    `http://localhost:3333/server/user/confs?ids=${serverIds.join(',')}`,
    {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    }
  );

  const confs = await response.json();
  // Retorna: [{ id: "server-id", conf: "conteudo-conf" }, ...]

  return confs;
};

Endpoint Relacionado: Validar Configurações

Para validar se as configurações estão atualizadas:
const validarConfiguracoes = async (serverIds) => {
  const token = localStorage.getItem('access_token');

  const response = await fetch(
    `http://localhost:3333/server/validate/confs?ids=${serverIds.join(',')}`,
    {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    }
  );

  const result = await response.json();
  // Retorna: { valid: boolean, message: string, invalidConfs?: string[] }

  return result;
};
Sempre valide as configurações antes de fazer download em produção para garantir que os arquivos estão atualizados.
O arquivo ZIP pode ser grande dependendo do número de servidores selecionados. Implemente tratamento de timeout adequado para downloads maiores.
Os arquivos de configuração (.conf) podem ser importados diretamente em clientes OpenVPN compatíveis.

Event Logging

Este endpoint registra automaticamente:
  • Timestamp do download
  • ID do usuário
  • IDs dos servidores baixados
  • Tamanho do arquivo gerado