Woocommerce y API de proveedor

Un cliente a quien le manejo un woocommerce solo como catálogo, me dijo que 2 de sus proveedores tiene API para que pueda actualizar los productos directamente (je)
Bueno, me mandaron la info y no entiendo nada.

Quien sabe como implementar algo así?

gracias!

Tenes la documentación del API ?
Puedo cotizarte con esa información.

Saludos

Alex, Esta es una:

Te paso el link para que se lo envíes a tu diseñador y puedas utilizar el API en tu web.

Entorno Producción

Token para API: oTmCTEr4reXFUrlbzWM5RA

· Url API Argentina: http://api.argentina.cdopromocionales.com/v1/products?auth_token=oTmCTEr4reXFUrlbzWM5RA

Entorno Pruebas

Token para API: Ny8WOEdrmCwBJ3-U-oOYtg

Url API http://api.argentina.cdo.dev.yellowspot.com.ar/v1/products?auth_token=Ny8WOEdrmCwBJ3-U-oOYtg

Documentación (y pureba en con este token): http://cdo-api-docs.herokuapp.com/cdo

A tener en cuenta:

La API permite transferir la información de la web de CDO hacia el sitio del cliente.

La API sincroniza automáticamente, esto quiere decir que cuando nosotros generamos un producto nuevo, de forma inmediata refleja en el sitio del cliente.

De que manera se realiza la transferencia de los datos?

Al cliente se le asigna la api (se hace desde el backend) y esto genera un código, el cual se debe pegar en el cuerpo del sitio interesado. De esta manera en algunos instantes toda la información de CDO se verá refleja en la web del cliente.

SERVICIO END-POINT PARA PRODUCTOS Y STOCK
Sistema DIFAPRO

Objetivo del documento

Definir la interfaz del servicio tipo REST mediante el cual deben integrarse las webs de clientes.

Información sobre la interfaz

Status

Los servicios usan status de HTTP como resultado.

Por ejemplo, el status 200 corresponde a ejecución exitosa; el status 400 se devuelve cuando la operación no puede realizarse por razones del negocio (e.g. saldo insuficiente); etc. En cada servicio más abajo se especifica el detalle.

Autenticación

La autenticación se realiza enviando en cada request el ID de usuario y un TOKEN de acceso mediante GET como parte de la url.

Estas url deben tener los valores que DIFAPRO haya asignado al sistema que interactúa.

Es posible de ser necesario integrar autentificación por Oauth.

OUTPUT de datos

  1. Listado completo de productos: devuelve en formato JSON, la lista de productos disponibles para solicitar, con categorías, galería de imágenes y precio ya con el descuento como cliente aplicado.

  2. Producto individual: devuelve en formato JSON los datos completos de un producto específico: categorías, galería de imágenes y precio ya con el descuento como cliente aplicado.

Listado completo de productos

GET / api/products/?userID= SU USER ID &t= SU TOKEN &productID=*

response: Se especifica el status http y su significado, junto con la respuesta esperable.

200 => OK, junto con el resultado:

[

{

 "productID": 58,

 "lastUpdate": "25/09/2018 12:00:02 p.m.",

 "nameCode": "K01",

 "name": "Estuche Funda pen",

 "prices": {

"netPrice": 0.175,

"userPrice": 0.12

},

 "sku": "01012000690",

 "description": "Estuche Funda pen. <br>Confeccionado en Pana negra. <br>Medidas: 14.5 x 3 cms.",

 "customFields": {

"new": "False",

"sale": "False",

"reEntry": "False",

"boxSize": "0.38*0.347*0.22",

"boxVolume": "0,03 m3",

"boxWeight": "12 Kg",

"unitsBox": "5000"

 },

 "tags": [

"funda",

"pana",

"k 01" ],

 "categories": [

{

"categoryID": 1,

"name": "ESCRITURA",

"subcategory": "ESTUCHES"

}

 ],

 "models": [

{

"colorId": 134,

"availableStock": 70201,

"stock": 70201,

"color1": "Negro",

"color1-font-color": "FFFFFF",

"color1-background-color": "000000",

"color2": "",

"color2-font-color": "",

"color2-background-color": ""

}

 ],

 "images": [

{

"thumbnail": "k01f-01.jpg",

"photo": "k01f.jpg"

}, {

"thumbnail": "k01d-01.jpg",

"photo": "k01d.jpg"

}

 ]

} ]

