Daftar dan Belajar Sekarang!

cara dapetin nilai cost dari API rajaongkir

foto dimasuwandi
2 Kontribusi 1 Coto
4 bulan yang lalu
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

Jawaban
foto dimasuwandi
2 Kontribusi 1 Coto
4 bulan yang lalu
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 :
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",
            "Content-Length": 50 // TAMBAHIN INI


        }
    };

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

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

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

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

    req.end();
})
terimakasih


Login untuk diksusi di forum sekolah koding