Sebelum menggunakan DolphinConnect API, harap instal modul npm dolphin-livechat-connector versi terbaru. Pada saat penulisan ini, versinya adalah 1.1.4.
First Import the Required Class
import { DolphinProfile, DolphinConnect} from 'dolphin-livechat-connector';
The Outline of How to Use The API
/**
* Prepare your customer profile here
*/
let profile = new DolphinProfile();
profile.username= "your name"
profile.email = "your email";
profile.phone = "your phone number";
profile.customerid= "your customerid"; //optional
/**
* Get singleton instance of Dolphin Messenger Connector
* Setup Your Avatar, Client Id, and Client Secret
*/
let dolphinConnect = DolphinConnect.getlnstance(profile);
dolphinConnect.setAvatarCSri Virtual Assistant',
'http://www.inmotion.co.idlassets/images/logolsri_face.png');
dolphinConnect.setDetectorEndpoint('http://example:xxxxx/isonline/14xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.); //optional
dolphinConnect.setAdditionalRestHeaders({ //optional
'ApiKey' : rxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx'
})
dolphinConnect.configure(
"your channel url",
"your channel client id",
"your channel client secret"
);
dolphinConnect.set0nReceiveMethod(this.on any iveMessage);
dolphinConnect.setMessageSentMethod(this.messageSentMethod);
dolphinConnect.setConnectedMethod(this.connectedMethod);
dolphinConnect.setConnectingMethod(this.connectingMethod);
dolphinConnect.setOnAgentTypingMethod(this.onAgentrypingMethod);
Connect()
Panggil metode ini untuk membuat koneksi ke server. Di bawah ini adalah contoh bagaimana menggunakan metode tersebut.
dolphinConnect.connect();
Disconnect()
Panggil metode ini untuk memutuskan koneksi dengan server. Di bawah ini adalah contoh bagaimana menggunakan metode tersebut.
dolphinConnect.disconnect();
Connectedmethod
Metode ini akan di-trigger ketika status 'DolphinConnect.isConnected' diaktifkan (true -> false atau sebaliknya). Di bawah ini adalah contoh bagaimana menerapkan metode tersebut.
Metode ini akan ditrigger ketika DolphinConnect membuat koneksi, baik ketika pertama kali kita memanggil metode connect() atau proses menghubungkan kembali. Di bawah ini adalah contoh bagaimana menerapkan metode tersebut.
Metode ini akan di-trigger saat DolphinConnect mendeteksi pesan masuk. Di bawah ini adalah contoh bagaimana mengimplementasikan metode (Catatan: 'message' payload yang ditunjukkan di bawah ini adalah array object).
Properti 'options' memiliki dua properti yang dipisahkan oleh simbol @ === @. Properti pertama adalah label yang ditampilkan dalam pesan chat, sedangkan properti kedua adalah nilai / payload yang dikirimkan ke backend / server. Di bawah ini adalah contoh bagaimana menerapkannya.
const albelAndValue = option.split('@===@');
dolphinConnect.onSend({
text : labelAndValue[0],
value : labelAndValue[1],
})
Button Card Message
Pesan seperti ini selalu memiliki properti 'buttons'. seperti inilah tampilan pesannya.
Pesan seperti ini selalu memiliki properti 'image'. seperti inilah tampilan pesannya.
0:
createdAt : Thu Oct 24 2018 13:58:40 GMT+0700 (Western Indonesia Time) {}
image: "http://example/1xxxxxxxxxxxxxxxxxxxxxxxxxxxx/webchat/out/image/"
origin: "Incoming"
text: null
user :{_id: "agent/bot", name: Sri Virtual Assistant, avatar: "http://www.example.co.id/assets/images/logo"}
_id : "axxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
__proto__ : Object
onCustomerTyping()
Panggil metode ini ketika Anda ingin mengirimkan typing event pelanggan/user ke server. Di bawah ini adalah contoh bagaimana menggunakan metode tersebut.
dolphinConnect.onCustomerTyping();
onSend()
Panggil metode ini untuk mengirim pesan, pesan harus berupa object atau array object. Di bawah ini adalah contoh cara mengirimkannya.
Text Message
dolphinConnect.onSend({ text: 'Hai selamat pagi!'});
dolphinConnect.onSend([{ text: 'Hai selamat pagi!' }, { text: 'Ada yang bisa saya bantu?' }])
Metode ini juga untuk me-return object array dengan pesan teks sebelumnya ditambah dengan informasi tambahan seperti created date dan id.
const messageArrObj = DolphinConnect.instance.onSend([{ text: 'Hai Selamat Pagi!' }, { text: 'Ada yang bisa saya bantu?' }]);
console.log(messageArrObj);
Seperti inilah tampilan untuk array object-nya.
createdAt : Thu Oct 24 2018 13:58:40 GMT+0700 (Western Indonesia Time) {}
origin : "Outgoing"
text : "Hai Selamat Pagi!"
user :{_id: "user", name: undefined, avatar: undefined}
_id : "2xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
__proto__ : Object
1: {text: "Ada yang bisa saya bantu?", _id: "2xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", create
length : 2
__proto__ : Array(0)
messageSentMethod
Metode ini akan di-trigger setelah metode onSend dipanggil, apakah pesan berhasil dikirim atau tidak. Di bawah ini adalah contoh bagaimana menerapkan metode tersebut.
messageSentMethod = (message, success, error) => {
if (success) {
console.log('This message is sent successfully!')
} else {
console.log('This message sent failed!', error)
}
console.log('MESSAGE :', message);
}
onAgentTypingMethod
Metode ini akan di-trigger saat Agen sedang mengetik. Di bawah ini adalah contoh bagaimana menerapkan metode tersebut.
onAgentTypingMethod = () => {
console.log('Agent is typing...')
}
dolphinConnect.setOnAgentTypingMethod(onAgentTypingMethod);
getChatHistory
Mengambil conversation history dari backend. Format yang diambil sama dengan contoh pesan sebelumnya (array object). Di bawah ini adalah contoh cara menggunakannya.
dolphinConnect.getChatHistory(getChatHistorySuccess, getChatHistoryFailed);
getChatHistorySuccess = chatHistory => {
//Do Something with the retrieved chat history
}
getChatHistoryFailed = error => {
console.log('Chat History retrieval failed', error);
}
checkChannelStatus
Memeriksa apakah channel yang ditentukan sedang online atau tidak. Sebelum menggunakan metode ini, pastikan Anda telah menyetel endpoint.
Untuk mengaplikasikan trigger menu atau knowledge. Dapat dilakukan setelah chat init, tambahkan metode dolphinConnect.onSend (triggerMenu). Jadi ketika user memulai percakapa awal, aplikasi juga langsung mengirimkan metode pesan ke 3dolphins. Sesuai dengan kata kunci yang sudah di atur sejak awal.
/**
* prepare your customer profile here\
*/
let profile = new DolphinProfile();
profile.username = "your name";
profile.email = "your email";
profile.phone = "your phone number";
/**
* Get singleton instance of Dolphin Messenger Connector
* Setup your avatar, Client Id, and client secret
*/
let dolphinConnect = DolphinConnect.getInstance(Profile);
dolphinConnect.setAvatar('Sri Virtual Assistant', 'http://www.inmotion.inmotion.co.id/assets/images/logo/xxxx.png');
dolphinConnect.configure(
"https://xxxxxxxx.ngrok.io", //url
"ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", /fclient_id
"13xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" //client_secret
);
dolphinConnect.set0nReceiveMethod(this.onReceiveMessage);
dolphinConnect.setMessageSentMethod(thisrmessageSentMethod);
dolphinConnect.setConnectedMethod(this.connectedMethod);
dolphinConnect.setConnectingMethod(this.connectingMethod);
dolphinConnect.setOnAgentTypingMethod(this.onAgentTypingMethod);
dolphinConnect.connect(
dolphinConnect.onCustomerTyping();
dolphinConnect.onSend({text:'Hai Selamat Pagi!'}); dolphinConnect.disconnect();