403 => no se ha especificado alguno de los parámetros necesarios por GET, o es inválido

50x => error técnico que impide el procesamiento. Reintentar más tarde.

Producto específico

GET / api/products/?userID= SU USER ID&t= SU TOKEN &productID= ID DE PRODUCTO

response: Se especifica el status http y su significado, junto con la respuesta esperable.

Misma respuesta que el listado, solo que el JSON contiene un solo product en vez de un array de productos.

Implementación y testeo

La url de implementación son:

https://difapro.com/api/products/?userID=XX&t=XX&productID=*

https://difapro.com/api/products/?userID=XX&t=XX&productID=XX

el User ID y el Token deben ser solicitados a su ejecutivo de ventas quien se los enviará.

Las URL de testing son :

66.70.167.173:8080/__test/api/products/?userID=XX&t=XX&productID=*

66.70.167.173:8080/__test/api/products/?userID=XX&t=XX&productID=XX

Repositorio de imágenes

Todas las imágenes de productos se encuentran en la url https://articulos.com.ar/productos

Alex, cómo estás? Tengo un tema similar con una API de un sistema de contaduría. Si te paso la data vos podes cotizarme el trabajo, es conectar woocommerce con xubio.com
Decime dónde puedo contactarte y hablamos. Slds
David

pudiste hacerlo? sino te lo cotizo.

Al final contrato Contabilium que tiene ya plugin con wordpress. Gracias , igual los tengo de contacto porque de api rest hay laburo.

Garcias

Hola , si con este foro porque tenemos on woocommerce y queremos integrarlo mediante API a nuestro sistema de gestión ( tango axoft) me gustaría tener contacto con alguno que pueda realizar dicho trabajo.

contactame te dejo la web https://wanderlust-webdesign.com/contact

Buenas noches, que tal, consulta, yo tengo actualmente otro sistema, y si bien funciona bien y tienen buena atención, la integración con woocommerce es limitada porque le faltan muchas funciones relevantes, arbol de subcategorias, tags, variaciones con precio, etc.
En cuanto a Contabilium según estoy leyendo el asesoramiento deja mucho que desear, vos tuviste buena atención de su parte?
Gracias, slds, Julián

1 me gusta

Hola, soy Diego Miranda de LAMASON. Para integrar WooCommerce con Tango, les sugiero mirar Sync On Me en synconme.com. Usamos esta herramienta para sincronizar órdenes, precios y stock de manera eficiente, sin los problemas de rendimiento típicos de algunos plugins. Realmente funciona muy bien y simplifica mucho el proceso.

@mparraud me sumo con algunas ideas y posibilidades.

La info de productos que se obtiene al consultar la API no es tanta. Quizás se puede utilizar un CRON para guardar eso en un transient con info actualizada de los productos ya que pudieran tener variaciones de precios, etc, cada x cantidad de días.

Al post type de products se le puede agregar campos de ACF para indicar si es necesario hacer un sync con alguna API ( dado que mencionaste que por lo pronto tienen 2 proveedores distintos, pero imaginemos que pudieran ser más algún día ).

Basado en el proveedor haces la consulta teniendo el “code” que pudiera ser el punto en común de tu producto en Woo y el producto del proveedor. Obtenés las info necesaria del transient, y guardas el post.

Screenshot 2024-11-19 at 10.22.16 PM

Otra opción puede ser hacer la consulta antes de guardar el post y no guardar el transient. Pero se me ocurre que podría prestarse más a errores en caso de fallos.

Otra opción puede ser agregar una vista en el admin para hacer en sync de los datos y que no tengas que hacerlo uno por uno. Dependiento el proveedor y code asignado, en caso de estarlo, actualizas todos los productos juntos.

Espero que puedan servirte las ideas. En la práctica pudieran encontrarse otros casos, pero rápidamente se me ocurre esto.

Si avanzás con el desarrollo avisame, que me interesaría conocer cuál fué la resolución.

Un abrazo.