Métodos de integração com 1C

Quais são os principais requisitos para aplicativos empresariais? Entre os mais importantes estão as seguintes tarefas:

  • Facilidade de alteração/adaptação da lógica de operação do aplicativo às mudanças nas necessidades de negócios.
  • Facilidade de integração com outros aplicativos.

A forma como a primeira tarefa é resolvida no 1C foi brevemente descrita na seção 'Customização e suporte'; voltaremos a esse tema interessante em um dos próximos artigos. Hoje, falaremos sobre a segunda tarefa, a integração. este artigoTarefas de integração

As tarefas de integração podem ser variadas. Para algumas, uma simples troca interativa de dados é suficiente – por exemplo, para enviar ao banco uma lista de funcionários para a emissão de cartões de crédito para pagamento de salários. Para tarefas mais complexas, pode ser necessário um intercâmbio de dados totalmente automatizado, possivelmente com chamada à lógica de negócios de um sistema externo. Existem tarefas de natureza especializada, como a integração com hardware externo (por exemplo, equipamentos de ponto de venda, scanners móveis etc.) ou com sistemas legados ou altamente especializados (como sistemas de reconhecimento de etiquetas RFID). É extremamente importante escolher o mecanismo de integração mais adequado para cada tarefa.

Capacidades de integração com 1C

Existem diferentes abordagens para implementar a integração com aplicativos 1C; qual escolher depende dos requisitos da tarefa.

Implementação baseada em

  1. mecanismos de integração , fornecidos pela plataforma, ou uma API especializada própria no lado do aplicativo 1C (por exemplo, um conjunto de serviços Web ou HTTP, que chamará aplicativos externos para troca de dados com o aplicativo 1C). A vantagem dessa abordagem é a resistência da API a alterações na implementação do aplicativo 1C. Uma característica da abordagem é que é necessário alterar o código-fonte da solução padrão do 1C, o que pode exigir esforços potenciais na fusão dos códigos-fonte ao atualizar para uma nova versão da configuração. Nesse caso, a nova funcionalidade progressiva pode ser de ajuda —extensões de configuração extensões de configuração. Extensões são, na essência, um mecanismo de plug-ins que permite a criação de complementos para soluções aplicacionais, sem modificar as próprias soluções. A exportação da API de integração para a extensão de configuração irá evitar complicações durante a fusão de configurações ao migrar para uma nova versão da solução padrão.
  2. O uso de mecanismos de integração da plataforma que fornecem acesso externo ao modelo de objeto do aplicativo e não requerem ajustes no aplicativo ou a criação de extensões. A vantagem dessa abordagem é que não é necessário alterar o aplicativo 1C. A desvantagem é que, se o aplicativo 1C foi modificado, ajustes podem ser necessários no aplicativo que está sendo integrado. Um exemplo dessa abordagem é a utilização do protocolo OData para integração, implementado no lado da plataforma 1C:Enterprise (mais detalhado abaixo).
  3. A utilização de protocolos aplicacionais prontos, implementados nas soluções padrão 1C. Muitas soluções padrão da 1C e de parceiros implementam, com base nos mecanismos de integração oferecidos pela plataforma, seus próprios protocolos aplicacionais, voltados para tarefas específicas. Ao usar esses mecanismos, não é necessário escrever código no lado do aplicativo 1C, uma vez que utilizamos as capacidades padrão da solução aplicacional. No lado do aplicativo 1C, apenas precisamos realizar certas configurações.

Mecanismos de integração na plataforma 1C:Enterprise

Importação/exportação de arquivos

Suponha que a tarefa em questão seja a troca bidirecional de dados entre o aplicativo 1C e um aplicativo arbitrário. Por exemplo, precisamos sincronizar a lista de produtos (catálogo de nomenclatura) entre o aplicativo 1C e um aplicativo arbitrário.

Métodos de integração com 1C
Para resolver essa tarefa, podemos escrever uma extensão que exporta o catálogo de nomenclatura para um arquivo de um formato específico (texto, XML, JSON, …) e que saiba ler esse formato.

Na plataforma, está implementado um mecanismo de serialização de objetos aplicacionais em XML, tanto diretamente, através dos métodos do contexto global EscreverXML/LerXML, quanto com o uso do objeto auxiliar XDTO (XML Data Transfer Objects).

Qualquer objeto no sistema 1C:Enterprise pode ser serializado em uma representação XML e vice-versa.

Esta função retornará a representação do objeto em formato XML:

Função Objeto_Em_XML(Objeto)
    RegistroXML = Novo RegistroXML();
    RegistroXML.DefinirString();
    EscreverXML(RegistroXML, Objeto);
    Retornar RegistroXML.Fechar();
FimFunção

assim será a aparência da exportação do catálogo Nomenclatura para XML usando XDTO:

&NoServidor
Procedimento ExportarXMLNoServidor()	
	NovoSerializadorXDTO  = SerializadorXDTO;
	NovoRegistroXML = Novo RegistroXML();
	NovoRegistroXML.AbrirArquivo("C:DataNomenclatura.xml", "UTF-8");
	
	NovoRegistroXML.EscreverDeclaraçãoXML();
	NovoRegistroXML.EscreverInícioElemento("CatálogoNomenclatura");
	
	Seleção = Catálogos.Nomenclatura.Select();
	
	Enquanto Seleção.Próximo() Faça 
		ObjetoNomenclatura = Seleção.ObterObjeto();
		NovoSerializadorXDTO.EscreverXML(NovoRegistroXML, ObjetoNomenclatura, TipoDeAtribuiçãoXML.Explícito);
	FimEnquanto;
	
	NovoRegistroXML.EscreverFimElemento();
	NovoRegistroXML.Fechar();	
FimProcedimento

Com uma simples reformulação do código, exportamos o catálogo para JSON. Os produtos serão registrados em um array; para variar, apresentamos uma variante em inglês da sintaxe:

&NoServidor
Procedimento ExportarJSONNoServidor()
	NovoSerializadorXDTO  = SerializadorXDTO;
	NovoEscritorJSON = Novo EscritorJSON();
	NovoEscritorJSON.AbrirArquivo("C:DataNomenclatura.json", "UTF-8");
	
	NovoEscritorJSON.EscreverInícioObjeto();
	NovoEscritorJSON.EscreverNomePropriedade("CatálogoNomenclatura");
	NovoEscritorJSON.EscreverInícioArray();
	
	Seleção = Catálogos.Nomenclatura.Select();	
	
	Enquanto Seleção.Próximo() Faça 
		ObjetoNomenclatura = Seleção.ObterObjeto();
		
		NovoEscritorJSON.EscreverInícioObjeto();
		
		NovoEscritorJSON.EscreverNomePropriedade("Nomenclatura");
		NovoSerializadorXDTO.EscreverJSON(NovoEscritorJSON, ObjetoNomenclatura, TipoDeAtribuiçãoXML.Implícito);
		
		NovoEscritorJSON.EscreverFimObjeto();
	FimEnquanto;
	
	NovoEscritorJSON.EscreverFimArray();
	NovoEscritorJSON.EscreverFimObjeto();
	NovoEscritorJSON.Fechar();	
