Avisos
Vaciar todo

[Resuelto] Una de Woocommerce y su API REST  

 
Francisco García
 Francisco García
Usuario activo

Buenos tardes a todos, espero me puedan ayudar,  

Tengo desarrollado un ERP con enlace a Woocommerce a traves de su API REST, lo tengo funcionando en 2 tiendas, y su funcionamiento consta de lo siguiente. 

Subo productos con sus precios, imagenes etc. y descargo Clientes, Productos si han sido creados en la tienda y no estan en el ERP y como no, pedidos de los clientes.

el problema es que de buenas a primeras en una de las tiendas me ha dejado de funcionar la escritura. 

no me sube los productos, y no me escribe en los pedidos un meta_data para controlar que ese pedido ya esta sincronizado y no me lo vuelva a bajar, el caso es que sigue bajandome y sincronizando correctamente los clientes, los articulos desde la tienda al ERP y los pedidos tambien me los crea en el ERP. 

controlando las respuestas del servidor SIEMPRE me da 200, lo que nunca me tira error pero no hace la escritura en la tienda. 

esto lo he hablado con soporte del hosting y no hay nada raro ni reglas ni nada que corten la conexion y de hecho no me tira errores como os comento. 

en los plugins de la tienda solo puse uno nuevo de proteccion de datos, lo he probado desactivado y he desactivado casi todos los plugins y nada no me hace la escritura. 

a ver si alguien le ha pasado esto o si podeis indicarme donde seguir buscando por que no doy con el problema. 

Un saludo y gracias por vuestra ayuda.

Contenido solo visible a usuarios registrados

Respondido : 11/01/2021 11:55 am
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Francisco,

Puedes indicarnos cual es el ERP que estas usando para realizar la integración con tu tienda? Si es posible indícanos mas detalles sobre la herramientas que usas de esta forma podemos verificar con mayor detalle lo que nos comentas

Un Saludo

Respondido : 11/01/2021 12:23 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Francisco García
 Francisco García
Usuario activo

@karen gracias por el interes, el ERP es de fabricacion propia, esta desarrollado con VELNEO y estoy usando HTTPREQUEST,  envio y recibo json 

el caso como comento arriba en otra instalacion de otro woocommerce esta funcionando todo y en esta lo hace todo menos escribir, o sea no me tira errores siempre me da respuestas 200 pero no escribe a traves del API REST 

en esta instalacion la ultima vez que lo probe funcionaba correctamente, lo he dejado casi un mes sin usar y ahora que me habia puesto a hacer la implantacion final y descarga de toda la informacion es cuando he visto que no escribia. 

si haces una llamada con postman tampoco me tira errores 

 

Respondido : 11/01/2021 12:47 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Francisco,

En este caso lo mejor sería contactar con el desarrollador, es posible que exista incompatibilidad entre el código y algún plugin que se actualizase, o el mismo core de wordpress al actualizarse a su última versión.

Al ser un ERP personalizado hecho a medida es mas probable se solucione directamente en este.

Un saludo 🖐️ 

Respondido : 11/01/2021 1:06 pm

Cursos Gratuitos WordPress

Francisco García
 Francisco García
Usuario activo

@argenis Gracias por el interes, el ERP lo estoy desarrollando yo mismo, por eso te puedo asegurar que el codigo esta bien y de hecho lo tengo montado en otro woocommerce y funciona a la perfeccion, lectura y escritura acabo de hacer unas capturas de pantalla para que lo podais ver que una imagen vale mas que mil palabras.

004 CONTROL DEL SERVIDOR DE ERP CON TRANSACCIONES OK
003 RESPUESTA DEL SERVIDOR STATUS 200
002 JSON ENVIO MODIFICAR METADATA
006 ALTA DE PEDIDOS
007 NO ESCRITO EN WOOCOMMERCE
001 url solicitud de pedido 614
005 ALTA DE PEDIDOS CORRECTOS

 

EDITO 

las imagenes no se han cargado en orden pero estan numeradas, ni que decir queda que la del 200 es la respuesta del servidor se supone que despues de haber insertado la meta_data,  es muy raro es como si no tuviese permisos de escritura pero tampoco tira error al hacer la escritura, 

la otra opcion que no me funciona es la subida de articulos obviamente, no me tira error, me da status 200 tambien pero tampoco los crea en el woocommerce. 

