4 Cara Beli Tiket Kereta Cepat Jakarta Bandung lewat HP

Lihat Foto Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP.(KOMPAS.com/Bagus Puji Panuntun) JAKARTA, KOMPAS.com - Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh dapat dilakukan melalui berbagai metode. Selain di ticket vending machine dan loket stasiun, pembelian tiket Kereta Cepat Whoosh juga bisa dilakukan secara

Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP.

Lihat Foto

Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP.(KOMPAS.com/Bagus Puji Panuntun)

JAKARTA, KOMPAS.com - Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh dapat dilakukan melalui berbagai metode. Selain di ticket vending machine dan loket stasiun, pembelian tiket Kereta Cepat Whoosh juga bisa dilakukan secara online melalui website, aplikasi Whoosh, Access by KAI, hingga Livin' by Mandiri. 

Kereta Cepat Whoosh melayani rute utama Halim - Padalarang - Tegalluar (PP). Bagi penumpang yang ingin menuju Stasiun Bandung, bisa turun di Stasiun Padalarang dan pindah ke KA Feeder untuk melanjutkan perjalanan. 

Dikutip dari akun Instagram @keretacepat.id, untuk bisa naik Kereta Cepat Whoosh, penumpang dikenakan tarif sebesar Rp 300.000 untuk satu kali perjalanan Jakarta-Bandung atau sebaliknya.

Baca juga: Cerita UMKM Gracious Project, Produksi Skincare Alami hingga Berdayakan Petani Lokal

Namun, dalam rangka ulang tahun PT Kereta Cepat Indonesia China (KCIC), penumpang hanya perlu membayar tiket sebesar Rp 150.000 saja untuk kelas premium economy. Promo tersebut berlaku untuk keberangkatan tanggal 18 Oktober-30 November 2023.

Lalu, bagaimana cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh lewat HP? 

Bagi calon penumpang yang ingin memesan tiket kereta Whoosh, bisa membeli atau melakukan reservasi melalui laman resmi KCIC yakni https://ticket.kcic.co.id/.

Namun sebelum itu, penumpang perlu melakukan pendaftaran akun terlebih dahulu. Berikut langkah-langkahnya: 

  • Akses laman https://ticket.kcic.co.id/
  • Klik menu “Daftar” yang ada di pojok kanan atas
  • Pada laman “Daftar akun”, lengkapi data pada kolom formulir yang tersedia
  • Isi informasi dasar berupa nama pengguna dan kata sandi Isi alamat email aktif pada kolom yang tersedia, klik “Kirim”
  • Masukkan kode verifikasi yang dikirimkan ke email Anda
  • Isi nomor WhatsApp, lalu klik “Kirim”
  • Masukkan kode verifikasi yang dikirimkan melalui WhatsApp Anda
  • Lengkapi informasi rinci berupa nama asli, nomor identitas, dan tanggal lahir
  • Centang pada kotak persetujuan syarat dan ketentuan
  • Pastikan semua data telah terisi dengan lengkap dan benar, klik “Kirim” untuk menyelesaikan pembuatan akun Anda.

Setelah informasi identitas yang didaftarkan terverifikasi, Anda dapat memesan tiket kereta cepat Jakarta-Bandung melalui web KCIC sesuai peraturan yang berlaku.

Baca juga: Dampak Negatif Inflasi bagi Produsen atau Rumah Tangga Perusahaan

Adapun cara membeli tiket Kereta Cepat Whoosh atau Kereta Cepat Jakarta Bandung melalui website resmi KCIC yakni sebagai berikut:

  • Akses laman https://ticket.kcic.co.id
  • Masuk menggunakan akun KCIC Anda
  • Isi stasiun keberangkatan dan stasiun tujuan
  • Isi tanggal keberangkatan, lalu klik tombol “Cari”
  • Akan muncul daftar kereta cepat Whoosh yang tersedia, silakan pilih jadwal sesuai waktu yang Anda inginkan, klik “Reservasi”
  • Ikuti proses hingga selesai, kemudian lakukan pembayaran sesuai metode yang Anda inginkan.

