Integração WooCommerce – Problema ao enviar imagem para a Loja Virtual.

porNatã Giertyas

Integração WooCommerce – Problema ao enviar imagem para a Loja Virtual.

Os sites WooCommerce precisam de uma configuração adicional para o sistema conseguir fazer o envio da imagem do produto para site. Se o site for fornecido e configurado pela Moderniza essas configurações já serão feitas por nossa conta. Caso o site for de um fornecedor terceiro, ele deverá ser feita para o funcionamento do envio de imagens.

Por que é necessário essas configurações?

O WooCommerce aceita somente imagens através de um link, ou seja, não é possível enviar arquivo de imagens. Desse modo precisamos enviar a imagem pelo WordPress que é o construtor do site WooCommerce. O WordPress aceita o envio de arquivos, porém pra isso precisamos fazer algumas configuração para conseguir fazer o envio do arquivo. E também essa configuração implementa a autenticação via Json Web Token que torna mais seguro o envio da imagem.

1 – Instalação de Plugins 

Plugin obrigatório. A sua responsabilidade é a ativação de API do WordPress que é por onde será enviada a imagem posteriormente.

WordPress REST API (Version 2)

Plugin obrigatório. A sua responsabilidade é a ativação da autenticação por token de acesso para conseguirmos comunicar com a API e enviar a imagem.

IMPORTANTE: Dependendo da versão do PHP do seu site você irá precisar usar a versão antiga desse plugin que você pode obter através desse link

JWT Authentication for WP REST API

Plugin opcional. Em caso de ativação esse plugin tem a responsabilidade de identificar todas as requisições feitas para o site, desse modo conseguimos testar e visualizar o que está chegando de informação no site.

REST API Log

IMPORTANTE: Para a realização dos passos 2 e 3, você precisará acesso ao servidor de arquivos da Loja Virtual, conhecido também como FTP do site. O FTP é onde possuí os arquivos de instalação e configuração do site, além de possuir todo o conteúdo do site, como páginas, plugins e afins. 

RECOMENDADO: ANTES DE FAZER QUALQUER ALTERAÇÃO DE QUALQUER ARQUIVO REALIZE UM BACKUP DOS MESMOS, POIS ESSES SÃO ARQUIVOS DE CONFIGURAÇÃO DO SITE E QUALQUER ALTERAÇÃO INCORRETA PODERÁ IMPACTAR NA DISPONIBILIDADE DO SITE.

2 – Configuração no arquivo wp-config.php no FTP

Acessando o FTP do site, você irá navegar até a pasta do site, normalmente ele se chamará public_html. Nessa pasta, você terá acesso ao arquivo wp-config.

Você precisará editar o arquivo com um editor de texto e adicionar algumas variáveis para configuração do site

define('AUTH_KEY', '2>clCCVok+)8N0D$ecRv(H,m}(T=gMnU+H`ne]U6d~g+K8M?3O`:Lbj-x?@QLg`{');
define('SECURE_AUTH_KEY', '-7^m|jDY4&ys1U:IK-2|-{c=n7]Kgmwtl*+cr,%2Apk?gBm0 %IAvx2Y}@.F|y3x');
define('LOGGED_IN_KEY', 'eMoF:Yk.{{L (g+.Tns]#7Ng FI`{5pc&c6S!lbLM_]GZaA1amy+mW?~hHc;7M-5');
define('NONCE_KEY', 'BZnXx@_4o!{j-1J(GtRuT<<t@_(5n~76/09>TQZ(+vupeN8kT-B>v-eXO?+!^Ol1');
define('AUTH_SALT', 'y,-b)->Nf7+gEOxc<LDiia?#6N9q,Uy6dqo{|@qV}H2vS3P[T31Sg+Mk#{{8v~@#');
define('SECURE_AUTH_SALT', 'u:`97t|<1`@C%3zPAkP:rpZ{_b+|d&76oLOgE]yk=X*KOK^wc8<*V?q|OrpZn7KA');
define('LOGGED_IN_SALT', '&qhXE-EId2/#eC|}*+|a;zo@+k2BxMbGJ}dm|: br`j0:h~@8aDxi0Ny62byiO&9');
define('NONCE_SALT', 'KRg9l%C#Kpv,1$[nzxFMR=+O8I.+!XX:Gv~xOW+&pj7kwz;djDQZ5f(Q0$wi[>RD');

Para geração dessas chaves você precisa abrir esse link https://api.wordpress.org/secret-key/1.1/salt/

Além disso você precisa adicionar mais uma variável que é a seguinte:

     define('JWT_AUTH_SECRET_KEY', 'SUSBSTITUIRPELACHAVE');

Essa chave tem um detalhe. Você precisa trocar o valor SUSBSTITUIRPELACHAVE por algum valor do site https://api.wordpress.org/secret-key/1.1/salt/

Exemplo: Abra o site e copie qualquer valor e troque pelo texto

Nova chave

     define('JWT_AUTH_SECRET_KEY', 'dO*r+Pbp0,RN=gPhe|vU;L|=)-+9)xGo7[BC@C@ZO<rH(TFaES51u:z#SiBX/N)k'); 

Agora você precisa colocar tudo isso no seu arquivo wp-config.php ficando dessa forma

3 – Configuração no arquivo .htaccess no FTP

No arquivo .htaccess precisamos habilitar o HTTP Authorization Header
Para habilitá-lo é necessário editar o arquivo .htaccess e adicionar as seguintes linhas.

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

Ele deve ficar da seguinte forma:

 

Qualquer dificuldade durante a configuração podem entrar em contato com o suporte que auxiliaremos e em caso do fornecedor do site não poder realizar as configurações podemos acompanhar e auxiliar na mesma, porém precisamos de um acesso Administrador do site e também do acesso ao FTP do site para manipulação dos arquivos. 

Sobre o Autor

Natã Giertyas

Deixe uma resposta