Migração da integração do método de envio UPS do SOAP para a API RESTful
Observação: se você carregou algum dos três patches deste artigo antes de 6 de junho de 2024: se estiver enfrentando esse problema devido às medidas de Sistema de Métrica/SI (quilogramas e centímetros) não serem usadas, você deve reaplicar um desses patches novos e atualizados agora publicados neste artigo para a sua versão 2.4.4+/2.4.5+/2.4.6+ do Adobe Commerce/Magento Open Source mais uma vez, caso contrário, você não poderá selecionar as medidas de Sistema de Métrica/SI de quilogramas e centímetros nos métodos de envio UPS na Configuração de administrador. Esses novos patches são compatíveis com os patches lançados anteriormente. Este problema será corrigido permanentemente no escopo da próxima versão 2.4.7-p1 do Adobe Commerce planejada para 11 de junho de 2024.
Observação: se você carregou algum dos três patches deste artigo antes de outubro de 10, 2023, deverá reaplicar um desses patches agora publicados neste artigo para a sua versão 2.4.4+/2.4.5+/2.4.6+ do Adobe Commerce/Magento Open Source mais uma vez, caso contrário, você não poderá selecionar e configurar métodos específicos de envio de UPS na Configuração de administração e terá que habilitar todos eles. Esses novos patches são compatíveis com os patches lançados anteriormente.
Este artigo fornece uma correção para resolver problemas com a migração de integração do método de envio do Serviço de Encomendas Unidas (UPS) de SOAP para a API RESTful para Adobe Commerce 2.4.4 - 2.4.6-pX.
A partir de junho de 2024, os comerciantes da Adobe Commerce não poderão fazer transações com nossa integração UPS atual. Portanto, estamos lançando este hotfix, que permite que os comerciantes do Adobe Commerce 2.4.4+/2.4.5+/2.4.6+ migrem para as APIs REST UPS mais recentes.
Esse problema será corrigido no Adobe Commerce/Magento Open Source versão 2.4.7 e a correção também será incluída na versão 2.4.7-beta2 em outubro de 2023.
Descrição description
Produtos e versões afetados
Adobe Commerce na infraestrutura em nuvem e no local, e Magento Open Source:
- 2.4.4
- 2,4,4-pX
- 2.4.5
- 2,4,5-pX
- 2.4.6
- 2,4,6-pX
Causas
A UPS lançou uma atualização de segurança para sua API.
Se você tiver a União Europeia (outras origens podem ter o mesmo problema) como Origem da Remessa, isso causará um erro na solicitação REST UPS:
"Uma remessa não pode ter KGS/IN, LBS/CM ou OZS/CM como sua unidade de medida."
Resolução resolution
De acordo com as últimas atualizações do Modelo de Segurança da API UPS, a UPS implementou um modelo de segurança OAuth 2.0 para todas as APIs (Mais detalhes disponíveis no Guia de Migração da Chave de Acesso ao Portal do Desenvolvedor da UPS) para aprimorar a segurança geral e reduzir fraudes e fornecer recursos aprimorados de API.
Essa alteração afeta nossa implementação atual de integração do método de envio UPS no Adobe Commerce e requer que corrijamos nossa implementação atual e migremos da API do SOAP para a API RESTful para poder oferecer suporte aos protocolos de autenticação OAuth 2.0.
Solução
Use os seguintes patches anexados, dependendo da sua versão do Adobe Commerce/Magento Open Source:
Para resolver o problema nas versões 2.4.4+, 2.4.5+ e 2.4.6+, você deve aplicar o patch correspondente à versão do Adobe Commerce/Magento Open Source abaixo.
Correção
Use os seguintes patches anexados, dependendo da sua versão do Adobe Commerce/Magento Open Source:
Para as versões 2.4.4, 2.4.4-pX:
Para as versões 2.4.5, 2.4.5-pX:
Para as versões 2.4.6, 2.4.6-pX:
Como aplicar o patch
Descompacte o arquivo e veja Como aplicar um patch de compositor fornecido pelo Adobe em nossa base de dados de suporte para obter instruções.
Como saber se os patches foram aplicados
Considerando que não é possível verificar facilmente se o problema foi corrigido, talvez você queira verificar se o patch foi aplicado com sucesso. Isso usa (Exemplo: AC-9363) como o patch a ser verificado.
Você pode fazer isso executando as seguintes etapas:
-
Instale a Ferramenta de Patches de Qualidade.
-
Execute o comando:
vendor/bin/magento-patches -n status |grep "9363|Status"
-
Você deve ver uma saída semelhante a esta, onde AC-9363 retorna o status Aplicado:
code language-none ║ Id│ Title│ Category │ Origin│ Status│ Details║ ║ N/A │ ../m2-hotfixes/AC-9363_USPS_Ground_Advantage_shipping_method_COMPOSER_patch.patch │ Other│ Local│ Applied│ Patch type: Custom
Depois de aplicar o patch
Etapa 1: criar um aplicativo UPS no Portal do Desenvolvedor UPS
Para usar a API REST do UPS, é necessário criar um aplicativo no Portal do desenvolvedor do UPS para gerar as credenciais necessárias (ID do cliente e Segredo do cliente). Siga estas etapas:
-
Faça logon no Portal do Desenvolvedor UPS
- Navegue até https://developer.ups.com/.
- Use as credenciais da sua conta UPS para fazer logon. Se você não tiver uma conta, clique no botão Inscrever-se para criar uma.
-
Criar um Novo Aplicativo
- Depois de fazer logon, vá para o Painel e clique em Criar Aplicativo.
- Forneça um nome para o aplicativo (por exemplo, Integração do Adobe Commerce UPS).
-
Selecionar as APIs necessárias
-
Durante o processo de criação do aplicativo, quando solicitado, selecione as APIs que seu aplicativo usará. Certifique-se de incluir:
- Taxa de API: para obter as taxas de envio.
- API de Tempo em Trânsito: Para estimativas de tempo de entrega.
- Quaisquer outras APIs relevantes para as suas necessidades de envio (por exemplo, API de rastreamento, se aplicável).
-
-
Definir Permissões
- Verifique se o aplicativo tem as permissões necessárias ativadas para as APIs selecionadas.
- Isso normalmente é feito durante a criação do aplicativo, mas você pode revisar e atualizar permissões posteriormente nas configurações do aplicativo.
-
Gerar credenciais
- Após a criação do aplicativo, navegue até a seção Credenciais.
- Copie a ID do Cliente e o Segredo do Cliente. Eles serão usados para configurar a integração do UPS REST no Adobe Commerce.
- Observação: mantenha essas credenciais seguras e não as compartilhe publicamente.
-
Testar o aplicativo
- Use as ferramentas de teste do Portal do desenvolvedor da UPS para verificar se o aplicativo está funcionando corretamente e se pode buscar dados das APIs selecionadas.
Etapa 2: configurar UPS REST no Adobe Commerce
Depois de ter a ID do cliente e o Segredo do cliente, continue com a configuração da integração REST do no-break no Adobe Commerce.
Selecione UPS Type = "United Parcel Service REST".