Pemesanan melalui laman resmi KCIC bisa dilakukan mulai H-7 hingga 1 jam sebelum keberangkatan. Ada beberapa pilihan pembayaran tiket kereta cepat Whoosh, di antaranya transfer bank, QRIS, E-Wallet, kartu kredit, dan gerai retail.

Penumpang yang membeli tiket kereta cepat Jakarta Bandung melalui laman resmi KCIC, akan mendapatkan QR code yang langsung bisa digunakan untuk boarding tanpa perlu menukar tiket fisik di stasiun.

Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP.KOMPAS.com/Isna Rifka Sri Rahayu Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP.

2. Cara beli tiket Kereta Cepat lewat aplikasi Whoosh

Selain di website, cara beli Tiket Kereta Cepat juga dapat dilakukan melalui aplikasi Whoosh. Berikut langkah-langkahnya:

  • Unduh aplikasi Whoosh di Google Play Store (Android) atau App Store (iOS)
  • Buka aplikasi Whoosh dan lakukan pendaftaran akun dengan mengisi informasi pribadi yang diperlukan.
  • Setelah berhasil membuat akun, login dan pilih rute serta jadwal keberangkatan
  • Pilih posisi tempat duduk atau kursi kereta yang ingin ditempati.
  • Pilih metode pembayaran
  • Setelah pembayaran berhasil, penumpang akan mendapatkan QR Code yang langsung dapat digunakan untuk boarding tanpa perlu menukar tiket fisik di stasiun.

Baca juga: Harga Emas Antam Hari Ini Dibanderol Rp 1,1 Juta Per Gram

3. Cara beli tiket Kereta Cepat lewat aplikasi Access by KAI

Berikut langkah-langkah atau cara beli tiket kereta cepat Whoosh melalui aplikasi Access by KAI:

  • Buka aplikasi Access by KAI. Pastikan aplikasi Access by KAI di smartphone sudah ter-update
  • Pada halaman utama, pilih menu "KCIC"
  • Masukkan stasiun asal dan tujuan
  • Pilih tanggal keberangkatan, lalu tap "Cari Tiket"
  • Pilih kereta dan tap "Tambah penumpang"
  • Lakukan pengisian data penumpang (jenis kelamin, tanggal lahir, tipe penumpang, nomor identitas, nama, email, dan nomor HP), lalu tap "Simpan"
  • Pilih "Tempat Duduk"
  • Jika data sudah sesuai, pilih "Bayar"
  • Pilih metode pembayaran yang diinginkan, seperti virtual account bank, kartu kredit, minimart, atau QRIS.
  • Lakukan pembayaran sesuai dengan metode yang dipilih.
  • Nantinya, penumpang akan mendapatkan QR Code yang langsung dapat digunakan untuk boarding tanpa perlu menukar tiket fisik di stasiun.

4. Cara beli tiket Kereta Cepat lewat Livin’ by Mandiri

Bank Mandiri bekerja sama dengan KCIC turut berpartisipasi mendukung penjualan tiket Kereta Cepat Whoosh melalui Livin’ by by Mandiri di fitur Sukha.

Berikut langkah-langkah atau cara beli tiket Kereta Cepat di aplikasi Livin’ by Mandiri selengkapnya:

  • Login ke aplikasi Livin’ by Mandiri
  • Pilih menu "Sukha"
  • Pilih kategori "Transportasi"
  • Pada kategori Transportasi, pilih menu "Whoosh"
  • Pilih "Rute dan Keberangkatan" sesuai dengan rencana perjalanan penumpang.
  • Pilih jenis tiket dan harga. Selama periode promosi, penumpang dapat menikmati penawaran khusus berupa tiket one way dengan harga spesial Rp 150.000. 
  • Selesaikan pembayaran sesuai dengan instruksi yang diberikan.

Baca juga: Badan Karantina: Indonesia Belum Boleh Ekspor Kratom

