Esta documentação tem como objetivo guiar você, passo a passo, no processo de atualização do preço de um produto em uma loja Marketplace Soulmkt utilizando as APIs V1 e V2. Mesmo que você não tenha familiaridade com o processo, esta explicação detalhada ajudará a entender como realizar a tarefa.
1. Introdução #
O Marketplace Soulmkt oferece duas versões de API (V1 e V2) para interagir com o sistema e realizar operações como a atualização de preços de produtos. Ambas as versões utilizam o protocolo SOAP (Simple Object Access Protocol) para enviar e receber dados em formato XML.
Aqui, vamos abordar como atualizar o preço de um produto utilizando as APIs V1 e V2, com exemplos de requisições XML que podem ser enviadas via ferramentas como o Postman.
2. Pré-requisitos #
Antes de começar, certifique-se de que você possui:
- Acesso à API do Marketplace Soulmkt: Você precisará de credenciais de acesso (usuário e senha) para obter um
sessionId, que é necessário para autenticar as requisições. - Identificador do Produto: O SKU (Stock Keeping Unit) ou ID do produto que você deseja atualizar.
- Ferramenta para Envio de Requisições: Recomenda-se o uso do Postman ou qualquer outra ferramenta que permita enviar requisições SOAP.
3. Passo a Passo para Atualização de Preço #
3.1. Obtenção do sessionId #
Antes de realizar qualquer operação na API, você precisa obter um sessionId para autenticar suas requisições. Isso é feito através de uma chamada de login na API.
Exemplo de Requisição para Login: #
XML
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:OpenMage"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:login>
<username xsi:type="xsd:string">seu_usuario</username>
<apiKey xsi:type="xsd:string">sua_senha</apiKey>
</ns1:login>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Resposta: #
Se o login for bem-sucedido, você receberá um sessionId no formato:
XML
<SOAP-ENV:Envelope> <SOAP-ENV:Body> <ns1:loginResponse> <result xsi:type="xsd:string">1234567890abcdef1234567890abcdef</result> </ns1:loginResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Guarde esse sessionId para usar nas próximas requisições.
3.2. Atualização de Preço na API V2 #
A API V2 do Marketplace Soulmkt utiliza uma estrutura mais direta para atualizar o preço de um produto. Abaixo está um exemplo de como fazer isso.
Exemplo de Requisição para Atualizar Preço (API V2): #
XML
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:OpenMage" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:catalogProductUpdate> <sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId> <product xsi:type="xsd:string">produto-sk123</product> <productData xsi:type="ns1:catalogProductCreateEntity"> <price xsi:type="xsd:string">150.00</price> </productData> <storeView xsi:nil="true"/> <identifierType xsi:nil="true"/> </ns1:catalogProductUpdate> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Explicação dos Campos: #
- sessionId: O token de autenticação obtido no passo anterior.
- product: O SKU ou ID do produto que você deseja atualizar.
- productData: Contém os dados do produto, incluindo o novo preço.
- price: O novo preço do produto (neste exemplo, R$ 150,00).
Resposta: #
Se a atualização for bem-sucedida, você receberá uma resposta como:
XML
<SOAP-ENV:Envelope> <SOAP-ENV:Body> <ns1:catalogProductUpdateResponse> <result xsi:type="xsd:boolean">true</result> </ns1:catalogProductUpdateResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
3.3. Atualização de Preço na API V1 #
A API V1 utiliza uma estrutura um pouco diferente, onde os dados do produto são passados em um formato de mapa (Map).
Exemplo de Requisição para Atualizar Preço (API V1): #
XML
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:OpenMage" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:call> <sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId> <resourcePath xsi:type="xsd:string">catalog_product.update</resourcePath> <args SOAP-ENC:arrayType="xsd:ur-type[2]" xsi:type="SOAP-ENC:Array"> <item xsi:type="xsd:string">produto-sk123</item> <item xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">price</key> <value xsi:type="xsd:string">150.00</value> </item> </item> </args> </ns1:call> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Explicação dos Campos: #
- sessionId: O token de autenticação obtido no passo anterior.
- resourcePath: O caminho do recurso da API que será chamado (
catalog_product.update). - args: Uma lista de argumentos, onde:
- O primeiro item é o SKU ou ID do produto.
- O segundo item é um mapa (Map) contendo os campos a serem atualizados (neste caso, o preço).
Resposta: #
Se a atualização for bem-sucedida, você receberá uma resposta como:
XML
<SOAP-ENV:Envelope> <SOAP-ENV:Body> <ns1:callResponse> <result xsi:type="xsd:boolean">true</result> </ns1:callResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
4. Considerações Finais #
- Testes: Sempre teste suas requisições em um ambiente de desenvolvimento antes de aplicá-las em produção.
- Erros Comuns: Verifique se o
sessionIdestá válido e se o SKU do produto está correto. Erros de autenticação ou SKU incorreto são as causas mais comuns de falhas. - Ferramentas: Utilize ferramentas como o Postman para facilitar o envio e a visualização das respostas das requisições.
Com esta documentação, você está pronto para atualizar o preço de produtos no Marketplace Soulmkt utilizando as APIs V1 e V2. Em caso de dúvidas, entre em contato com o time de suporte.
Nota: Os dados utilizados nos exemplos são fictícios e devem ser substituídos pelos valores reais do seu ambiente.