O que é necessário para realizar a integração com o ERP?

Para realizar a integração com o ERP, é necessário solicitar o endereço do wsdl de sua loja, login e senha através de nosso helpdesk.

Para testar o webservices, Sugerimos a utilização da ferramenta: SoapUI Open Source, que pode ser baixada em: https://www.soapui.org/downloads/soapui/


Adicionando o WSDL no SOAP UI


Observação

Na utilização de todos os métodos, os 2 primeiros parâmetros devem ser o login e senha respectivamente.


Criado um novo produto.

Além do login e senha, o método utilizado para cadastrar um novo produto é o: setProduct, onde os parâmetros, com exceção do login e senha são todos opcionais.

Se parâmetro inteiro: productId se for vazio, conforme o exemplo, é gerado um número inteiro automaticamente na sequência do banco de dados da MKX, nesse caso é necessário informar o código (string) no parâmetro: productCode para identificar o produto futuramente. Outra opção seria informar apenas o productId (inteiro) e deixar o productCode em branco, nesse caso usaria apenas o productId para identificar o produto. Podemos também informar ambos: productId e productCode e ter as duas opções para identificar o produto. Tanto o productId quanto o productCode são chaves únicas e identificam um produto.

Além do parâmetros productId e productCode que identifica o produto, temos o productName (nome do produto), description (descrição principal html do produto), metaDescription (descrição resumida do produto, aparece no resultado de pesquisa do google), keywords (palavras chaves para busca da loja, separar por virgulas), price (preço de venda do produto), weight (peso do produto em quilos), length (comprimento do produto em centímetros), width (largura do produto em centímetros), height (altura do produto em centímetros), supply (quantidade de estoque do produto), period (prazo em dias, se for zero, quando acaba o estoque, o produto fica indisponível, caso contrário continua vendendo sem estoque somando no prazo de entrega o valor informado), status (1 o produto está ativo, 0 o produto fica inativo), vídeo (código do vídeo do youtube).

Consultando informações de um produto.

Agora vamos obter informações do produto teste que criamos no exemplo anterior, com o productCode: COD_TESTE, observe que gerou o productId = 1323794, onde o productCode é o code e o productId é o id do produto, a consulta também pode ser feita informando apenas o productId


Alterando os dados de um produto

O mesmo método utilizado para criar o produto é utilizado para alterar, o setProduct. A diferença é que se o productCode ou productId informado exista na MKX, o produto é atualizado e não mais cadastrado. Na figura abaixo, foram alterados apenas o preço e o estoque do produto, os parâmetros que não foram preenchidos, não são alterados na MKX. Para alterar um produto, também podemos utilizar o parâmetro: productId


Criando um grupo de variação.

No exemplo abaixo, usamos o método: setSku e cadastramos um grupo de variação: Cor, com o id = 1, caso o id já exista na MKX, o grupo é alterado e não mais cadastrado, podemos também criar grupos como: Tamanho, Voltagem e etc...


Criando uma opção de variação.

No exemplo abaixo, usamos o método: setSkuOption e cadastramos um opção de variação: Azul, com o id = 1, no grupo criado acima: Cor = 1, cadastramos a cor Azul no grupo: Cor, caso o id já exista na MKX, a opção é alterada e não mais cadastrado, os parâmetros: color e img são para representar a opção, no caso do color, é a cor em hexadecimal e o img é uma imagem em base64, ambos parâmetro são opcionais. Podemos criar também opções em outros grupos, como: opção GG no grupo Tamanho e 110v no grupo: Voltagem.


Vinculando uma opção de variação a um produto.

No exemplo abaixo, usamos o método: setProductVariable, vamos vincular a opção de variação: Azul, com o id = 1 (optionId), com o produto de código = COD_TESTE (productCode), nesse caso é importante criar um código único que identifique essa variação futuramente, pois vamos precisar alterar informações dessa opção do produto, caso contrário teremos que trabalha somente com os ids. No exemplo abaixo, criamos o código de opção único = COD_TESTE_AZUL na opção optionId = 1 (Azul). O optionId2 é opcional, caso o produto possua duas opções, exemplo: Cor: Azul, Tamanho: GG, informaria o id do tamanho: GG no optionId2.


Consultando a opção criada no produto.

Observe na figura abaixo a consulta do produto: COD_TESTE está com a opção Azul que vinculamos.


Alterando a opção de um produto.

No exemplo abaixo, usamos o mesmo método: setProduct para alterar o estoque da cor: Azul para: 5, do produto: COD_TESTE, para isso informamos o código: COD_TESTE_AZUL no parâmetro: productCode, os parâmetros não informados não são alterados, todos opicionais.

Outra forma para alterar o estoque da mesma opção do exemplo acima, seria através do productId, conforme a imagem abaixo, nesse caso foi informado o id do produto e o id da variação separado por pontos, no caso se o produto tivesse 2 variações, ficaria: 1323794.1.2 seguindo o padrão: id_produto . id_opcao1 . id_opcao2 (produto teste, cor: Azul, tamanho: GG)


Retornado a listagem de pedidos para integrar

O método: getOrders (no plural) retorna os códigos (ids) dos pedidos que precisam ser baixados para o ERP, além dos parâmetros de login e senha, podemos informar o: statusId, nesse caso irá retornar apensa os pedidos do status informado. Caso o statusId for vazio ou não informado, retornará todos os pedidos independente do status. Os statusId da MKX são configurados como padrão conforme a lista abaixo, porém o cliente pode criar novos status, nesse caso precisa ser solicitado a MKX os novos status.
  • statusId / Nome
  • 1 / Aguardando pagamento
  • 2 / Aguardando confirmação do pagamento
  • 3 / Pagamento confirmado
  • 4 / Enviado
  • 5 / Cancelado pela loja
  • 6 / Cancelado pelo cliente
  • 7 / Cancelamento em análise
  • 8 / Entregue


Obtendo informações de um pedido

O método: getOrder (no singular), é utilizado para obter todas as informações de um determinado pedido, o parâmetro: orderId é o código do pedido retornando no método: getOrders (no plural).


Confirmando o recebimento do pedido

Quando um pedido é baixado através do getOrder e salvo no sistema ERP, para evitar baixar o mesmo pedido novamente e para não lotar o número de pedidos no getOrders, podemos remover ele da fila de integração, ou seja, o pedido (orderId) informado no setOrder ou setOrders, não irão mais aparecer no retorno do método getOrders.


Alterando as informações de um pedido.

O método: updateOrder é utilizado para alterar as informações de status, dados fiscais e informações de envio de um determinado pedido: orderId. Os parâmetros são todos opcionais. Podemos utilizar o método updateOrder apenas para alterar o status do pedido, apenas para incluir um código de rastreio ou todas as informações ao mesmo tempo. Os parâmetros que estiverem em branco ou não informado, serão desconsiderados.

Os parâmetros conforme a imagem a seguir possuem nomes intuitivos, tipo de dados e formato necessário, se parâmetro: enviarEmail, se for igual a 1 (um), será enviado um e-mail ao cliente sobre o status de seu pedido, se o enviarEmail for igual a 0 (zero), não envia o e-mail.