Demikian informasi seputar cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP. 

Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP.KOMPAS.com/WISNU NUGROHO Cara beli tiket Kereta Cepat Jakarta Bandung atau Kereta Cepat Whoosh secara online lewat HP. Dapatkan update berita pilihan dan breaking news setiap hari dari Kompas.com. Mari bergabung di Grup Telegram "Kompas.com News Update", caranya klik link https://t.me/kompascomupdate, kemudian join. Anda harus install aplikasi Telegram terlebih dulu di ponsel.  

Pilihan Untukmu

Simpan artikel

Tidak tertarik

Tutup

`); var wSpecStop = createElementFromHTML(`

Konten disembunyikan.
Muat ulang halaman untuk perbarui rekomendasi. Urungkan

`); reactionPopup.querySelector('.buttonShare').setAttribute('data-title', item.title); reactionPopup.querySelector('.buttonShare').setAttribute('data-url', itemUrl); reactionPopup.querySelector('.buttonShare').setAttribute('data-campaign', 'AIML_Widget_Desktop'); let userFeedback = new UserFeedback(resultObj.engine['tracker_algsrc'], itemUrl + tracker_params, jxRecHelper, index); reactionPopup.querySelector('.buttonBookmark').addEventListener('click', function() { do_bookmark(itemUrl, index, userFeedback); }); reactionPopup.querySelector('.buttonShare').addEventListener('click', function() { userFeedback.event('share'); }); reactionPopup.querySelector('.buttonNotInterest').addEventListener('click', function() { if (getCookie('kmps_usrid')) { hideThisArt(this); userFeedback.event('not-interested'); } else { const parentAction = this.parentElement.parentElement.parentElement if (!!parentAction) { let indexElement = parentAction.getAttribute('data-index') if (indexElement != 'undefined') { localStorage.setItem('reaction_not_interest_temp', JSON.stringify({ urlpage: items[indexElement].url })) } } window.location.href = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); } }); /** * trigger action "userFeedback" that user not interest item before, when not interest without login */ if (getCookie('kmps_usrid') && localStorage.getItem('reaction_not_interest_temp')) { const tempUrlNotInterest = JSON.parse(localStorage.getItem('reaction_not_interest_temp')) if (itemUrl == tempUrlNotInterest.urlpage) { userFeedback.event('not-interested'); localStorage.removeItem('reaction_not_interest_temp'); } } wSpecStop.querySelector('.wSpec-stop-undo').addEventListener('click', function() { showThisArt(this); userFeedback.event('un-not-interested'); }); recItem.appendChild(buttonOption); recItem.appendChild(reactionPopup); recItem.appendChild(wSpecStop); } var recItemWrapperA = createElement('a', null, null, null); recItemWrapperA.setAttribute('href', itemUrl + tracker_params); var titleDiv = createElement('h4', null, null, [cssClasses.title]); var titleTextNode = document.createTextNode(item.title); if (item.itemType == 'video') { var iconVideo = createElement('div', null, null, ['icoInline', 'icoVideo']); iconVideo.style.marginRight = '5px'; titleDiv.appendChild(iconVideo); } titleDiv.appendChild(titleTextNode); var sourceDiv = null; if (item.hasOwnProperty('method')) { sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type'] + ' . ' + item.method.toUpperCase()); } else { var sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type']); } var textWrapper = createElement('div', null, null, [cssClasses.text_wrapper]); textWrapper.appendChild(categoryDiv); textWrapper.appendChild(titleDiv); textWrapper.appendChild(sourceDiv); recItemWrapper.appendChild(imgWrapper); recItemWrapper.appendChild(textWrapper); recItemWrapperA.appendChild(recItemWrapper); recItem.appendChild(recItemWrapperA); widgetWrapper.appendChild(recItem); // hook up the click handler for this item // recItem.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); recItemWrapperA.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); }); } // end while var endDate = new Date(); var loadtime = (endDate.getTime() - startDate.getTime()); trackEventGa('AIML Article Recommendation', 'Content Loaded', 'algsrc='+algsrc+',site=MONEY,device=desktop,loadtime=' + loadtime) let domain = window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = ""; let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let time_load = loadtime; resolve(); /*** * JXRECSDK NOTES 3 of 5 - * pass all the info about the items to the rec helper * each one is an object: ALL MANDATORY * div * id * pos */ jxRecHelper.items(widgetItemArr); /*** * JXRECSDK NOTES 4 of 5 - * Call the ready() of the helper object when the recommendation * results have been populated to the widget * (This will register the action=ready event) */ if (resultObj.engine['type'] == 'api-1') { jxRecHelper.ready(resultObj.options.algo + ":" + resultObj.options.version); } else { jxRecHelper.ready(resultObj.engine['type']); } } else { jxRecHelper.error(204); console.error("Error: no recommendation items"); return; } } catch (err) { jxRecHelper.error(901); console.log(err.stack); let domain = window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = "" let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let endDate = new Date(); let time_load = (endDate.getTime() - startDate.getTime()); } }); } const _jxRecSdkURL = 'https://scripts.jixie.media/jxrecsdk.1.0.min.js'; var startDate = new Date(); class OneWidget { constructor() { //this is also the one we will pass to the JX rec helper object when //we instantiate it: //In this implementation most of these come from the options obj //on the publisher page. this._options = { accountid: '9262bf2590d558736cac4fff7978fcb1', pageurl: 'https://money.kompas.com/read/2023/10/22/134800726/4-cara-beli-tiket-kereta-cepat-jakarta-bandung-lewat-hp', widget_id: '1000183-6xWeiWZFIM', type: 'pages', container: 'rekomendasi-konten-pilihan-untukmu-aiml', keywords: content_tags, title: title, customid: "26", count: 14, }; this._containerId = this._options.container; this._container = document.getElementById(this._containerId); this._engines = [{"url":"https:\/\/recommendation.kgdata.dev\/rec\/kompascom\/api\/v2\/recommendation\/item","method":"POST","pageurl":"https:\/\/money.kompas.com\/read\/2023\/10\/22\/134800726\/4-cara-beli-tiket-kereta-cepat-jakarta-bandung-lewat-hp","system":"kg","type":"api-2","tracker_params":"?source=widgetML&engine=C","tracker_algsrc":"C","count":14,"page_status":"read","excludeitemids":["20231022134800726"],"multiFormat":true}]; } kickOff() { startDate = new Date(); const rand = Math.floor(Math.random() * 1000); /*const randSystem = Math.floor(Math.random() * 3); this._engine = this._engines[randSystem] if (location.hostname.indexOf('lestari') != -1) { this._engine = this._engines[1] }*/ this._engine = this._engines[0]; this._options.system = this._engine['system'] trackEventGa('AIML Article Recommendation', 'Widget load', 'algsrc=' + this._engine['tracker_algsrc'] + ',site=MONEY,device=desktop') let promJXSDK = fetchJSFileP(_jxRecSdkURL); let thisObj = this; // first we wait on the JX REC SDK to be loaded and initialized let recHelperObj = null; let recResults = null; promJXSDK .then(function() { /*** * JXRECSDK NOTES 1 of 5 - INSTANTIATION OF A JX REC HELPER OBJECT * Call this AFTER JX REC SDK is loaded but BEFORE you call your REC * backend. * * param: MANDATORY options object * options object must at a minimal have * accountid: get from jixie * widgetid: get from jixie * container: DIV ID of the destination div to house the widget * (for jixie widget this is just the options object passed from the page) * * (This will also register the action=load event) */ recHelperObj = jxRecMgr.createJxRecHelper(thisObj._options); let basicInfo = thisObj._options; basicInfo.engine = thisObj._engine if (basicInfo.engine.type == 'api-1') { var options = { count: basicInfo['count'], adpositions: "", keywords: basicInfo['keywords'], title: basicInfo['title'], date_published: "2023-10-22", pagecategory: "MONEY", algo: "mixed" }; if(getCookie('kmps_usrid')){ var kg = { pagetype:basicInfo.engine.page_status, uid:getCookie('kmps_usrid'), ukid:getCookie('kmp_uid') } if(basicInfo.engine.page_status=='read'){ kg['excludeitemids'] = basicInfo.engine.excludeitemids; kg['multiFormat'] = true; } options['additional'] = { kg:kg }; } return recHelperObj.getJxRecommendations(options); } else { return fetchRecommendationsP(basicInfo, recHelperObj.getJxUserInfo()); } }) .then(function(resp) { if (thisObj._engine.type == 'api-3') { recResults = new Object recResults.items = resp.docs.result; } else { recResults = resp; } recResults.engine = thisObj._engine; if (!resp || !recResults.items || recResults.items.length == 0) { /*** * JXRECSDK NOTES 2 of 5 - * Call the error() function on the recHelper when either an error * has occured in the fetching or there are no recommended items * * (This will register the action=error event) */ recHelperObj.error(204); throw "no recommendation results"; } }) .then(function() { // everything is ready (recommendation results, css): document.getElementById("rekomendasi-konten-pilihan-untukmu-aiml").classList.remove("-loading"); document.querySelector('.wSpec-list').remove(); createDisplay(rand, thisObj._container, recResults, recHelperObj) .then(function() { toggleDropdown(); //observe lozad lozad('.lozad', { load: function(el) { el.src = el.dataset.src; el.onload = function() { el.classList.add('fade') } } }).observe() }) }) .catch(function(error) { console.log(`Unable to create recommendations widget ${error.stack} ${error.message}`); }); } } var limit_gtm_ready = 1; function check_gtm_ready() { if ('ga' in window) { // create a new instance of our widget based on the options const newW = new OneWidget(); newW.kickOff(); } else { const timeout_gtm_ready = setTimeout(check_gtm_ready, 500) limit_gtm_ready += 1; if (limit_gtm_ready > 10) { clearTimeout(timeout_gtm_ready); const newW = new OneWidget(); newW.kickOff(); } } } check_gtm_ready() document.querySelector('.wSpec-secret').addEventListener('click', function(e) { e.preventDefault(); let wSl = document.querySelectorAll('.wSpec-source'); if (wSl.length > 0) { for (let i = 0; i < wSl.length; i++) { wSl[i].classList.toggle('show') } } }) function trackEventGa(category, action, label) { if ("ga" in window) { ga(function() { tracker = ga.getAll()[0]; if (tracker) { tracker.send("event", category, action, label); console.log('track event ', category, action, label) } }) } } function formBody(obj) { let formBody = []; for (var property in obj) { let encodedKey = encodeURIComponent(property); let encodedValue = encodeURIComponent(obj[property]); formBody.push(encodedKey + "=" + encodedValue); } return formBody.join("&"); } function getCookie(name) { var name = name + '='; var cookies = decodeURIComponent(document.cookie).split(';'); for (var i = 0; i < cookies.length; i++) { var c = cookies[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } } function get_guid(url) { const videoPath = url.match(/\/watch\/(\d+)/); if (videoPath) { return `video.${videoPath[1]}`; } let arrayUrl = url.split('/'); let readPath = arrayUrl.indexOf('read'); if (arrayUrl[readPath + 1] == 'xml') { readPath += 1; } let year = arrayUrl[readPath + 1]; let month = arrayUrl[readPath + 2]; let date = arrayUrl[readPath + 3]; let id = arrayUrl[readPath + 4]; let guid = `.xml.${year}.${month}.${date}.${id}`; return guid; } function toggleDropdown() { let tdd = document.querySelectorAll('[data-dropdown]') if (!!tdd) { tdd.forEach((el) => { el.addEventListener('click', function() { el.parentElement.classList.toggle('-active') let saved = el.parentElement.getAttribute('data-saved') let kmps_usrid = getCookie('kmps_usrid'); if (kmps_usrid && !saved && el.parentElement.classList.contains('-active')) { let url = el.parentElement.getAttribute('data-url'); let guid = get_guid(url); check_bookmark( kmps_usrid, guid ).then(function(resp) { if (resp.hasOwnProperty('total_data')) { if (resp.total_data > 0) { el.parentElement.querySelector('.buttonBookmark').classList.add('-active'); el.parentElement.querySelector('.buttonBookmark').innerHTML = 'Hapus dari tersimpan'; el.parentElement.setAttribute('data-saved', 'true'); } else { el.parentElement.setAttribute('data-saved', 'false'); } } }) } }) document.addEventListener("click", function(e) { // console.log(e.target) if (el.contains(e.target)) { // console.log(tdd) } else { el.parentElement.classList.remove('-active') } }); }); } } function check_bookmark(kmps_usrid, guid) { let url = `https://api.kompas.com/2021/reaction/bookmark/list?kmps_usrid=${kmps_usrid}&guid=${guid}`; return new Promise(function(resolve, reject) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)) } }; xmlhttp.open("GET", url, true); xmlhttp.send(); }); } function do_bookmark(pageurl, pos, userFeedback) { const wSpecItem = document.querySelector(`.wSpec-item[data-index="${pos}"]`); const btnBookmark = wSpecItem.querySelector('.buttonBookmark'); const kmps_usrid = getCookie('kmps_usrid'); const guid = get_guid(pageurl); const type = pageurl.match(/\/watch\/(\d+)/) ? 'video' : 'article'; if (kmps_usrid) { if (btnBookmark.classList.contains('-active')) { set_unbookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type }).then(function(resp) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); userFeedback.event('un-save'); }).catch(function(resp) { // message: "Data doesn't exists" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); } }) } else { const user_bookmark_url = "https://activity.kompas.com/saved?order=desc"; set_bookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type, publisher: 'kompas', platform: 'desktop' }).then(function(resp) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); userFeedback.event('save'); }).catch(function(resp) { // message: "Data already exist" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); } }) } } else { const login_url = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); window.location.href = login_url; } } function set_bookmark(data) { const url = "https://api.kompas.com/2021/reaction/bookmark/add"; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 201) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } function set_unbookmark(data) { const url = "https://api.kompas.com/2021/reaction/bookmark/delete"; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } class UserFeedback { constructor(engine, pageurl, jxRecHelper, pos) { this.engine = engine; this.pageurl = pageurl; this.jxRecHelper = jxRecHelper; this.pos = pos; } event(feedback) { if (this.engine == 'C') { const xmlhttp = new XMLHttpRequest(); let params = { domain: 'kompas.com', ce_userid: getCookie('kmps_usrid'), ce_sessionid: getCookie('ukid'), ce_pageurl: this.pageurl, engine: 'C', ce_feedback: feedback } xmlhttp.open("GET", 'https://apis.kgdata.dev/v1/aiml/feedback-widgetml' + formatParams(params)); xmlhttp.send(); } else if (this.engine == 'V') { if (feedback == 'share') { this.jxRecHelper.shared(this.pos); } else if (feedback == 'save') { this.jxRecHelper.bookmarked(this.pos); } else if (feedback == 'not-interested') { this.jxRecHelper.hidden(this.pos); } else if (feedback == 'un-not-interested') { this.jxRecHelper.unhidden(this.pos); } } } } function formatParams(params) { return "?" + Object .keys(params) .map(function(key) { return key + "=" + encodeURIComponent(params[key]) }) .join("&") } document.addEventListener("click", function(e){ let dx = document.querySelectorAll('[data-dropdown]') if(dx) { dx.forEach(function(el){ if(el.contains(e.target)) { el.parentElement.classList.toggle('-active') } else { el.parentElement.classList.remove('-active') } }) } })

ncG1vNJzZmiln6OyunrKqKSpmaNjsLC5jqucmpxfZ31zf45qZ2hqYmR%2BdICXaWdwamZkgW6vwKuYZpqVobZuwMiknK1lm5q%2FpsDAZpqeqJGpequtypqprZldl66vsNSnnmaklayutXnHqQ%3D%3D

 Share!