Envio de url da API Magento via url de administrador personalizado
-
12-12-2019 - |
Pergunta
Minha loja pode resolver solicitações de API usando um URL de administrador personalizado?Por exemplo: https://admin.magento.lc/api/v2_soap?wsdl=1?O problema aqui é que se eu usar o URL da API por meio do URL de administrador personalizado, ele redireciona para o frontend.
Solução
Depois de dar uma olhada /app/code/core/Mage/Api/etc/config.xml
eu vi, que a rota só está configurada para o frontend
, não para admin
:
<config>
<modules ...>
<global ...>
<frontend>
<routers>
<api>
<use>standard</use>
<args>
<module>Mage_Api</module>
<frontName>api</frontName>
</args>
</api>
</routers>
...
</frontend>
Portanto, não há rota de administração para /api
qual pode ser a causa pela qual você foi redirecionado.Eu não testei embora.
Outras dicas
Primeira solução é desativar o redirecionamento 301 ou 302 de System > Web > Url Options > Auto-redirect to Base URL
Em seguida, tente novamente sem o URL de administrador personalizado: http://magento.dev/api/v2_soap/index/wsdl/1/
Isso pode causar alguns problemas de perda http://example.com/store/ para http://www.example.com/store/ redirecionamentos...
Segunda solução é definir uma regra de reescrita na configuração do servidor web (aqui Apache vhost):
RewriteCond %{HTTP_HOST} ^admin\.magento\.biz$ [NC]
RewriteCond %{REQUEST_URI} /api/
RewriteRule ^ https://magento.biz%{REQUEST_URI} [L,R]