Docs
  • National Logistics Ecosystem
  • Getting Started
    • introduction
    • Login with LOGPASS
      • Overview
      • Business Flow
      • Plugin
      • Glossary
    • Versioning
    • Contact Developer
  • API's
    • Customs API
      • Overview
      • List Document
        • NO BL By NPWP
        • Dok PPFTZ
        • BC20 By NOBL
        • BC20 By NOPIB
        • BC16 By NPWP
        • BC20 By NPWP
        • BC23 By NPWP
      • List Container
        • Kontainer SP3B
        • Kontainer BC 16
        • Kontainer BC 20
        • Kontainer BC 23
        • Kontainer BC 27
        • Kontainer BC 28
        • Kontainer BC 30
        • Kontainer BC 25
        • Kontainer BC 261
        • Kontainer BC 262
        • Kontainer PPFTZ
    • DO Online
      • Version 1.0
      • DO Final Version
      • OAuth Version
        • API GET Active DO By BL House
        • API GET Active DO
        • API PUT Update DO Paid Date
        • API PUT Update Price
        • API PUT Update Status DO
        • API GET Document DO List By BL
        • API GET Document DO By BL
        • API GET Document DO By NPWP
        • API Post Document DO
    • SP2 Online
      • Platform
        • Cargo Owner
        • Host-to-host
      • Version 1.0
      • SP2 Final Version
      • OAuth Version
        • Overview
        • API
        • Reference
    • Trucking
      • Open Bidding
        • Overview
        • API 01
        • API 02
        • API 04
        • API 05
        • API 06
        • API 09
        • API 10
        • API 11
      • OAuth Version
        • Overview
        • API 01
        • API 02
        • API 06
        • API 09
        • API 10
        • API 11
    • Vessel Domestic
      • OAuth Version
        • API
    • Warehouse
      • OAuth Version
        • API
  • User Guide
    • Inbound
    • Outbound
    • Domestic
      • Vessel
    • Free Trade Zone (BLE)
      • LAYANAN STS/ FSU
Powered by GitBook
On this page
  • Deskripsi Umum
  • Platform NLE Ke Platform Trucking
  • Pembuatan Kafka Consumer

Was this helpful?

  1. API's
  2. Trucking
  3. Open Bidding

Overview

PreviousOpen BiddingNextAPI 01

Last updated 4 years ago

Was this helpful?

Deskripsi Umum

Secara umum, pengguna jasa akan membuka bid pada platform NLE, dan melalui API ini akan diteruskan ke masing-masing API milik penyedia platform. Penyedia platform akan membuka bid di platformnya sesuai dengan data yang diterima dari API ini. Ketika ada yang melakukan bid di platform tersebut maka data bid tersebut akan diteruskan kembali ke NLE dan disimpan di database NLE. Data tersebut akan dilihat oleh pengguna jasa untuk memilih sarana pengangkut. Ketika pilihan sudah ditentukan maka akan diteruskan ke platform terkait dan mengirimkan ke semua platform bahwa bid telah selesai melalui API ini.

Platform NLE Ke Platform Trucking

Request offers ke Trucking Platform (API01) dan booking Truck (API04) menggunakan Kafka sebagai message broker untuk kemudian diteruskan ke beberapa Trucking Platform sebagai Consumer.

Alur Transaksi Data API01 dan API04

Untuk menjalankan tool pada link diatas, perlu dibuat file .env sebagai berikut.

websocket_server=esbbcext01.beacukai.go.id
websocket_port=8086
websocket_token={WEBSOCKET_TOKEN}
platform_id={ID_PLATFORM}

Harap diperhatikan bahwa websocket_token dan platform_id diatas khusus untuk platform {nama_platform}. Simpan file .env pada folder root aplikasi node yang telah diunduh.

Pembuatan Kafka Consumer

Berikut adalah contoh langkah-langkah pembuatan Kafka Consumer melalui protocol WebSocket menggunakan bahasa pemograman NodeJs.

  1. Koneksi ke NLE Websocket Server

Koneksi ke NLE WebSocket Server menggunakan Websocket-SubProtocol sebagai token authentifikasi Trucking Platform untuk mendapatkan akses mengconsume data API01 dan API04 dari Kafka.

const WebSocket = require(‘websocket’).client;
const client = new WebSocket();
client.connect(‘ws:// esbbcext01.beacukai.go.id:8086’, ‘WEBSOCKET_TOKEN’);

2. Kirim message untuk subscribe topic ‘dev-booking’ (API01) dan topic ‘dev-selectedOffer’ (API04).

client.on(‘connect’, function(connection) {
if (connection.connected) {
	var subscribeAPI01 = {
		type: “subscribe”,
		groupId: “ID_PLATFORM”,
		topic: “dev-booking”,
		key: “ID_PLATFORM”
	};
	var subscribeAPI04 = {
		type: “subscribe”,
		groupId: “ID_PLATFORM”,
		topic: “dev-selectedOffer”,
		key: “ID_PLATFORM”
	};
	connection.sendUTF(JSON.stringify(subscribeAPI01));
	connection.sendUTF(JSON.stringify(subscribeAPI04));
}
});

3. Olah message yang diterima berisi data API01 atau API04.

client.on(‘connect’, function(connection) {
connection.on('message', function(message) {
	if (message.type === 'utf8') {
	    	var contentMessage = message.utf8Data;
	    	var parsedMessage = JSON.parse(contentMessage);
	      var status = parsedMessage.status || null;
		if ( status === "ok" ) {
			if ( parsedMessage.topic === “dev-booking”) {
                        //Olah parsedMessage.data yang berisi JSON Data API01
                  }
                  if ( parsedMessage.topic === “dev-selectedOffer”) {
                        //Olah parsedMessage.data yang berisi JSON Data API04
                  }	
		}
	}
	});
});

Trucking Platform dapat menggunakan WebSocket Kafka Consumer yang telah disediakan oleh tim Developer NLE pada link berikut:

https://gitlab.com/arifkurn/truckingconsumer