Soporte » Plugins y Hacks » WooCommerce » Conexion con woocommerce desde CRON

  • Resuelto nvides

    (@nvides)


    Cordial saludo.

    He intentado actualizar productos de woocommerce utilizando un script PHP que ubico en una tarea CRN de mi servidor para que se ejecute cada cierto por tiempo. El acceso a la base de datos orígen de los datos actualizados se ejecuta sin inconvenientes, pero el acceso a woocommerce no lo he podido hacer, el CRON no devuelve resultados. Pero si hago un CRON sin la conexión a woocommerce se ejecuta sin problemas. Considero que el inconveniente es por la forma como me conecto a woocommerce. Este es el código que utilizo desde el CRON. Muchas gracias por su ayuda.

    require __DIR__ . '/vendor/autoload.php';
    use Automattic\WooCommerce\Client;
    
    $url_API_woo = 'http://midominio.com/';
    $ck_API_woo = 'ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    $cs_API_woo = 'cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    
    $woocommerce = new Client(
        $url_API_woo,
        $ck_API_woo,
        $cs_API_woo,
        [
    	'wp_api' => true,
    	'version' => 'wc/v3',
    	'query_string_auth' => true // Force Basic Authentication as query string true and using under HTTPS
    	]
    );
    • Este debate fue modificado hace 1 semana, 6 días por Fernando Tellado. Razón: Etiquetado correcto del código
Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Hola @nvides

    Si estas utilizando esto; https://github.com/woocommerce/wc-api-php lo primero seria que revises su documentacion, ya que por ejemplo el wp_api no se deberia usar y obviamente la propia documentaction de la API del WooCommerce.

    Te funciona el script sin utilizar el cron?
    Como lo aplicas y llamas al script en el cron del servidor?

    Igualmente el codigo que pones solo es para iniciar sesion y poco mas, asi que poco mas podria comentarte, salvo que $consumer_key o $consumer_secret no sean validas.

    Iniciador del debate nvides

    (@nvides)

    @kallookoo muchas gracias por tu respuesta.

    El wp_api lo coloqué como parámetro porque en algún foro lo tenían configurado así, pero si lo elimino el resultado es el mismo.

    Efectivamente, el script me funciona si lo ejecuto desde php, es decir, no ejecutándolo desde un CRON real en mi servidor. La forma de ejecutarlo es ubicando el archivo del script PHP en la carpeta htdocs del servidor apache y a través de comando php o cargándolo en el navegador.

    Las credenciales de acceso que utilizo en el script están correctas, con ellas me funciona en otros scripts y en este mismo cuando lo ejecuto desde php.

    Hola @nvides

    Si funciona sin el cron, eso significa que lo tienes mal configurado, como no se exactamente como lo configuras no sabria decirte el motivo.
    Si usas el panel de control del servidor – tareas programas, consulta con tu proveedor por si pueden ayudarte.
    Si usas ssh para acceder al servidor y usas crontab u otra variante, tendras que mirar el syslog por si muestra algo y podrias tambien comentarselo a tu proveedor.
    Lamentamente tu consulta no esta relacionada con el WordPress y es una consulta para foros de sysadmin, asi que desde aqui poco podriamos hacer mas.

    Iniciador del debate nvides

    (@nvides)

    Perfecto, muchas gracias @kallookoo, seguiré tu consejo. Ya escalé el caso al proveedor del servidor pero no me solucionan.

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Debes estar registrado para responder a este debate.