Esta documentación tiene como objetivo guiarte paso a paso en el proceso de actualización del precio de un producto en una tienda del Marketplace Soulmkt utilizando las APIs V1 y V2. Incluso si no tienes familiaridad con el proceso, esta explicación detallada te ayudará a entender cómo realizar la tarea.
1. Introducción
El Marketplace Soulmkt ofrece dos versiones de API (V1 y V2) para interactuar con el sistema y realizar operaciones como la actualización de precios de productos. Ambas versiones utilizan el protocolo SOAP (Simple Object Access Protocol) para enviar y recibir datos en formato XML.
Aquí abordaremos cómo actualizar el precio de un producto utilizando las APIs V1 y V2, con ejemplos de solicitudes XML que pueden ser enviadas usando herramientas como Postman.
2. Requisitos Previos
Antes de comenzar, asegúrate de tener:
- Acceso a la API del Marketplace Soulmkt: necesitarás credenciales de acceso (usuario y contraseña) para obtener un sessionId, que es necesario para autenticar las solicitudes.
- Identificador del Producto: El SKU (Stock Keeping Unit) o ID del producto que deseas actualizar.
- Herramienta para Enviar Solicitudes: Se recomienda el uso de Postman u otra herramienta que permita enviar solicitudes SOAP.
3. Paso a Paso para Actualización de Precio
3.1. Obtención del sessionId
Antes de realizar cualquier operación en la API, necesitas obtener un sessionId para autenticar tus solicitudes. Esto se hace a través de una llamada de login a la API.
<?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">usuario</username>
<apiKey xsi:type="xsd:string">contraseña</apiKey>
</ns1:login>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Ejemplo de Solicitud para Login:
<SOAP-ENV:Envelope> <SOAP-ENV:Body> <ns1:loginResponse> <result xsi:type="xsd:string">1234567890abcdef1234567890abcdef</result> </ns1:loginResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Guarda este sessionId para usar en las próximas solicitudes.
3.2. Actualización de Precio en la API V2
La API V2 del Marketplace Soulmkt utiliza una estructura más directa para actualizar el precio de un producto. A continuación se muestra un ejemplo de cómo hacerlo.
Ejemplo de Solicitud para Actualizar Precio (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">producto-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>
Explicación de los Campos:
- sessionId: Token de autenticación obtenido en el paso anterior.
- product: SKU o ID del producto a actualizar.
- productData: Contiene los datos del producto, incluyendo el nuevo precio.
- price: Nuevo precio del producto.
Respuesta:
Si la actualización se realiza correctamente, recibirás una respuesta 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. Actualización de Precio en la API V1
La API V1 utiliza una estructura ligeramente diferente, donde los datos del producto se pasan en un formato de mapa (Map).
Ejemplo de Solicitud para Actualizar Precio (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">producto-sk123</item>
<item xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">Precio</key>
<value xsi:type="xsd:string">150.00</value>
</item>
</item>
</args>
</ns1:call>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Explicación de los Campos:
- sessionId: Token de autenticación obtenido en el paso anterior.
- resourcePath: Ruta del recurso de la API que se llamará (catalog_product.update).
- args: Lista de argumentos, donde:
- El primer elemento es el SKU o ID del producto.
- El segundo elemento es un mapa (Map) que contiene los campos a actualizar (en este caso, el precio).
Respuesta:
Si la actualización se realiza correctamente, recibirás una respuesta 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. Consideraciones Finales
- Pruebas: Siempre prueba tus solicitudes en un entorno de desarrollo antes de aplicarlas en producción.
- Errores Comunes: Verifica si el sessionId es válido y si el SKU del producto es correcto. Los errores de autenticación o SKU incorrecto son las causas más comunes de fallas.
- Herramientas: Utiliza herramientas como Postman para facilitar el envío y la visualización de las respuestas de las solicitudes.
Con esta documentación, estarás listo para actualizar el precio de productos en el Marketplace Soulmkt utilizando las APIs V1 y V2. Si tienes alguna duda, ponte en contacto con el equipo de soporte.
Nota: Los datos utilizados en los ejemplos son ficticios y deben ser reemplazados por los valores reales de tu entorno.