Ver categorias

Documentação para Atualização de Estoque via API Marketplace Soulmkt (V1 e V2)

Esta documentação tem como objetivo guiar você, passo a passo, no processo de atualização do estoque 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 estoque 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 estoque 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:

  1. 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.
  2. Identificador do Produto: O SKU (Stock Keeping Unit) ou ID do produto que você deseja atualizar.
  3. 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 Estoque #

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 Estoque na API V2 #

A API V2 do Marketplace Soulmkt utiliza uma estrutura mais direta para atualizar o estoque de um produto. Abaixo está um exemplo de como fazer isso.

Exemplo de Requisição para Atualizar Estoque (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:catalogInventoryStockItemUpdate>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<product xsi:type="xsd:string">produto-sk123</product>
			<data xsi:type="ns1:catalogInventoryStockItemUpdateEntity">
				<qty xsi:type="xsd:string">50</qty>
				<is_in_stock xsi:type="xsd:int">1</is_in_stock>
			</data>
		</ns1:catalogInventoryStockItemUpdate>
	</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.
  • data: Contém os dados do estoque, incluindo a quantidade e a disponibilidade.
    • qty: A nova quantidade em estoque (neste exemplo, 50 unidades).
    • is_in_stock: Indica se o produto está em estoque (1 para sim, 0 para não).

Resposta: #

Se a atualização for bem-sucedida, você receberá uma resposta como:

XML

<SOAP-ENV:Envelope>
	<SOAP-ENV:Body>
		<ns1:catalogInventoryStockItemUpdateResponse>
			<result xsi:type="xsd:boolean">true</result>
		</ns1:catalogInventoryStockItemUpdateResponse>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3.3. Atualização de Estoque na API V1 #

A API V1 utiliza uma estrutura um pouco diferente, onde os dados do estoque são passados em um formato de mapa (Map).

Exemplo de Requisição para Atualizar Estoque (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">product_stock.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">qty</key>
						<value xsi:type="xsd:string">50</value>
					</item>
					<item>
						<key xsi:type="xsd:string">is_in_stock</key>
						<value xsi:type="xsd:int">1</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 (product_stock.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, a quantidade e a disponibilidade).

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 sessionId está 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 estoque 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.