cara dapetin nilai cost dari API rajaongkir

gimana caranya dapetin harga ongkir dari API raja ongkir : https://api.rajaongkir.com/starter/cost, saya bingung gan, soalnya itu methodnya post. dibawah ada kodingannya gan

 router.post('/api', (req, re) => {
    var qs = require("querystring");
    var http = require("https");

    var options = {
        "method": "POST",
        "hostname": "api.rajaongkir.com",
        "port": null,
        "path": "/starter/cost",
        "headers": {
            "key": "f1852be7bc2fca98644cbe68a5a561c2",
            "content-type": "application/x-www-form-urlencoded"
        }
    };

    var req = http.request(options, function(res) {
        var chunks = [];

        res.on("data", function(chunk) {
            chunks.push(chunk);
            var body = Buffer.concat(chunks);
            re.send(body.toString())

        });

        res.on("end", function() {
            var body = Buffer.concat(chunks);
            console.log(body.toString());
        });
    });

    req.write(qs.stringify({
        origin: '501',
        destination: '114',
        weight: 1700,
        courier: 'jne'
    }));
    req.end();
})

kalo methodnya get saya ketik http://localhost:8000/api maka hasilnya keluar, untuk method post gimana ya gan buat dapetin hasilnya

Terimakasih

avatar dimasuwandi
@dimasuwandi

2 Kontribusi 1 Poin

Diperbarui 6 tahun yang lalu

1 Jawaban:

sudah bisa gan, saya tambahin "Content-Length": 50 (untuk kurir jne & pos indonesia) dan "Content-Length": 51 untuk tiki pada var options, dibawah adalah kodingannya :

<pre> router.post('/api', (req, re) =&gt; { var qs = require("querystring"); var http = require("https"); var options = { "method": "POST", "hostname": "api.rajaongkir.com", "port": null, "path": "/starter/cost", "headers": { "key": "f1852be7bc2fca98644cbe68a5a561c2", "content-type": "application/x-www-form-urlencoded", "Content-Length": 50 // TAMBAHIN INI

    }
};

var req = http.request(options, function(res) {
    var chunks = [];

    res.on(&quot;data&quot;, function(chunk) {
        chunks.push(chunk);
        var body = Buffer.concat(chunks);
    });

    res.on(&quot;end&quot;, function() {
        var body = Buffer.concat(chunks);
        console.log(body.toString());
        // re.send(body.toString())
    });
});

req.write(qs.stringify({
    origin: &#039;501&#039;,
    destination: &#039;115&#039;,
    weight: 2000,
    courier: &#039;jne&#039;
}));

req.end();

}) </pre>

terimakasih

avatar dimasuwandi
@dimasuwandi

2 Kontribusi 1 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban