Woocommerce REST API

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoeri Achterbergen

Yoeri Achterbergen

09/05/2020 21:42:06
Quote Anchor link
Hallo,

Ik ben me wat het verdiepen in de Rest Api techniek van Woocommerce / Wordpress.
Nu zie ik alleen maar op het internet voorbeelden met Postman, weet iemand hoe ik dit ook met een AJAX call zou kunnen doen?
 
PHP hulp

PHP hulp

11/07/2020 01:10:33
 
- Ariën -
Beheerder

- Ariën -

09/05/2020 21:51:05
Quote Anchor link
Postman is ook puur bedoeld om REST API's mee te testen. Dus je kan de endpoint-URL's prima in je JavaScript code verwerken.
 
Yoeri Achterbergen

Yoeri Achterbergen

10/05/2020 00:31:29
Quote Anchor link
Ok, tot nu toe heb ik dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const wooClientKey = 'xxxxxxx';
const wooClientSecret = 'xxxxxx';
const wooUrl = 'https://www.xxxxxx.com/wp-json/wc/v3/orders';

function basicAuth(key, secret) {
    let hash = btoa(key + ':' + secret);
    return "Basic " + hash;
}

let auth = basicAuth(wooClientKey, wooClientSecret);

function getData(url) {
    jQuery.ajax({
        url: url,
        method: 'GET',
        beforeSend: function (req) {
            req.setRequestHeader('Authorization', auth);
        }
    })
        .done(function (data) {
            console.log(data);
            return data;
        });
}

getData(wooUrl);


Als ik in de console kijk krijg ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
{
    "code": "woocommerce_rest_cannot_view",
    "message": "Je kunt gegevensbronnen niet weergeven.",
    "data": {
        "status": 401
    }
}


Op internet vind ik dat de authenticatie niet goed is.
 
- Ariën -
Beheerder

- Ariën -

10/05/2020 00:38:34
Quote Anchor link
Zie ook:
http://woocommerce.github.io/woocommerce-rest-api-docs/#authentication

Probeer het eens met dit:
https://www.xxxxxx.com/wp-json/wc/v3/orders?consumer_key=X&consumer_secret=X

Met uiteraard jouw key's meegeven.
Check ook je networktab eens!
 
Yoeri Achterbergen

Yoeri Achterbergen

10/05/2020 11:41:42
Quote Anchor link
Yes dit werkte inderdaad:)

Ik moet deze code natuurlijk alleen in een beveiligde omgeving plaatsen?
Want anders kan natuurlijk iedereen je sleutels zien toch?
 
- Ariën -
Beheerder

- Ariën -

10/05/2020 11:47:36
Quote Anchor link
Uiteraard. Daarom kan je een doorgeefluikje in PHP maken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.