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/
Na utilização de todos os métodos, os 2 primeiros parâmetros devem ser o login e senha respectivamente.
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
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
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...
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.
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.
Observe na figura abaixo a consulta do produto: COD_TESTE está com a opção Azul que vinculamos.
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)
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).
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.
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.