FimProcedimento

Depois, só resta transferir os dados para o consumidor final. A plataforma 1C:Enterprise suporta os principais protocolos de internet, HTTP, FTP, POP3, SMTP, IMAP, incluindo suas versões seguras. Também é possível usar HTTP e/ou Web Services para transferência de dados.

Serviços HTTP e Web

Métodos de integração com 1C

Aplicativos 1C podem implementar seus próprios serviços HTTP e Web, assim como chamar serviços HTTP e Web implementados por aplicativos de terceiros.

Interface REST e protocolo OData

A partir da versão 8.3.5, a plataforma 1C:Enterprise pode automaticamente formar a interface REST para toda a solução de aplicativo. Qualquer objeto de configuração (catálogo, documento, registro de informações, etc.) pode ser disponibilizado para obtenção e modificação de dados através da interface REST. Como protocolo de acesso, a plataforma usa o protocolo OData versão 3.0. A publicação de serviços OData é feita a partir do menu do Configurador «Administração -> Publicação no servidor web», a opção «Publicar interface padrão OData» deve estar marcada. Os formatos atom/XML e JSON são suportados. Após a solução aplicada ser publicada no servidor web, sistemas externos podem acessá-la através da interface REST usando solicitações HTTP. Para trabalhar com o aplicativo 1C através do protocolo OData, programação do lado do 1C não é necessária.

Assim, um URL do tipo http:////odata/standard.odata/Catalog_Номенклатура retornará o conteúdo do catálogo Номенклатура em formato XML — uma coleção de elementos entry (o cabeçalho da mensagem foi omitido por brevidade):

http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e4-289b-11e6-8ba4-e03f49b16074')
	
	
	2016-06-06T16:42:17
	
	<summary />
	
	
		
			35d1f6e4-289b-11e6-8ba4-e03f49b16074
			AAAAAgAAAAA=
			false
			000000001
			Ar-condicionado Mitsubishi
			Potência 2,5 kW, modos de operação: aquecimento/frio
		
	


	http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e5-289b-11e6-8ba4-e03f49b16074')
	
