• Buenas,

    Estoy intentando usar la api rest de woocommerce, pero no consigo que me funcione. Os indico lo que he hecho:
    – He cambiado los enlaces permanentes a:
    /%postname%/wp/
    /producto/wp/
    -He creado una clave en la api rest de lectura/escritura
    ck_4cf8b…
    cs_15c86…

    Estoy utilizando Postman y las llamadas que estoy haciendo son:
    Uso por GET, y en autenticación Basic Auth con la clave de cliente como usuario y clave secreta de cliente como password tanto en
    http://localhost/wordpress/wp-json/wc/v3
    como en
    wp-json/wc/v3/products
    o
    wp-json/wc/v3/orders

    y no me devuelve nada me da la siguiente salida
    {
    «code»: «woocommerce_rest_cannot_view»,
    «message»: «Lo siento, no puedes listar recursos.»,
    «data»: {
    «status»: 401
    }
    }

    También he probado a poner en la llamada los parámetros
    http://localhost/wordpress/wp-json/wc/v3/orders?consumer_key=ck_4cf8…&consumer_secret=cs_15c86…

    y me devuelve la misma salida.

    ¿cómo puedo solucionarlo?

    Un saludo

    • Este debate fue modificado hace 4 años, 8 meses por salvaruiz.
Viendo 9 respuestas - de la 1 a la 9 (de un total de 9)
  • Moderador Mariano Pérez Caro

    (@mpcdigital)

    Comprueba que no haya ningún plugin de seguridad que esté apagando la Rest Api. Prueba a conectarte a la api sin ningún plugin activado. Y después que hayas seguido bien todos los pasos que se cuentan aquí:

    https://www.webempresa.com/blog/rest-api-de-wordpress.html

    Iniciador del debate salvaruiz

    (@salvaruiz)

    Buenas, he quitado un par de plugin que tenía y ya si devuelve información pero
    si pongo
    http://localhost/wordpress/wp-json/wp/v2/posts si devuelve información,

    pero si pongo por ejemplo
    http://localhost/wordpress/wp-json/wc/v3/products o http://localhost/wordpress/wp-json/wp/v2/orders

    {
    «code»: «woocommerce_rest_cannot_view»,
    «message»: «Lo siento, no puedes listar recursos.»,
    «data»: {
    «status»: 401
    }
    }

    Uso por GET, y en autenticación Basic Auth con la clave de cliente como usuario y clave secreta de cliente como password

    no se el motivo por el cual no me muestra datos, no se si es que no estoy poniendo bien lo de la autenticación

    Iniciador del debate salvaruiz

    (@salvaruiz)

    Perdón no es http://localhost/wordpress/wp-json/wp/v2/orders, sería http://localhost/wordpress/wp-json/wc/v2/orders y siempre me dice lo mismo.

    He probado a instalar WordPress REST API Authentication pero no permite acceder a orders ni products solo deja acceder a
    /wp/v2/posts
    /wp/v2/comments
    /wp/v2/media
    en la versión free de plugin

    Muchas gracias

    Iniciador del debate salvaruiz

    (@salvaruiz)

    Buenas, creo que he solucionado el problema, las llamadas no se hacen como las había indicado sería con
    http://localhost/wordpress/wc-api/v3/products?filter%5Bmeta%5D=true

    y además la autenticación no la estaba haciendo correctamente, o al menos no ahora al hacer la autenticación mediante OAuth 1.0 he conseguido que devuelva los datos.

    Agradecería si me pueden confirmar si esta es la forma correcta de hacerlo

    Un saludo y muchas gracias

    Iniciador del debate salvaruiz

    (@salvaruiz)

    También es cierto que en la ayuda de la api pone
    /wp-json/wc/v3/orders

    no se si con esta ruta también se puede, y en caso de que si no sabría como hacerlo

    Iniciador del debate salvaruiz

    (@salvaruiz)

    Buenas, sigo con el mismo tema, cuando he hecho la prueba en Postman, he conseguido resultados pero mi duda es ¿como consigo la autenticación desde una aplicación? la aplicación la estoy realizando en c#.

    Si le doy en postman a la consola para ver cual es la llamada que se está realizando es la siguiente:
    GET http://localhost/wordpress/wc-api/v3/orders?filter%5Bmeta%5D=true&oauth_consumer_key=ck_602……&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1586951821&oauth_nonce=GKkrS5tdync&oauth_version=1.0&oauth_signature=igKzzqzTNeSTSHRyOx4T9ucZWak=

    pero no se como obtener los datos que necesito. He visto como conseguir el timestamp y el nonce pero para obtener la signature he visto que necesito un token que no se como conseguirlo, en postman solo puse el consumer_key y el consumer_secret. ¿Me podrían orientar un poco? la verdad es que llevo varios días mirándolo y no se como conseguir ese token con el que generar la signature, no se si es que tengo que tener instalado algún plugin o algo así.

    Un saludo y muchas gracias de antemano

    Iniciador del debate salvaruiz

    (@salvaruiz)

    No se si está mal explicado o que nadie sabe como solucionarlo.
    Un saludo

    hola amigo, estoy teniendo el mismo problema, tengo 2 tiendas diferentes:
    la primera fue creada desde bitnami wordpress en google cloud (sin problemas) y la segunda desde otro host, cuando migre el segundo sitio a google cloud empece a tener ese mismo problema.

    Estoy haciendo pruebas sin resultados, en ingles hay bastante información acerca de la autenticación básica, y he estado probando con postman pero te cuento lo siguiente:

    segun soporte de woocommerce api rest usa la autenticacion basica y 0Auth1, probe en postman pero siempre con respuesta 401, segun vi hay que modificar el .htaccess

    probé la primera tienda con postman pero a pesar que con el servicio con el cual uso el api rest, funciona bien, con postman no esta funcionando la conexión, pienso que puede ser los endpoint, estoy probando con esto: (https://ejemplo.com/wp-json/wc/v3/products) con autenticación básica pero sigue igual.

    Iniciador del debate salvaruiz

    (@salvaruiz)

    Buenos días,
    debido a que la aplicación que estoy haciendo y que quiero conectar con la API es en c# he usado un paquete nuget de visual studio Woocommerce.NET con el cual es bastante sencillo todo tanto la identificación como el acceso a pedidos, productos, clientes y demás elementos.
    Creo que el proyecto en sí de este paquete,está en la siguiente dirección:
    https://github.com/XiaoFaye/WooCommerce.NET
    yo he preguntado algunos temas que me han ido surgiendo y contestan muy rápido.

    Espero que mi respuesta te sirva.
    Un saludo

Viendo 9 respuestas - de la 1 a la 9 (de un total de 9)
  • El debate ‘API REST no consigo que funcione’ está cerrado a nuevas respuestas.