Ver categorias

Documentação para Consulta e Atualização de Fluxo de pedido via API Marketplace Soulmkt (V2)

Tabela de conteúdos (TOC)

Esta documentação tem como objetivo guiar você, passo a passo, no processo de consulta e atualização do fluxo de pedido 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/consulta de fluxo de pedidos. 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 Pedido: O ID do pedido 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. Fluxos dos pedidos da plataforma #

3.1. Obtenção do sessionId (https://api.soulmkt.dev/examples.phtml) #

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. Consulta de pedidos pagos na plataforma (https://api.soulmkt.dev/sales_order.info.phtml) #

A API V2 do Marketplace Soulmkt utiliza uma estrutura mais direta para consultar os pedidos pagos na plataforma. Abaixo está um exemplo de como fazer isso.

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:salesOrderList>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<filters xsi:type="ns1:filters">
				<filter SOAP-ENC:arrayType="ns1:associativeEntity[1]" xsi:type="SOAP-ENC:Array">
					<item xsi:type="ns1:associativeEntity">
						<key xsi:type="xsd:string">status</key>
						<value xsi:type="xsd:string">processing</value>
					</item>
				</filter>
			</filters>
		</ns1:salesOrderList>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • key: Informa o atributo do pedido buscado como paramento(status).
  • value: Informa o valor do status desejado(processing).

Resposta: #

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

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:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
	<SOAP-ENV:Body>
		<ns1:salesOrderListResponse>
			<result SOAP-ENC:arrayType="ns1:salesOrderListEntity[29]" xsi:type="ns1:salesOrderListEntityArray">
				<item xsi:type="ns1:salesOrderListEntity">
					<increment_id xsi:type="xsd:string">100000048-9</increment_id>
					<store_id xsi:type="xsd:string">1</store_id>
					<created_at xsi:type="xsd:string">2020-11-12 16:58:08</created_at>
					<updated_at xsi:type="xsd:string">2020-11-12 16:59:15</updated_at>
					<customer_id xsi:type="xsd:string">18</customer_id>
					<discount_amount xsi:type="xsd:string">0.0000</discount_amount>
					<subtotal xsi:type="xsd:string">10.0000</subtotal>
					<grand_total xsi:type="xsd:string">10.0000</grand_total>
					<total_paid xsi:type="xsd:string">10.0000</total_paid>
					<total_qty_ordered xsi:type="xsd:string">1.0000</total_qty_ordered>
					<total_invoiced xsi:type="xsd:string">10.0000</total_invoiced>
					<base_discount_amount xsi:type="xsd:string">0.0000</base_discount_amount>
					<base_subtotal xsi:type="xsd:string">10.0000</base_subtotal>
					<base_grand_total xsi:type="xsd:string">10.0000</base_grand_total>
					<base_total_paid xsi:type="xsd:string">10.0000</base_total_paid>
					<base_total_invoiced xsi:type="xsd:string">10.0000</base_total_invoiced>
					<billing_address_id xsi:type="xsd:string">160</billing_address_id>
					<billing_firstname xsi:type="xsd:string">Alexsandro</billing_firstname>
					<billing_lastname xsi:type="xsd:string">Soulmkt</billing_lastname>
					<billing_name xsi:type="xsd:string">Alexsandro Soulmkt</billing_name>
					<weight xsi:type="xsd:string">0.0000</weight>
					<store_name xsi:type="xsd:string">Marketplace
Marketplace
PT:Português</store_name>
					<status xsi:type="xsd:string">processing</status>
					<state xsi:type="xsd:string">processing</state>
					<global_currency_code xsi:type="xsd:string">BRL</global_currency_code>
					<base_currency_code xsi:type="xsd:string">BRL</base_currency_code>
					<store_currency_code xsi:type="xsd:string">BRL</store_currency_code>
					<order_currency_code xsi:type="xsd:string">BRL</order_currency_code>
					<shipping_description xsi:type="xsd:string"></shipping_description>
					<customer_email xsi:type="xsd:string">[email protected]</customer_email>
					<customer_firstname xsi:type="xsd:string">Alexsandro</customer_firstname>
					<customer_lastname xsi:type="xsd:string">Soulmkt</customer_lastname>
					<quote_id xsi:type="xsd:string">0</quote_id>
					<is_virtual xsi:type="xsd:string">1</is_virtual>
					<customer_group_id xsi:type="xsd:string">5</customer_group_id>
					<customer_note_notify xsi:type="xsd:string">1</customer_note_notify>
					<customer_is_guest xsi:type="xsd:string">0</customer_is_guest>
					<order_id xsi:type="xsd:string">83</order_id>
					<protect_code xsi:type="xsd:string">a5b382</protect_code>
					<base_discount_invoiced xsi:type="xsd:string">0.0000</base_discount_invoiced>
					<base_shipping_invoiced xsi:type="xsd:string">0.0000</base_shipping_invoiced>
					<base_subtotal_invoiced xsi:type="xsd:string">10.0000</base_subtotal_invoiced>
					<base_tax_invoiced xsi:type="xsd:string">0.0000</base_tax_invoiced>
					<base_total_invoiced_cost xsi:type="xsd:string">0.0000</base_total_invoiced_cost>
					<discount_invoiced xsi:type="xsd:string">0.0000</discount_invoiced>
					<shipping_invoiced xsi:type="xsd:string">0.0000</shipping_invoiced>
					<subtotal_invoiced xsi:type="xsd:string">10.0000</subtotal_invoiced>
					<tax_invoiced xsi:type="xsd:string">0.0000</tax_invoiced>
					<paypal_ipn_customer_notified xsi:type="xsd:string">0</paypal_ipn_customer_notified>
					<base_subtotal_incl_tax xsi:type="xsd:string">10.0000</base_subtotal_incl_tax>
					<base_total_due xsi:type="xsd:string">0.0000</base_total_due>
					<subtotal_incl_tax xsi:type="xsd:string">10.0000</subtotal_incl_tax>
					<total_due xsi:type="xsd:string">0.0000</total_due>
					<customer_dob xsi:type="xsd:string">2000-01-01 00:00:00</customer_dob>
					<total_item_count xsi:type="xsd:string">1</total_item_count>
					<hidden_tax_invoiced xsi:type="xsd:string">0.0000</hidden_tax_invoiced>
					<base_hidden_tax_invoiced xsi:type="xsd:string">0.0000</base_hidden_tax_invoiced>
				</item>
			</result>
		</ns1:salesOrderListResponse>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3.3 Alterar o status dos pedidos para os status aguardando_nota_fiscal ou aguardando_transporte (https://api.soulmkt.dev/sales_order.addComment.phtml) #

3.3.1 Pedido com Nota Fiscal #

Utilizando o método de inclusão de comentários, devemos forçar a atualização do status do pedido para aguardando_nota_fiscal. Dessa forma os pedidos não estarão mais na lista de pedidos pendentes.

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:salesOrderAddComment>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<orderIncrementId xsi:type="xsd:string">100000183-9</orderIncrementId>
			<status xsi:type="xsd:string">aguardando_nota_fiscal</status>
			<comment xsi:nil="true"/>
			<notify xsi:nil="true"/>
		</ns1:salesOrderAddComment>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • orderIncrementId: Informa o número do pedido que ira sofrer a atualização de status.
  • status : Informa o valor do status desejado(aguardando_nota_fiscal).

Resposta: #

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

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:salesOrderAddCommentResponse>
            <result xsi:type="xsd:boolean">true</result>
        </ns1:salesOrderAddCommentResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3.3.2 Pedido sem Nota Fiscal #

Se o pedido não tiver uma nota fiscal o pedido pode ser alterado para o status aguardando_transporte. Dessa forma os pedidos não estarão mais na lista de pedidos pendentes.

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:salesOrderAddComment>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<orderIncrementId xsi:type="xsd:string">100000183-9</orderIncrementId>
			<status xsi:type="xsd:string">aguardando_transporte</status>
			<comment xsi:nil="true"/>
			<notify xsi:nil="true"/>
		</ns1:salesOrderAddComment>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • orderIncrementId: Informa o número do pedido que ira sofrer a atualização de status.
  • status : Informa o valor do status desejado(aguardando_transporte).

Resposta: #

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

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:salesOrderAddCommentResponse>
<result xsi:type="xsd:boolean">true</result>
</ns1:salesOrderAddCommentResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3.4 Adicionar dados da Nota Fiscal para o pedido (https://api.soulmkt.dev/sales_order_nf.create.phtml) #

Atenção: Realizar esse passo somente caso o pedido tenha nota fiscal, do contrário, ir para o passo 3.5! #

Nesse passo vamos passar todos da nota fiscal para os itens do pedido.

Uma vez que a nota fiscal for informada para TODOS OS ITENS DO PEDIDO ele automaticamente será atualizado para o status nf_emitida.

XML

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:ns1="urn:Store"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:ns2="urn:OpenMage"
	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
	<SOAP-ENV:Body>
		<ns1:salesOrderNfCreate>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<orderIncrementId xsi:type="xsd:string">100000180-9</orderIncrementId>
			<chave_nf xsi:type="xsd:string">45454545464545446555654544646546565644444444</chave_nf>
			<link_nf xsi:type="xsd:string">https://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx</link_nf>
			<numero_nf xsi:type="xsd:int">174</numero_nf>
			<serie_nf xsi:type="xsd:int">1</serie_nf>
			<data_nf xsi:type="xsd:string">2023-01-01</data_nf>
			<hora_nf xsi:type="xsd:string">12:47</hora_nf>
			<items SOAP-ENC:arrayType="ns2:orderNfItem[1]" xsi:type="SOAP-ENC:Array">
				<item xsi:type="ns2:orderNfItem">
					<item_id xsi:type="xsd:string">305</item_id>
					<sku_marketplace xsi:type="xsd:string">bombacha-001</sku_marketplace>
				</item>
			</items>
		</ns1:salesOrderNfCreate>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • orderIncrementId: Informa o número do pedido que ira sofrer a atualização de status.
  • chave_nf : Chave da nota fiscal, que é uma string.
  • link_nf: Link para consulta da nota fiscal, uma string que aponta para uma URL.
  • numero_nf: Número da nota fiscal, um valor inteiro.
  • serie_nf: Série da nota fiscal, também um valor inteiro.
  • data_nf: Data de emissão da nota fiscal, uma string no formato YYYY-MM-DD
  • hora_nf: Hora de emissão da nota fiscal, uma string no formato HH:MM.
  • item_id: Identificador do item, uma string.
  • sku_marketplace: SKU (Stock Keeping Unit) do item no marketplace, uma string.

Resposta: #

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

XML

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Store" 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:salesOrderNfCreateResponse>
            <result xsi:type="xsd:int">1</result>
        </ns1:salesOrderNfCreateResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3.5 Informar os dados de rastreio do pedido (https://api.soulmkt.dev/sales_order_shipment.create.phtml) #

Nesse passo vamos informar os dados de rastreio do pedido.

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:salesOrderShipmentCreate>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<orderIncrementId xsi:type="xsd:string">100000180-9</orderIncrementId>
			<itemsQty SOAP-ENC:arrayType="ns1:orderItemIdQty[2]" xsi:type="SOAP-ENC:Array">
                <order_item_id>1</order_item_id>
                <qty>1</qty>
			</itemsQty>
			<comment xsi:type="xsd:string">Entrega</comment>
			<email xsi:nil="true"/>
			<includeComment xsi:nil="true"/>
		</ns1:salesOrderShipmentCreate>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • orderIncrementId: Informa o número do pedido que ira sofrer a atualização de status.
  • order_item_id :  Identificador do item da ordem que está sendo enviado.
  • qty: Quantidade do item que está sendo enviada.
  • comment: Um comentário ou observação associado ao envio, que é uma string. Neste caso, o valor é “Entrega”.
  • email: Campo para enviar um e-mail de notificação sobre o envio.
  • includeComment:  Campo para indicar se o comentário deve ser incluído em alguma notificação ou comunicação. 

Resposta: #

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

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:salesOrderShipmentCreateResponse>
            <shipmentIncrementId xsi:type="xsd:string">100000053</shipmentIncrementId>
        </ns1:salesOrderShipmentCreateResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3.6 Atualizar o pedido para o status completo ou para aguardando_confirmacao (https://api.soulmkt.dev/sales_order.addComment.phtml) #

3.6.1 Entrega do pedido com confirmação do cliente #

Caso o vendedor tenha uma integração para saber quando o pedido estará com o cliente, ele poderá atualizar o status do pedido para aguardando_confirmacao, e uma vez que o pedido estiver de fato com o cliente para complete.

Atenção: PARA ESSA OPÇÃO FUNCIONAR É NECESSÁRIO VERIFICAR SE O PROCESSO DE CONFIRMAÇÃO DE RECEBIMENTO ESTÁ HABILITADO NO MARKETPLACE, CASO O CONTRARIO VÁ PARA O PASSO 3.6.2 #

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:salesOrderAddComment>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<orderIncrementId xsi:type="xsd:string">100000183-9</orderIncrementId>
			<status xsi:type="xsd:string">aguardando_confirmacao</status>
			<comment xsi:nil="true"/>
			<notify xsi:nil="true"/>
		</ns1:salesOrderAddComment>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • orderIncrementId: Informa o número do pedido que ira sofrer a atualização de status.
  • status : Informa o valor do status desejado(aguardando_confirmacao).

Resposta: #

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

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:salesOrderAddCommentResponse>
            <result xsi:type="xsd:boolean">true</result>
        </ns1:salesOrderAddCommentResponse>
    </SOAP-ENV:Body>

Após o cliente confirmar a entrega do produto, deve-se alterar o status do produto para completo.

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:salesOrderAddComment>
			<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
			<orderIncrementId xsi:type="xsd:string">100000183-9</orderIncrementId>
			<status xsi:type="xsd:string">complete</status>
			<comment xsi:nil="true"/>
			<notify xsi:nil="true"/>
		</ns1:salesOrderAddComment>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • orderIncrementId: Informa o número do pedido que ira sofrer a atualização de status.
  • status : Informa o valor do status desejado(complete).

Resposta: #

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

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:salesOrderAddCommentResponse>
            <result xsi:type="xsd:boolean">true</result>
        </ns1:salesOrderAddCommentResponse>
    </SOAP-ENV:Body>

3.6.2 Entrega do pedido sem a necessidade de confirmação do cliente (https://api.soulmkt.dev/sales_order.addComment.phtml) #

Caso o seller não possua a funcionalidade de confirmação de pedido pelo cliente ativa em sua loja, basta atualizar o status do pedido para completo

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:salesOrderAddComment>
<sessionId xsi:type="xsd:string">1234567890abcdef1234567890abcdef</sessionId>
<orderIncrementId xsi:type="xsd:string">100000183-9</orderIncrementId>
<status xsi:type="xsd:string">complete</status>
<comment xsi:nil="true"/>
<notify xsi:nil="true"/>
</ns1:salesOrderAddComment>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Explicação dos Campos: #

  • sessionId: O token de autenticação obtido no passo anterior.
  • orderIncrementId: Informa o número do pedido que ira sofrer a atualização de status.
  • status : Informa o valor do status desejado(complete).

Resposta: #

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

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:salesOrderAddCommentResponse>
<result xsi:type="xsd:boolean">true</result>
</ns1:salesOrderAddCommentResponse>
</SOAP-ENV:Body>

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 realizar o processo de fluxo de pedido no Marketplace Soulmkt utilizando as APIs 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.