...
</code></pre><p> Adicionando a string «?$format=application/json» ao URL, obteremos o conteúdo do catálogo Номенклатура em formato JSON (URL do tipo <u>http:////odata/standard.odata/Catalog_Номенклатура?$format=application/json</u> ):</p><pre><code>{
"odata.metadata": "http://server/Config/odata/standard.odata/$metadata#Catalog_Номенклатура",
"value": [{
"Ref_Key": "35d1f6e4-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAgAAAAA=",
"DeletionMark": false,
"Code": "000000001",
"Description": "Ar-condicionado Mitsubishi",
"Описание": "Potência 2,5 kW, modos de operação: aquecimento/frio"
},{
"Ref_Key": "35d1f6e5-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAwAAAAA=",
"DeletionMark": false,
"Code": "000000002",
"Description": "Ar-condicionado Daikin",
"Описание": "Potência 3 kW, modos de operação: aquecimento/frio"
}, …
</code></pre><p></p><h4>Fontes de dados externas</h4><p> <img class=lazy decoding=async alt="Métodos de integração com 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20436%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/1663b53846f3a6a8a03f386f1f6cd311.jpeg style="display:block;margin: 0 auto;" width=600 height=436><br> Em alguns casos, a troca de dados através de <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000795.htm>fontes de dados externas</a></noindex> pode ser a solução ideal. Fontes de dados externas são objetos de configuração aplicacional 1C que permitem a interação com qualquer banco de dados compatível com ODBC, tanto para leitura quanto para gravação. Fontes de dados externas estão disponíveis tanto no Windows quanto no Linux.</p><h4>Mecanismo de intercâmbio de dados</h4><p> <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000269.htm>Mecanismo de intercâmbio de dados</a></noindex> destina-se tanto à criação de sistemas territorialmente distribuídos baseados em 1C:Enterprise quanto à organização do intercâmbio de dados com outros sistemas de informação que não são baseados em 1C:Enterprise.</p><p>Esse mecanismo é amplamente utilizado em implementações 1C, e a gama de tarefas que pode resolver é bastante ampla. Inclui a troca de dados entre aplicações 1C instaladas nas filiais da organização, bem como a troca entre aplicação 1C e o site da loja virtual, e o intercâmbio de dados entre a aplicação 1C e o cliente móvel (criado com a plataforma móvel 1C:Enterprise), entre muitos outros.</p><p>Um dos conceitos-chave no mecanismo de intercâmbio de dados é o plano de intercâmbio. O plano de intercâmbio é um tipo especial de objeto na plataforma 1C que define, entre outras coisas, o conjunto de dados que participarão da troca (quais diretórios, documentos, registros, etc.). O plano de intercâmbio também contém informações sobre os participantes da troca (os chamados nós de troca).<br> A segunda componente do mecanismo de intercâmbio de dados é o mecanismo de registro de mudanças. Este mecanismo rastreia automaticamente as mudanças de dados no sistema que devem ser transmitidas aos destinatários finais dentro do plano de intercâmbio. Com este mecanismo, a plataforma acompanha as alterações ocorridas desde a última sincronização, permitindo minimizar o volume de dados transmitidos durante a próxima sessão de sincronização.</p><p>A troca de dados ocorre por meio de mensagens XML de estrutura específica. A mensagem contém dados que mudaram desde a última sincronização com o nó, além de algumas informações de serviço. A estrutura das mensagens suporta a numeração de mensagens e permite receber confirmações do nó receptor sobre o recebimento das mensagens. Essa confirmação está contida em cada mensagem recebida do nó receptor, na forma do número da última mensagem recebida. A numeração das mensagens permite que a plataforma entenda quais dados já foram transmitidos com sucesso ao nó receptor e evita retransmissões, enviando apenas os dados que mudaram desde a última mensagem recebida pelo nó emissor com o recibo dos dados recebidos pelo nó receptor. Com esse esquema de trabalho, a entrega é garantida mesmo em canais de transmissão não confiáveis e na perda de mensagens.</p><h4>Componentes externos</h4><p> Em alguns casos, ao resolver problemas de integração, é necessário enfrentar requisitos específicos, como protocolos de interação e formatos de dados, com os quais a plataforma 1C:Enterprise não está preparada para trabalhar. Para esse tipo de tarefa, a plataforma prevê <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000545.htm>a tecnologia de componentes externos</a></noindex>, que permite criar módulos conectáveis dinamicamente, ampliando a funcionalidade do 1C:Enterprise.</p><p>Um exemplo típico de tarefa com tais requisitos é a integração da solução aplicada 1C com equipamentos comerciais, desde balanças até caixas registradoras e leitores de código de barras. Os componentes externos podem ser conectados tanto do lado do servidor do 1C:Enterprise quanto no lado do cliente (incluindo, também, o cliente web, bem como <noindex><a rel=nofollow href=https://wonderland.v8.1c.ru/blog/vneshnie-komponenty-v-mobilnom-prilozhenii/ >a próxima versão da plataforma móvel</a></noindex> 1C:Enterprise). A tecnologia de componentes externos proporciona uma interface de programação (C++) de interação simples e compreensível entre o componente e a plataforma 1C:Enterprise, que deve ser implementada pelo desenvolvedor.</p><p>As possibilidades abertas pelo uso de componentes externos são bastante amplas. É possível implementar a interação por meio de um protocolo específico de troca de dados com dispositivos e sistemas externos, incorporar algoritmos específicos de processamento de dados e formatos de dados, etc.</p><h4>Mecanismos de integração obsoletos</h4><p> Na plataforma, há mecanismos de integração disponíveis que não são recomendados para uso em novas soluções; eles foram mantidos por motivos de compatibilidade reversa e para o caso de outra parte não conseguir trabalhar com protocolos mais modernos. Um deles é o trabalho com arquivos no formato DBF (suportado na linguagem embutida através do objeto XBase).</p><p>Outro mecanismo de integração obsoleto é o uso da tecnologia COM (disponível apenas na plataforma Windows). A plataforma 1C:Enterprise fornece duas maneiras de integração para Windows que utilizam a tecnologia COM: Automation-server e Conexão externa. Eles são muito semelhantes, mas uma das principais diferenças é que, no caso do Automation-server, um aplicativo cliente completo 1C:Enterprise 8 é iniciado, enquanto no caso da conexão externa, um pequeno COM-server intra-processo é iniciado. Ou seja, ao trabalhar através do Automation server, é possível utilizar a funcionalidade do aplicativo cliente, executando ações semelhantes às ações interativas do usuário. Ao usar a conexão externa, apenas funções de lógica de negócios podem ser utilizadas, podendo ser executadas tanto do lado do cliente da conexão, onde o COM-server intra-processo é criado, quanto chamando a lógica de negócios do lado do servidor 1C:Enterprise.</p><p>Além disso, a tecnologia COM pode ser usada para interagir com sistemas externos a partir do código do aplicativo na plataforma 1C:Enterprise. Nesse caso, o aplicativo 1C atua como cliente COM. Mas deve-se lembrar que esses mecanismos funcionarão apenas se o servidor 1C operar em um ambiente Windows.</p><h3>Mecanismos de integração implementados nas configurações padrão</h3><p></p><h4>Formato EnterpriseData</h4><p> <img class=lazy decoding=async alt="Métodos de integração com 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20311%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/8930091e53309b9b808a719b747a6226.jpeg style="display:block;margin: 0 auto;" width=600 height=311><br> Em várias configurações 1C (lista abaixo), com base no mecanismo de intercâmbio de dados da plataforma descrito acima, um mecanismo pronto de troca de dados com aplicativos externos foi implementado, que não requer alteração do código-fonte das configurações (a preparação para a troca de dados é feita nas configurações das soluções aplicacionais):</p><ul> <li>«1C:ERP Gestão Empresarial 2.0» </li> <li>«Automação Completa 2» </li> <li>«Contabilidade Empresarial», edição 3.0 </li> <li>«Contabilidade Empresarial CORP», edição 3.0 </li> <li>«Varejo», edição 2.0 </li> <li>«Gestão Comercial Básica», edição 11 </li> <li>«Gestão Comercial», edição 11</li> <li>«Salários e Gestão de Pessoal CORP», edição 3</li></ul><p> Para a troca de dados, utiliza-se o formato <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_app/enterprisedata/ >EnterpriseData</a></noindex>, baseado em XML. O formato é orientado para negócios – as estruturas de dados descritas correspondem a entidades de negócios (documentos e elementos de diretórios) apresentados nos programas 1C, por exemplo: ato de serviços prestados, recibo de caixa, contraparte, nomenclatura, etc.</p><p>A troca de dados entre o aplicativo 1C e um aplicativo externo pode ocorrer:</p><ul> <li>por meio de um diretório de arquivos dedicado </li> <li>por meio de um diretório FTP </li> <li>por meio de um serviço web implantado no aplicativo 1C. O arquivo com os dados é enviado como parâmetro dos métodos web</li> <li>por e-mail</li></ul><p> No caso de troca via serviço web, o aplicativo externo iniciará a sessão de troca de dados chamando os métodos web correspondentes do aplicativo 1C. Nos demais casos, o iniciador da sessão de troca será o aplicativo 1C (colocando o arquivo com dados no diretório correspondente ou enviando o arquivo com dados para o endereço de e-mail configurado).<br> Também no lado do 1C, é configurado com que frequência a sincronização ocorrerá (para opções com troca de arquivos via diretório e e-mail):</p><ul> <li>de acordo com um cronograma (com uma periodicidade definida) </li> <li>manualmente; o usuário deve iniciar manualmente a sincronização sempre que precisar</li></ul><p></p><h5>Confirmação de mensagens</h5><p> Os aplicativos 1C mantêm registro das mensagens de sincronização enviadas e recebidas e esperam o mesmo dos aplicativos externos. Isso permite utilizar o mecanismo de numeração de mensagens, descrito acima na seção «Mecanismo de troca de dados».</p><p>As aplicações 1C durante a sincronização transmitem apenas informações sobre as alterações que ocorreram nas entidades de negócios desde a última sincronização (para minimizar o volume de dados transmitidos). Na primeira sincronização, a aplicação 1C exportará todas as entidades de negócios (como os itens do catálogo de nomenclatura) em formato EnterpriseData em um arquivo XML (uma vez que todas são consideradas "novas" para a aplicação externa). A aplicação externa deve processar as informações do arquivo XML recebido da 1C e, na próxima sessão de sincronização, incluir no arquivo enviado à 1C, em uma seção especial do XML, a informação de que a mensagem da 1C com um número específico foi recebida com sucesso. A mensagem de recibo é um sinal para a aplicação 1C de que todas as entidades de negócios foram processadas com sucesso pela aplicação externa e que não é mais necessário transmitir informações sobre elas. Além do recibo, o arquivo XML da aplicação externa também pode conter dados para sincronização do lado da aplicação (como documentos de venda de produtos e serviços).</p><p>Após receber a mensagem de recibo, a aplicação 1C marca todas as alterações enviadas na mensagem anterior como sincronizadas com sucesso. Apenas alterações não sincronizadas nas entidades de negócios (criação de novas entidades, alteração e exclusão das existentes) serão enviadas para a aplicação externa na próxima sessão de sincronização.</p><p><img class=lazy decoding=async alt="Métodos de integração com 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/b0d5509a53909e38886a15c2e03e7131.jpeg style="display:block;margin: 0 auto;" width=600 height=381><br> Ao transferir dados da aplicação externa para a aplicação 1C, a situação muda para o oposto. A aplicação externa deve preencher a seção de recibo no arquivo XML de forma adequada e incluir os dados comerciais para sincronização do seu lado no formato EnterpriseData.</p><p><img class=lazy decoding=async alt="Métodos de integração com 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/d34b96efb7591770133b363b369c0019.jpeg style="display:block;margin: 0 auto;" width=600 height=381></p><h5>Troca simplificada de dados sem recibos</h5><p> Para casos de integração simples, onde é suficiente apenas transmitir informações da aplicação externa para a aplicação 1C, e a transferência de dados da aplicação 1C para a aplicação externa não é necessária (por exemplo, a integração de uma loja online que transmite informações sobre vendas para "1C:Contabilidade"), existe uma opção simplificada de operação através de um serviço web (sem recibos), que não requer configurações no lado da aplicação 1C.</p><h4>Soluções de integração especializadas</h4><p> Existe uma solução padrão chamada "1C: Conversão de Dados", que utiliza os mecanismos da plataforma para conversão e troca de dados entre configurações padrão do 1C, mas também pode ser utilizada para integração com aplicativos de terceiros.</p><h5>Integração com soluções bancárias</h5><p> Padrão <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/100/index.htm>"Cliente Banco"</a></noindex>, desenvolvido por especialistas do 1C há mais de 10 anos, tornou-se, na prática, o padrão da indústria na Rússia. O próximo passo nessa direção é a tecnologia <noindex><a rel=nofollow href=http://directbank.1c.ru/ >DirectBank</a></noindex>, que permite enviar documentos de pagamento para o banco e receber extratos bancários diretamente dos programas do sistema "1C: Enterprise" com o toque de um botão no programa "1C"; para isso, não é necessária a instalação e execução de programas adicionais no computador do cliente.</p><p>Há também <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/109/ >um padrão para troca de dados em projetos de folha de pagamento</a></noindex>.</p><h5>Outros</h5><p> São dignos de menção <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/131/ >o protocolo de troca entre o sistema 1C: Enterprise e o site</a></noindex>, o padrão de troca de informações comerciais <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/90/ >CommerceML</a></noindex> (desenvolvido em conjunto com Microsoft, Intel, Price.ru e outras empresas), <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/111/ >o padrão de troca de dados para operações de aquisição</a></noindex>.<br> <br>Fonte: <a content=nofollow rel=nofollow href=https://habr.com/ru/company/1c/blog/308420/ >habr.com</a></p></div></article><div style="width: 100%; text-align: center; margin: 0; padding: 31px 0 0 0;"> <a href=https://prohoster.info/pt/vps/ > <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20700%2086%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp data-srcset="        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22-350.webp 350w,        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp 1280w" data-sizes="(max-width: 768px) 90vw, 700px" alt="ProHoster VPS — VPS acessíveis e confiáveis com acesso root completo" title="ProHoster VPS — VPS acessíveis e confiáveis com acesso root completo" style="display: inline-block; height: auto; max-width: 100%;" width=700 height=86> </a></div></div><nav class="navigation post-navigation" aria-label=Artigos data-no-translation-aria-label><h2 class="screen-reader-text" data-no-translation="" data-trp-gettext="">Navegação de artigos</h2><div class=nav-links><div class=nav-previous><a href=https://prohoster.info/pt/blog/administrirovanie/lte-kak-simvol-nezavisimosti rel=prev>LTE como símbolo de independência</a></div><div class=nav-next><a href=https://prohoster.info/pt/blog/administrirovanie/podnimaem-server-1s-s-publikatsiej-bazy-i-veb-servisov-na-linux rel=next>Configurando o servidor 1C com publicação de banco de dados e serviços web no Linux</a></div></div></nav></main></div></div></div><footer id=colophon class=site-footer><div class=container><div class="row between-sm"><div class="col-md-3 col-xs-12"><div id=nav_menu-9 class="widget widget_nav_menu"><h3 class="widget-title">Nossos serviços</h3><div class=menu-menyu-v-futere-v-vidzhete-1-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-1-russkij-1 class=menu><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121326"><a href=https://prohoster.info/pt/hosting/unlim-khosting>Hospedagem de sites ilimitada</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-172"><a href=https://prohoster.info/pt/zhashchita-ot-ddos>Proteção contra ataques DDoS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-169"><a href=https://prohoster.info/pt/hosting/constructor>Construtor de sites</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175"><a href=https://prohoster.info/pt/control-panel>Painéis de controlo</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173"><a href=https://prohoster.info/pt/domain>Registro de domínios</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-108824"><a href=https://prohoster.info/pt/ssl-sertifikat>Certificados SSL</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-123573"><a href=https://prohoster.info/pt/vpn>VPN</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-170"><a href=https://prohoster.info/pt/vps/ssd-vps>VPS, VDS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171"><a href=https://prohoster.info/pt/vps/abuzoustojchivye-vps>Windows VPS</a></li></ul></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-10 class="widget widget_nav_menu"><h3 class="widget-title">Informações</h3><div class=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale-container><ul id=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale class=menu><li id=menu-item-153465 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153465"><a href=https://prohoster.info/pt/kompaniya/partnerstvo>Parceria</a></li> <li id=menu-item-153466 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153466"><a href=https://prohoster.info/pt/bonus-partner>Bônus de parceiros</a></li> <li id=menu-item-153467 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153467"><a href="https://billing.prohoster.info/knowledgebase?language=english">Base de conhecimento</a></li> <li id=menu-item-153468 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153468"><a href=https://prohoster.info/pt/kompaniya>Sobre a empresa</a></li> <li id=menu-item-153471 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153471"><a href=https://prohoster.info/pt/kompaniya/terms-of-service>Condições de fornecimento de serviços</a></li> <li id=menu-item-153469 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153469"><a href=https://prohoster.info/pt/kompaniya/privacy-policy>Política de privacidade</a></li> <li id=menu-item-153470 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153470"><a href=https://prohoster.info/pt/kompaniya/terms-of-service/#refund>Política de reembolso</a></li> <li id=menu-item-155022 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-155022"><a href=https://prohoster.info/pt/kompaniya/data-centers>Centros de Dados</a></li> <li id=menu-item-154840 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-154840"><a href=https://prohoster.info/pt/kompaniya/service-level-agreement>SLA</a></li> <li id=menu-item-155009 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-155009"><a href="https://billing.prohoster.info/submitticket.php?step=2&deptid=1&language=english">Reportar Abuso</a></li> <li id=menu-item-183801 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-183801"><a href=https://status.prohoster.info>Status da rede</a></li></ul></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-11 class="widget widget_nav_menu"><h3 class="widget-title">Suporte</h3><div class=menu-menyu-v-futere-v-vidzhete-3-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-3-russkij class=menu><li id=menu-item-188 class="menu-btn-billing menu-item menu-item-type-custom menu-item-object-custom menu-item-188"><a rel=nofollow href=https://billing.prohoster.info/login>Painel de faturamento</a></li> <li id=menu-item-189 class="menu-btn-mail menu-item menu-item-type-custom menu-item-object-custom menu-item-189"><a rel=nofollow href=mailto:support@prohoster.info>support@prohoster.info</a></li> <li id=menu-item-108822 class="menu-btn-location menu-item menu-item-type-custom menu-item-object-custom menu-item-108822"><a rel=nofollow href=#>IT WEB LTD (Reg. No. 2088463) Intershore Chambers, Road Town, Tortola, P.O. Box 4342, BVI</a></li> <li id=menu-item-183620 class="menu-btn-location menu-item menu-item-type-custom menu-item-object-custom menu-item-183620"><a rel=nofollow href=#>Operações NL: Tulpenstraat 6, Meppel, Países Baixos</a></li></ul></div></div><div id=custom_html-19 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:340px;margin:0
auto}.awards-wrapper
img{width:105px;height:105px;object-fit:contain}</style><div class=awards-wrapper> <a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/great-uptime.png alt="Avaliações da ProHoster"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2021-top-10-shared-hosting.png alt="Avaliações da ProHoster"> </a><div class=sf-root data-id=3473357 data-badge=most-loved data-variant-id=tbs style="width:125px;transform: scale(1.15);"> <a href=https://topbusinesssoftware.com/products/ProHoster/reviews/ target=_blank>Avaliações da ProHoster</a></div> <script>(function(){var sc=document.createElement('script');sc.async=true;sc.src='https://b.sf-syn.com/badge_js?sf_id=3473357&variant_id=tbs';var p=document.getElementsByTagName('script')[0];p.parentNode.insertBefore(sc,p);})();</script> <a href=https://sourceforge.net/software/product/ProHoster/ target=_blank rel="noopener nofollow"> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src="https://b.sf-syn.com/badge_img/3473357/heart-badge-white?variant_id=sf&f=png" alt="Avaliações da ProHoster"> </a></div></div></div></div><div class="col-md-3 col-xs-12"><div id=custom_html-4 class="widget_text widget widget_custom_html"><h3 class="widget-title">Aceitamos</h3><div class="textwidget custom-html-widget"><style>.image-row{display:flex;flex-wrap:wrap;justify-content:space-between}.image-row
a{width:18%}.image-row
img{width:100%;height:auto}</style><div class=image-row> <a href=https://www.visa.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Aceitamos Visa" src=/wp-content/uploads/payment-logos/visa.svg alt=visa1> </a> <a href=https://www.mastercard.com/index.html rel=nofollow> <img style="width: 55px; height: 35px;" title="Aceitamos MasterCard" src=/wp-content/uploads/payment-logos/mastercard.svg alt=master2> </a> <a href=https://pay.google.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Aceitamos GPay" src=/wp-content/uploads/payment-logos/google-pay.svg alt=GPay> </a> <a href=https://apple.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Aceitamos Apple Pay" src=/wp-content/uploads/payment-logos/apple-pay.svg alt="Apple Pay"> </a> <a href=# rel=nofollow> <img style="width: 55px; height: 35px;" class=alignnone title="Aceitamos Cripto" src=https://prohoster.info/wp-content/uploads/payment-logos/crypto.svg alt="Pagamento em cripto"> </a></div></div></div><div id=custom_html-25 class="widget_text widget widget_custom_html"><h3 class="widget-title">Junte-se a nós</h3><div class="textwidget custom-html-widget"><div class=social-links> <a href=https://www.youtube.com/@prohoster_info target=_blank rel=nofollow aria-label=YouTube> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/youtube-icon.webp alt=YouTube title="Estamos no YouTube"> </a> <a href=https://www.facebook.com/prohoster/ target=_blank rel=nofollow aria-label=Facebook> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/facebook-icon.webp alt=Facebook title="Estamos no Facebook"> </a> <a href=https://t.me/prohoster_news target=_blank rel=nofollow aria-label=Telegram> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/telegram-icon.webp alt=Telegram title="Estamos no Telegram"> </a> <a href=https://www.tiktok.com/@prohoster.info target=_blank rel=nofollow aria-label=tiktok> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/tiktok1-icon.webp alt=tiktok title="Estamos no tiktok"> </a></div><style>.social-links{display:grid;grid-template-columns:repeat(4, 1fr);gap:15px 10px;justify-items:center;max-width:300px;margin:0
auto}.social-links
img{width:28px;height:28px;object-fit:contain;transition:transform 0.2s ease}.social-links img:hover{transform:scale(1.15)}</style></div></div><div id=custom_html-20 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper-2{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:240px;margin:0
auto}.awards-wrapper-2
img{width:105px;height:auto;object-fit:contain}</style><div class=awards-wrapper-2 style="    margin-top: 107px;"> <a href=https://ru.hostings.info/prohoster.html target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://ru.hostings.info/informers/cache/730-11-blue.png alt="Avaliações de clientes no Hostings.info" title="Avaliações de clientes - abrirá em uma nova janela"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2022-top25-dedicated-hosting.png alt="Avaliações da ProHoster"> </a></div></div></div><div id=block-2 class="widget widget_block widget_text"><p class=wp-block-paragraph></p></div></div></div></div><div class=site-info><div class=container><div class=row><div class="col-md-12 text-center-xs"><div class="textwidget custom-html-widget"><a href="https://apps.db.ripe.net/db-web-ui/lookup?source=ripe&key=ORG-IWL5-RIPE&type=organisation" target=_blank rel=nofollow> <img class=" lazy" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2088%2031%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/ripe-ncc-m-w.png alt=ripe-ncc-m-w width=88 height=31> </a></div><div class="textwidget custom-html-widget"><div data-submi-badges=bk_R8PRdHn3TQFt-vxA data-submi-size=small data-submi-layout=scroll style="    max-width: 50%;    /* vector-effect: non-scaling-stroke; */    margin: 0 auto;"> … 99 links de diretório …</div> <script src=https://app.submi.io/b/bk_R8PRdHn3TQFt-vxA/js async></script> <script>(function(){var box=document.querySelector('[data-submi-badges]');if(!box)return;function fix(){box.querySelectorAll('a').forEach(function(a){var want='nofollow noopener';if(a.getAttribute('rel')!==want)a.setAttribute('rel',want);});}
fix();new MutationObserver(fix).observe(box,{childList:true,subtree:true});})();</script></div>	© 2014 - 2026<span class=sep> | </span>Todos os direitos reservados.</div></div></div></div></footer></div><template id=tp-language data-tp-language=pt_PT></template><script type=speculationrules>{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/pt/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/universal55x5old/*","/pt/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <style>.ph2-tt-wrap{position:relative;display:inline-block;cursor:help}.ph2-tt-wrap .ph2-tt-box{display:none !important;position:absolute !important;bottom:125%;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:8px
10px;border-radius:4px;font-size:12px;line-height:1.4;width:240px;z-index:999;text-align:left;white-space:normal;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ph2-tt-wrap:hover .ph2-tt-box,
.ph2-tt-wrap.ph2-active .ph2-tt-box{display:block !important}.has-percent::after{content:"%"}</style> <script>document.addEventListener('click',function(e){document.querySelectorAll('.ph2-tt-wrap.ph2-active').forEach(function(el){if(!el.contains(e.target))el.classList.remove('ph2-active');});var wrap=e.target.closest('.ph2-tt-wrap');if(wrap){e.preventDefault();wrap.classList.toggle('ph2-active');}});</script> <script>function loadVideo(el){const videoId=el.dataset.id;const iframe=document.createElement("iframe");iframe.src=`https://www.youtube.com/embed/${videoId}?autoplay=1`;iframe.width="750";iframe.height="422";iframe.frameBorder="0";iframe.allow="autoplay; encrypted-media";iframe.allowFullscreen=true;el.innerHTML="";el.appendChild(iframe);}</script> <style>.youtube-placeholder{position:relative;width:100%;height:0;padding-bottom:56.25%;background-color:#000;cursor:pointer;overflow:hidden}.youtube-placeholder img,
.youtube-placeholder
iframe{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.youtube-placeholder .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:68px;height:48px;background:rgba(0, 0, 0, 0.6);border-radius:12px}.youtube-placeholder .play-button::before{content:'';position:absolute;left:26px;top:12px;width:0;height:0;border-left:16px solid white;border-top:10px solid transparent;border-bottom:10px solid transparent}</style><div class=mwai-chatbot-container data-params='{"aiName":"ProHoster Chat","userName":"User: ","guestName":"Guest:","aiAvatar":true,"aiAvatarUrl":"chat-robot-1.svg","textSend":"Send","textClear":"Clear","imageUpload":false,"fileUpload":false,"multiUpload":false,"maxUploads":1,"fileUploads":0,"mode":"chat","textInputPlaceholder":"Type your message...","textEmptyHint":"","textInputMaxLength":1500,"textCompliance":"","startSentence":"Hi! How can I help you?","localMemory":true,"themeId":"chatgpt","window":true,"icon":"","iconText":"ProHoster Agent","iconTextDelay":1,"iconTextDuration":0,"iconTextOnce":"session","iconAlt":"AI Engine Chatbot","iconPosition":"bottom-right","centerOpen":false,"width":"","openDelay":"","iconBubble":true,"windowAnimation":"zoom","fullscreen":false,"copyButton":true,"pdfButton":false,"headerSubtitle":"Discuss with ProHoster Agent","popupTitle":"ProHoster Agent","containerType":"standard","headerType":"standard","messagesType":"standard","inputType":"standard","footerType":"standard"}' data-system='{"botId":"default","customId":null,"userData":null,"sessionId":null,"restNonce":null,"contextId":36968,"pluginUrl":"https:\/\/prohoster.info\/wp-content\/plugins\/ai-engine","restUrl":"https:\/\/prohoster.info\/pt\/wp-json","stream":true,"debugMode":false,"eventLogs":false,"speech_recognition":false,"speech_synthesis":false,"typewriter":false,"crossSite":false,"texts":{"Ask me anything!":"Ask me anything!","Jump to the latest message":"Jump to the latest message","Try again":"Try again","Conversation cleared.":"Conversation cleared.","Undo":"Undo","Done!":"Done!","New Chat":"New Chat","No messages yet":"No messages yet","Rename":"Rename","Delete":"Delete","Your text was cut at %d characters.":"Your text was cut at %d characters.","Hold to Talk":"Hold to Talk","Release to Send":"Release to Send","Press Space to talk":"Press Space to talk","Start session to upload images":"Start session to upload images","Usage limit exceeded":"Usage limit exceeded","Connection failed":"Connection failed","Connection failed. Please check your network and try again.":"Connection failed. Please check your network and try again.","Connection lost. Reconnecting...":"Connection lost. Reconnecting...","Connection lost while uploading image. Please try again.":"Connection lost while uploading image. Please try again.","Connection timeout: The server took too long to respond.":"Connection timeout: The server took too long to respond.","Could not start realtime session.":"Could not start realtime session.","An error occurred while starting the realtime session.":"An error occurred while starting the realtime session.","An error occurred while processing your request. Please try again.":"An error occurred while processing your request. Please try again.","An error occurred while committing the stats.":"An error occurred while committing the stats.","An error occurred while committing the discussion.":"An error occurred while committing the discussion.","An error occurred while executing the function.":"An error occurred while executing the function.","Authentication failed: Your session has expired. Please refresh the page.":"Authentication failed: Your session has expired. Please refresh the page.","Error uploading image. Please try again.":"Error uploading image. Please try again.","Failed to access microphone: ":"Failed to access microphone: ","Failed to access microphone. Please ensure microphone permissions are granted and try again.":"Failed to access microphone. Please ensure microphone permissions are granted and try again.","Failed to establish connection with OpenAI servers. Please try again.":"Failed to establish connection with OpenAI servers. Please try again.","Failed to read image file.":"Failed to read image file.","Failed to send image. Please try again.":"Failed to send image. Please try again.","Failed to upload image.":"Failed to upload image.","Image file size must be less than 20MB.":"Image file size must be less than 20MB.","Internal server error: An unexpected error occurred. Please try again.":"Internal server error: An unexpected error occurred. Please try again.","Invalid API key: Please check your OpenAI API key in settings.":"Invalid API key: Please check your OpenAI API key in settings.","Invalid request: The message format was not recognized by the server.":"Invalid request: The message format was not recognized by the server.","MediaDevices API not available. Please ensure you are using HTTPS and a modern browser.":"MediaDevices API not available. Please ensure you are using HTTPS and a modern browser.","Model overloaded: The AI model is currently experiencing high demand.":"Model overloaded: The AI model is currently experiencing high demand.","Network error: Failed to establish connection to the AI service.":"Network error: Failed to establish connection to the AI service.","Please select an image file.":"Please select an image file.","Please start a session before uploading images.":"Please start a session before uploading images.","Quota exceeded: You have reached your usage limit for this period.":"Quota exceeded: You have reached your usage limit for this period.","Rate limit exceeded: Too many requests. Please try again later.":"Rate limit exceeded: Too many requests. Please try again later.","Service unavailable: The AI service is temporarily down for maintenance.":"Service unavailable: The AI service is temporarily down for maintenance."},"actions":[],"blocks":[],"shortcuts":[]}' data-theme={"type":"internal","name":"ChatGPT","themeId":"chatgpt","settings":[],"style":"","cssUrl":"https:\/\/prohoster.info\/wp-content\/plugins\/ai-engine\/themes\/chatgpt.css"}></div><script id=flying-scripts>const loadScriptsTimer=setTimeout(loadScripts,5000*1000);const userInteractionEvents=['click','mousemove','keydown','touchstart','touchmove','wheel'];userInteractionEvents.forEach(function(event){window.addEventListener(event,triggerScriptLoader,{passive:!0})});function triggerScriptLoader(){loadScripts();clearTimeout(loadScriptsTimer);userInteractionEvents.forEach(function(event){window.removeEventListener(event,triggerScriptLoader,{passive:!0})})}
function loadScripts(){document.querySelectorAll("script[data-type='lazy']").forEach(function(elem){elem.setAttribute("src",elem.getAttribute("data-src"))})}</script> <script id=trp-dynamic-translator-js-extra>var trp_data={"trp_custom_ajax_url":"https://prohoster.info/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php","trp_wp_ajax_url":"https://prohoster.info/wp-admin/admin-ajax.php","trp_language_to_query":"pt_PT","trp_original_language":"ru_RU","trp_current_language":"pt_PT","trp_skip_selectors":["[data-no-translation]","[data-no-dynamic-translation]","[data-trp-translate-id-innertext]","script","style","head","trp-span","translate-press","[data-trp-translate-id]","[data-trpgettextoriginal]","[data-trp-post-slug]"],"trp_base_selectors":["data-trp-translate-id","data-trpgettextoriginal","data-trp-post-slug"],"trp_attributes_selectors":{"text":{"accessor":"outertext","attribute":false},"block":{"accessor":"innertext","attribute":false},"image_src":{"selector":"img[src]","accessor":"src","attribute":true},"submit":{"selector":"input[type='submit'],input[type='button'], input[type='reset']","accessor":"value","attribute":true},"placeholder":{"selector":"input[placeholder],textarea[placeholder]","accessor":"placeholder","attribute":true},"title":{"selector":"[title]","accessor":"title","attribute":true},"a_href":{"selector":"a[href]","accessor":"href","attribute":true},"button":{"accessor":"outertext","attribute":false},"option":{"accessor":"innertext","attribute":false},"aria_label":{"selector":"[aria-label]","accessor":"aria-label","attribute":true},"video_src":{"selector":"video[src]","accessor":"src","attribute":true},"video_poster":{"selector":"video[poster]","accessor":"poster","attribute":true},"video_source_src":{"selector":"video source[src]","accessor":"src","attribute":true},"audio_src":{"selector":"audio[src]","accessor":"src","attribute":true},"audio_source_src":{"selector":"audio source[src]","accessor":"src","attribute":true},"picture_image_src":{"selector":"picture image[src]","accessor":"src","attribute":true},"picture_source_srcset":{"selector":"picture source[srcset]","accessor":"srcset","attribute":true},"image_alt":{"selector":"img[alt]","accessor":"alt","attribute":true},"meta_desc":{"selector":"meta[name=\"description\"],meta[property=\"og:title\"],meta[property=\"og:description\"],meta[property=\"og:site_name\"],meta[property=\"og:image:alt\"],meta[name=\"twitter:title\"],meta[name=\"twitter:description\"],meta[name=\"twitter:image:alt\"],meta[name=\"DC.Title\"],meta[name=\"DC.Description\"],meta[property=\"article:section\"],meta[property=\"article:tag\"]","accessor":"content","attribute":true},"page_title":{"selector":"title","accessor":"innertext","attribute":false},"meta_desc_img":{"selector":"meta[property=\"og:image\"],meta[property=\"og:image:secure_url\"],meta[name=\"twitter:image\"]","accessor":"content","attribute":true}},"trp_attributes_accessors":["outertext","innertext","src","value","placeholder","title","href","aria-label","poster","srcset","alt","content"],"gettranslationsnonceregular":"2e3a11bb7a","showdynamiccontentbeforetranslation":"","skip_strings_from_dynamic_translation":[],"skip_strings_from_dynamic_translation_for_substrings":{"href":["amazon-adsystem","googleads","g.doubleclick"]},"duplicate_detections_allowed":"100","trp_translate_numerals_opt":"no","trp_no_auto_translation_selectors":["[data-no-auto-translation]"]};</script> <script id=trp-dynamic-translator-js src="https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/js/trp-translate-dom-changes.js?ver=3.3.7"></script> <script id=heartbeat-js-extra>var heartbeatSettings={"ajaxurl":"/wp-admin/admin-ajax.php","interval":"15"};var dfehc_heartbeat_vars={"recommendedInterval":"18.426603285846","heartbeat_control_enabled":"1","nonce":"2245bb6c32","ver":"1791319534","cache_bypass_rate":"0.05"};</script> <script id=heartbeat-js src="https://prohoster.info/wp-content/plugins/dynamic-front-end-heartbeat-control/js/heartbeat.min.js?ver=1.6.5"></script> <script id=react-js src="https://prohoster.info/wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1"></script> <script id=react-dom-js src="https://prohoster.info/wp-includes/js/dist/vendor/react-dom.min.js?ver=18.3.1.1"></script> <script id=wp-escape-html-js src="https://prohoster.info/wp-includes/js/dist/escape-html.min.js?ver=87ebe53e97bba59805a5"></script> <script id=wp-element-js src="https://prohoster.info/wp-includes/js/dist/element.min.js?ver=4a4370b2b349066fd440"></script> <script id=mwai_chatbot-js defer data-type=lazy data-src="https://prohoster.info/wp-content/plugins/ai-engine/app/chatbot.js?ver=1791468530"></script> <script id=mwai_highlight-js defer data-type=lazy data-src="https://prohoster.info/wp-content/plugins/ai-engine/vendor/highlightjs/highlight.min.js?ver=11.7"></script> <script id=gt_widget_script_26727249-js-before data-type=lazy data-src="data:text/javascript;base64,CndpbmRvdy5ndHJhbnNsYXRlU2V0dGluZ3MgPSAvKiBkb2N1bWVudC53cml0ZSAqLyB3aW5kb3cuZ3RyYW5zbGF0ZVNldHRpbmdzIHx8IHt9O3dpbmRvdy5ndHJhbnNsYXRlU2V0dGluZ3NbJzI2NzI3MjQ5J10gPSB7ImRlZmF1bHRfbGFuZ3VhZ2UiOiJydSIsImxhbmd1YWdlcyI6WyJhZiIsImFtIiwiYXIiLCJoeSIsImF6IiwiYmUiLCJibiIsImJzIiwiemgtQ04iLCJ6aC1UVyIsImhyIiwiY3MiLCJkYSIsImZpIiwia2EiLCJlbCIsIml3IiwiaHUiLCJpcyIsImlkIiwiamEiLCJrayIsImtvIiwia3kiLCJsdiIsImx0IiwibW4iLCJteSIsIm5vIiwiZmEiLCJydSIsInNrIiwic2wiLCJzdyIsInN2IiwidGgiLCJ0ciIsInVrIiwidXoiLCJ2aSJdLCJ1cmxfc3RydWN0dXJlIjoic3ViX2RpcmVjdG9yeSIsImZsYWdfc3R5bGUiOiIyZCIsImZsYWdfc2l6ZSI6MjQsIndyYXBwZXJfc2VsZWN0b3IiOiIjZ3Qtd3JhcHBlci0yNjcyNzI0OSIsImFsdF9mbGFncyI6W10sImN1c3RvbV9jc3MiOiIuZ3RyYW5zbGF0ZV93cmFwcGVyIC5ndF9vcHRpb24ge3Bvc2l0aW9uOiBhYnNvbHV0ZTtmbG9hdDogcmlnaHQ7fSIsImhvcml6b250YWxfcG9zaXRpb24iOiJpbmxpbmUiLCJmbGFnc19sb2NhdGlvbiI6Ilwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3RyYW5zbGF0ZVwvZmxhZ3NcLyJ9OwovLyMgc291cmNlVVJMPWd0X3dpZGdldF9zY3JpcHRfMjY3MjcyNDktanMtYmVmb3JlCg=="></script><script data-no-optimize=1 data-no-minify=1 data-gt-orig-url=/pt/blog/administrirovanie/sposoby-integratsii-s-1s data-gt-orig-domain=prohoster.info data-gt-widget-id=26727249 defer data-type=lazy data-src="https://prohoster.info/wp-content/plugins/gtranslate/js/popup.js?ver=5.0.1"></script><script>document.getElementById('burger').addEventListener('click',function(){document.getElementById('mainNav').classList.toggle('open');});document.querySelectorAll('.submenu-toggle').forEach(function(btn){btn.addEventListener('click',function(e){e.preventDefault();const parent=btn.closest('.has-submenu');const submenu=parent.querySelector('.submenu');const isOpen=parent.classList.toggle('open');if(isOpen){submenu.style.display='block';btn.textContent='◀';}else{submenu.style.display='none';btn.textContent='▼';}});});</script> <script>document.addEventListener("DOMContentLoaded",function(){const hamburgerBtn=document.querySelector(".gamburger-btn");const primaryMenu=document.querySelector("ul#primary-menu");if(hamburgerBtn&&primaryMenu){hamburgerBtn.addEventListener("click",function(event){event.preventDefault();this.classList.toggle("gamburger-btn_active");primaryMenu.classList.toggle("active_primary");});}
const mobileSidebar=document.getElementById("mobile_sidebar");const secondaryAside=document.querySelector("aside#secondary");if(mobileSidebar&&secondaryAside){mobileSidebar.addEventListener("click",function(){this.classList.toggle("open_mobile_sidebar");secondaryAside.classList.toggle("open_secondary");});}});</script> <script>document.addEventListener("DOMContentLoaded",function(){const masthead=document.getElementById("masthead");function toggleHeaderFixed(){const isDesktop=window.innerWidth>991;const scrollTop=window.scrollY;if(masthead){if(isDesktop){if(scrollTop>150){masthead.classList.add("header-fixed");}else{masthead.classList.remove("header-fixed");}}else{masthead.classList.remove("header-fixed");}}}
window.addEventListener("scroll",toggleHeaderFixed);window.addEventListener("resize",toggleHeaderFixed);toggleHeaderFixed();});</script> <div id=cookie-data-source style="display:none !important;"> <span class=src-text>Usamos cookies <a target=_blank rel=nofollow href=https://prohoster.info/pt/kompaniya/privacy-policy/#cookie>cookie</a>, para garantir a melhor experiência em nosso site. Ao continuar a usar o site, você concorda com nossa política de privacidade.</span> <span class=src-btn>Aceitar</span></div> <script>(function(){const cookieName='user_cookies_accepted';if(localStorage.getItem(cookieName))return;setTimeout(function(){const dataSource=document.getElementById('cookie-data-source');if(!dataSource)return;const textContent=dataSource.querySelector('.src-text').innerHTML;const btnContent=dataSource.querySelector('.src-btn').innerText;const styles=`

            `;const styleSheet=document.createElement("style");styleSheet.innerText=styles;document.head.appendChild(styleSheet);const finalHtml=`
                <div id=cookie-banner>
                    <div class=cookie-container>
                        <div class=cookie-text>${textContent}</div>
                        <button id=accept-cookies class=cookie-btn>${btnContent}</button>
                    </div>
                </div>
            `;document.body.insertAdjacentHTML('beforeend',finalHtml);const banner=document.getElementById('cookie-banner');const btn=document.getElementById('accept-cookies');setTimeout(()=>{banner.classList.add('show');},100);btn.addEventListener('click',function(){localStorage.setItem(cookieName,'true');banner.classList.remove('show');setTimeout(()=>{banner.remove();},500);});},2000);})();</script> <div id=gt-text-source style="position:absolute; left:-9999px; top:-9999px; opacity:0;"> <span id=gt-org-desc>Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS</span> <span id=gt-page-name>🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster</span></div> <script>(function(){function injectSchemas(){if(document.getElementById('added-org-schema'))return;var orgDesc=document.getElementById('gt-org-desc').innerText;var pageName=document.getElementById('gt-page-name').innerText;var schemas=[{"@context":"https://schema.org","@type":"Organization","id":"added-org-schema","name":"ProHoster","url":"https://prohoster.info/","logo":"https://prohoster.info/wp-content/uploads/2019/08/logo_prohoster.png","email":"support@prohoster.info","description":orgDesc,"address":{"@type":"PostalAddress","streetAddress":"Tulpenstraat, 6","addressLocality":"Meppel","postalCode":"7943 DN","addressCountry":"NL"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.85","reviewCount":"1297","bestRating":"5","worstRating":"1"},"sameAs":["https://hostadvice.com/hosting-company/prohoster-reviews/","https://facebook.com/prohoster","https://twitter.com/prohoster","https://www.instagram.com/prohoster.info/","https://www.tiktok.com/@prohoster.info","https://www.youtube.com/@prohoster_info","https://www.linkedin.com/company/prohoster"]},{"@context":"https://schema.org","@type":"WebPage","name":pageName,"url":window.location.href}];schemas.forEach(function(s){var script=document.createElement('script');script.type='application/ld+json';if(s.id)script.id=s.id;script.text=JSON.stringify(s);document.head.appendChild(script);});}
var checkTimer=setInterval(function(){var currentLang=document.documentElement.lang||document.querySelector('html').getAttribute('lang');var text=document.getElementById('gt-org-desc').innerText;if(!/[а-яА-Я]/.test(text)||currentLang!=='ru'){injectSchemas();clearInterval(checkTimer);}},500);setTimeout(function(){injectSchemas();clearInterval(checkTimer);},4000);})();</script> <script>function w3tc_ll_observe(ll){if(!ll||!ll.update)return;var t;new MutationObserver(function(){clearTimeout(t);t=setTimeout(function(){ll.update();},200);}).observe(document.documentElement,{childList:true,subtree:true});}window.addEventListener("LazyLoad::Initialized",function(e){setTimeout(function(){window.w3tc_lazyload=e.detail.instance;w3tc_ll_observe(window.w3tc_lazyload);},1);});window.w3tc_lazyload=1,window.lazyLoadOptions={elements_selector:".lazy",callback_loaded:function(t){var e;try{e=new CustomEvent("w3tc_lazyload_loaded",{detail:{e:t}})}catch(a){(e=document.createEvent("CustomEvent")).initCustomEvent("w3tc_lazyload_loaded",!1,!1,{e:t})}window.dispatchEvent(e)}}</script><script async src=https://prohoster.info/wp-content/plugins/w3-total-cache/pub/js/lazyload.min.js></script></body></html>