como he comentado antes en la otra tienda exactamente igual me funciona a la perfeccion. 

las claves de la api por supuesto estan como lectura/escritura 

la verdad no se si cortarme las venas, o dejarmelas largas,  me tiene desesperado. 

Gracias por vuestra ayuda.

Esta publicación ha sido modificada el hace 10 meses por Francisco García
Respondido : 11/01/2021 1:21 pm
Francisco García
 Francisco García
Usuario activo

vuelvo a introducir las imagenes pero esta vez de la instalacion que funciona correctamente para que veais la diferencia 

005 ALTA DE 1 PEDIDO CORRECTO
006 PEDIDO CREADO, LOS DATOS MOSTRADOS SON FICTICIOS
004 STATUS DE RESPUESTA 200
002 url que envio a la API
001 pedido antes de sincronizar
007 ESCRITURA EN PEDIDO WOOCOMMERCE CORRECTO
003 JSON QUE ENVIO PARA MODIFICAR PEDIDO EN WOOCOMMERCE

por esto es por lo que estoy seguro que lo que esta fallando es el woocommerce si o si. 

he desactivado todos los plugins que no eran indispensables por si acaso y da igual sigue sin escribir. 

podria ser que alguna carpeta del servidor donde este parte de la api este con los permisos mal? 

 

saludos y gracias por la ayuda

Respondido : 11/01/2021 1:37 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Moderator

Hola Francisco.

El estado 200 es de comunicación ok es decir que las peticiones entre la aplicación y el servidor se realizaron bien.

No veo problemas de bloqueos, recursos o permisos por lo que parece que todo esté bien, si que veo que tuviste problemas de recursos pero parece que ya están estables:

[Mon Jan 11 05:13:25.769822 2021] [hostinglimits:error] [pid 2239717] mod_hostinglimits: Error on LVE enter: LVE(548) 
HANDLER(application/x-lsphp74) HOSTNAME(www.cursos.escuelacosmeticanaturalyojaranature.com)
URL(/pluginfile.php/129/course/summary/CREMA ANALGESICA.jpg) TID(2239717) errno (7) Read more: http://e.cloudlinux.com/MHL-E2BIG min_uid (500)

 

Si crees que el problema puede estar en WooCommerce puedes bajar de versión y probar si con una versión inferior se soluciona:

-> https://es.wordpress.org/plugins/wp-rollback/

 

A nivel de instalación solo veo un error pero no creo que afecte a lo que comentas:

[11-Jan-2021 12:21:37 UTC] PHP Fatal error:  Uncaught Error: Call to a member function clear_cache() on null 
in /home2/buenaveg/public_html/escuelacosmeticanaturalyojaranature.com/wp-content/plugins/addon-elements-for-elementor-page-builder/elementor-addon-elements.php:79


Este error hace referencia al plugin " addon-elements-for-elementor-page-builder " puedes probar a desactivarlo.

 

Un saludo

Respondido : 11/01/2021 2:45 pm
Francisco García
 Francisco García
Usuario activo

@pepesoler gracias por la ayuda, no pienso que sea de la version de woocommerce ya que en ambas instalaciones, que muestro arriba del error y el funcionamiento correcto, son la misma version tanto en Woocommerce como en Wordpress, he desactivado el plugin que me has comentado y sobre el wp-roolback me da miedo hacerlo ya que esta tienda esta en produccion y no vayamos a tonterias. 

 

Respondido : 11/01/2021 5:20 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Francisco,

En ese caso puedes probar realizar un clon del sitio web y realizar las pruebas dentro de este y no en producción, de esta forma puedes comprobar y realizar las pruebas sin correr el riesgo de afectar la tienda que esta en vivo.

En este articulo tienes información como realizar un clon desde tu cPanel  -> https://www.webempresa.com/blog/clonar-wordpress-en-3-clics-sin-perder-tiempo.html

Ten en cuenta que al ser un código desarrollado a la medida no podemos comprobar su funcionamiento ni lo que puede estar causando el error

Un Saludo

Respondido : 11/01/2021 5:23 pm
Francisco García
 Francisco García
Usuario activo

@karen gracias por tu ayuda, he realizado un clon de la tienda y nada todo sigue igual, he desactivado plugins, he retrasado la version del woocommerce y nada todo sigue igual, no hay modo que esto escriba, 

a ver si se os ocurre algo diferente y ya os digo que la programacion del ERP no es por que la tengo mas que comprobada y funciona en otra tienda exactamente igual. 

