El blog de LiveCommerce

Un blog de comercio electrónico y tiendas online

Primer acercamiento a la API de CDiscount

CDiscount es probablemente el segundo marketplace que genera más ventas en Francia.
Vender en Francia es una opción de expansión para el comerciante minorista.

En éste post escribiré aspectos sobre la API de CDiscount porque quiero documentar un primer contacto.


Enlaces importantes:

Documentación en inglés de la API de CDiscount: https://dev.cdiscount.com/marketplace/
El SDK-PHP para utilizar la API de CDiscount: https://github.com/Cdiscount/API-MarketPlace-SDK-PHP
 - Tiene muy buena pinta.


Conceptos a tener en cuenta:

¿Subir "Producto"? ¡No! Lo que necesitas es subir "Oferta"

Lo primero que busco es cómo se pueden subir productos a CDiscount. Me vuelvo loco buscando, no encuentro nada. 
Con paciencia, comienzo a leer la documentación desde el principio. Y recalco desde el principio porque es lo que hay que hacer por favor. Leer la documentación con calma desde el principio. Hasta que encuentro que el concepto de subir producto, para CDiscount es subir una oferta (offer), no subir producto. Cuando tienes claro esto has superado una barrera importante.

Te explico:

Para CDiscount, un producto es un producto, lo mismo que para ti y para mi. 
Si quieres subir un producto, significa que CDiscount no tiene ese producto entre los 40 millones de productos que hay en su catálogo.
Con lo cual, para subir un producto a CDiscount debes pedirles permiso. No parece tarea facil.

Lo que la mayoría de comerciantes necesitan es subir ofertas (porque el producto probablemente ya exista en CDiscount), lo que ellos llaman "Offers".
Subir una oferta es lo que para nosotros (programadores de España) significa subir un producto.
Creo que CDiscount lo conceptualiza bien. Realmente no subes un producto. El producto ya está creado en CDiscount. Lo que subes es la oferta que tu haces sobre ese producto (precio, gastos de envío, tiempo, etc...).

CDiscount define del siguiente modo lo que para ellos es una "Offer":
The concept of offers may be defined as the intersection between the concept of product and the concept of seller: each vendor define an offer to a given product, by providing for example its selling price, its delivery price …


SubmitOfferPackage:

Descubro facilmente los métodos de la API relacionados con "Offers" y encuentro la función: SubmitOfferPackage
https://dev.cdiscount.com/marketplace/?page_id=84

Comienzo a mirar los parámetros que hay que pasarle a dicho método... y bueno... locura.  Me doy cuenta de que el parámetro que se le debe pasar al método SubmitOfferPackage es una URL que cargue un XML con la estructura de la oferta. Aquí es cuando ya comienzo a flipar. Pero bueno, pensándolo bien, no es ninguna mala idea porque desencapsula el código y lo hace más limpio. Así por un lado generas el código que devuelve por URL el XML de una oferta, y por otro lado gestionas el código de la API. Después de analizarlo me gusta. 

El problema es que no consigo encontrar el formato de ese XML, hasta que por fin doy con él.
En éste enlace https://dev.cdiscount.com/marketplace/?page_id=1198 dencontrarás dos enlaces al principio de la página. Esos enlaces descargan un archivo ZIP cada uno que contiene el XML que buscas.














Compártelo:

¿Tienes alguna consulta?

Si tienes alguna pregunta o sabes la respuesta sobre algún comentario, no dudes en contribuir.
Responderemos rápidamente.
Puedes utilizar etiquetas BBCode para escribir negrita, enlaces, imágenes, etc...
Más información en la página oficial de BBCOde http://www.bbcode.org/ Ejemplo:
[url=http://google.com]links[/url], [color=red]colores[/color] [b]negrita[/b]...

¿Has visto los videos en nuestro canal de Youtube?

En nuestro canal de Youtube publicamos periódicamente mejoras y funcionalidades del software de ecommerce.