Gracias por vuestra ayuda

Respondido : 11/01/2021 8:00 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

La respuesta 200 no necesariamente significa que se ha realizado las actualizaciones, simplemente indica que la petición que querías se ejecutó. Tendrías que comprobar la respuesta Json.

Entiendo que estas haciendo un proceso por lotes, algo que podrías probar es actualizar un único producto y ver la respuesta que te da, revisa:

https://woocommerce.github.io/woocommerce-rest-api-docs/#update-a-product

Debería darte un json con la actualización.

Lo otro que puedes probar es hacer un script de prueba a parte en PHP, en tu máquina local, y verificar si el proceso por lotes esta funcionando correctamente, puedes guiarte del siguiente artículo:

https://decodecms.com/actualizar-el-stock-de-productos-usando-la-api-de-woocommerce/

Ten en cuenta que desde este foro sólo podemos darte generalidades, ya que no vemos temas específicos de programación.

Saludos.

Respondido : 11/01/2021 9:00 pm
Francisco García
 Francisco García
Usuario activo

@jmarreros buenos dias, gracias por tu ayuda 

te voy a pasar respuesta json de la tienda que si me funciona y la parte que no hace en esta que os comento. 

pudiera ser de la cache?  tengo activo el varnish y la cache de webempresa 

{
"id": 746,
"parent_id": 0,
"number": "746",
"order_key": "wc_order_jf2t8Xl5wWMht",
"created_via": "checkout",
"version": "4.8.0",
"status": "completed",
"currency": "EUR",
"date_created": "2021-01-10T16:38:00",
"date_created_gmt": "2021-01-10T16:38:00",
"date_modified": "2021-01-12T07:11:43",
"date_modified_gmt": "2021-01-12T07:11:43",
"discount_total": "0.00",
"discount_tax": "0.00",
"shipping_total": "5.00",
"shipping_tax": "1.05",
"cart_tax": "5.25",
"total": "36.30",
"total_tax": "6.30",
"prices_include_tax": false,
"customer_id": 8,
"customer_ip_address": "213.194.136.235",
"customer_user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",
"customer_note": "ESTO ES UNA NOTA DE PEDIDO",
"billing": {
"first_name": "PEDRO",
"last_name": "JIMENEZ",
"company": "",
"address_1": "REAL DE MALAGA",
"address_2": "",
"city": "LAS GABIAS",
"state": "GR",
"postcode": "18110",
"country": "ES",
"email": "pedro@jimenez.com",
"phone": "958958958"
},
"shipping": {
"first_name": "PEDRO",
"last_name": "JIMENEZ",
"company": "",
"address_1": "REAL DE MALAGA",
"address_2": "",
"city": "LAS GABIAS",
"state": "GR",
"postcode": "18110",
"country": "ES"
},
"payment_method": "cod",
"payment_method_title": "Contra reembolso",
"transaction_id": "",
"date_paid": "2021-01-10T16:38:31",
"date_paid_gmt": "2021-01-10T16:38:31",
"date_completed": "2021-01-10T16:38:31",
"date_completed_gmt": "2021-01-10T16:38:31",
"cart_hash": "661f2c6b80acb52cbeb69b78d1978969",
"meta_data": [
{
"id": 3946,
"key": "_billing_nif",
"value": "35265326J"
},
{
"id": 3947,
"key": "_shipping_nif",
"value": "35265326J"
},
{
"id": 3948,
"key": "_shipping_phone",
"value": "958958958"
},
{
"id": 3949,
"key": "_shipping_email",
"value": "pedro@jimenez.com"
},
{
"id": 3950,
"key": "is_vat_exempt",
"value": "no"
},
{
"id": 3951,
"key": "_yith_wcaf_referral_history",
"value": ""
},
{
"id": 3960,
"key": "_ywpi_invoice_number",
"value": "1"
},
{
"id": 3961,
"key": "_ywpi_invoiced",
"value": "1"
},
{
"id": 3962,
"key": "_ywpi_invoice_prefix",
"value": "Factura_"
},
{
"id": 3963,
"key": "_ywpi_invoice_suffix",
"value": ""
},
{
"id": 3964,
"key": "_ywpi_invoice_number",
"value": "1"
},
{
"id": 3965,
"key": "_ywpi_invoice_formatted_number",
"value": "Factura_/1/"
},
{
"id": 3966,
"key": "_ywpi_invoice_date",
"value": "2021-01-10 16:38:31"
},
{
"id": 3967,
"key": "_ywpi_invoice_path",
"value": "Factura_1.pdf"
},
{
"id": 3968,
"key": "_ywpi_invoice_folder",
"value": "Invoices"
},
                       {
                            "id": 3982,
                             "key": "tiendaPedidoID",    ----  KEY QUE BUSCO PARA NO VOLVER A SINCRONIZAR EN CASO QUE EXISTA
                             "value": "1"                      ----  EL VALOR ES EL NUMERO DE PEDIDO EN EL ERP 
                        }   ----------------------------------- ESTE BLOQUE CUANDO HAGO LA OPERACION EN LA TIENDA QUE FALLA NO ME LO DEVUELVE. SI ME DA EL RESTO
],
"line_items": [
{
"id": 77,
"name": "ANILLO DE ORO",
"product_id": 745,
"variation_id": 0,
"quantity": 1,
"tax_class": "",
"subtotal": "25.00",
"subtotal_tax": "5.25",
"total": "25.00",
"total_tax": "5.25",
"taxes": [
{
"id": 1,
"total": "5.25",
"subtotal": "5.25"
}
],
"meta_data": [
{
"id": 589,
"key": "_ywpi_product_regular_price",
"value": "25.000000",
"display_key": "_ywpi_product_regular_price",
"display_value": "25.000000"
},
{
"id": 590,
"key": "_ywpi_product_sku",
"value": "ART_1",
"display_key": "_ywpi_product_sku",
"display_value": "ART_1"
},
{
"id": 591,
"key": "_ywpi_product_short_description",
"value": "",
"display_key": "_ywpi_product_short_description",
"display_value": ""
}
],
"sku": "ART_1",
"price": 25,
"parent_name": null
}
],
"tax_lines": [
{
"id": 79,
"rate_code": "%IVA 21-1",
"rate_id": 1,
"label": "%IVA 21",
"compound": false,
"tax_total": "5.25",
"shipping_tax_total": "1.05",
"rate_percent": 21,
"meta_data": []
}
],
"shipping_lines": [
{
"id": 78,
"method_title": "Precio fijo",
"method_id": "flat_rate",
"instance_id": "1",
"total": "5.00",
"total_tax": "1.05",
"taxes": [
{
"id": 1,
"total": "1.05",
"subtotal": ""
}
],
"meta_data": [
{
"id": 582,
"key": "Artículos",
"value": "ANILLO DE ORO × 1",
"display_key": "Artículos",
"display_value": "ANILLO DE ORO × 1"
}
]
}
],
"fee_lines": [],
"coupon_lines": [],
"refunds": [],
"currency_symbol": "€",
"_links": {
"self": [
{
"href": "https://joyeriaagora.com/wp-json/wc/v3/orders/746"
}
],
"collection": [
{
"href": "https://joyeriaagora.com/wp-json/wc/v3/orders"
}
],
"customer": [
{
"href": "https://joyeriaagora.com/wp-json/wc/v3/customers/8"
}
]
}
}

LOS DATOS POR SUPUESTO SON FICTICIOS DE ESTA TIENDA, los de la otra no, ya esta en produccion y son ventas reales. 

Esta publicación ha sido modificada el hace 10 meses por Francisco García
Respondido : 12/01/2021 7:35 am

Cursos Gratuitos WordPress

Pepe
 Pepe
Soporte CMS Webempresa Moderator

Hola Francisco.

pudiera ser de la cache?

Puedes probar a desactivarlo, en este enlace tienes una guia, no tienes que eliminar el plugin o desactivarlo solo sigue los pasos:

-> https://guias.webempresa.com/preguntas-frecuentes/desactivar-magic-cache-varnish-desde-la-administracion-web/

 

Un saludo

Respondido : 12/01/2021 9:51 am
Francisco García
 Francisco García
Usuario activo

@pepesoler  Pues efectivamente es de la cache el problema pero no sirve desactivarla como comentas, ya que eso lo hice y seguía el problema

he solicitado a soporte que lo desactiven a nivel de servidor y buala ha empezado a rular sin problemas 

es que era lo unico que faltaba por probar, 

Gracias a todos por la ayuda y las ideas

 

Respondido : 12/01/2021 7:33 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress