Import easily the ringover web app iframe into your own project (like your crm)
You need a ringover account to properly use the following features.
Standalone file is available on:
https://webcdn.ringover.com/resources/SDK/1.1.3/ringover-sdk.js
Also the package is available on npm as ringover-sdk
https://www.npmjs.com/package/ringover-sdk
<script src="ringover-sdk.js" type="text/javascript"></script>
const simpleSDK = new window.RingoverSDK();
// ...
npm install --save ringover-sdk
const RingoverSDK = require("ringover-sdk");
const simpleSDK = new RingoverSDK();
// ...
import RingoverSDK from "ringover-sdk";
const simpleSDK = new RingoverSDK();
// ...
require(["ringover-sdk"], function(RingoverSDK) {
const simpleSDK = new RingoverSDK();
//...
});
// Set options
const options = {animation: false, size: "auto"};
// Create instance
const simpleSDK = new window.RingoverSDK(options);
// Generate iframe
simpleSDK.generate();
// Set event
simpleSDK.on("ringingCall", (e) => console.log("Call with from number: " + e.data.from_number);
// Check iframe status
simpleSDK.checkStatus();
new RingoverSDK({
// "fixed", "relative", "absolute"
type: "fixed",
// "big", "medium", "small", "auto"
size: "medium",
container: null,
position: {
top: null,
bottom: "50px"
left: null,
right: "50px"
},
// true, false
border: true,
// true, false
animation: true,
// "rgb(0,0,0)", "#eee", "red"
backgroundColor: "transparent",
// true, false
trayicon: true,
trayposition: {
top: null,
bottom: "10px"
left: null,
right: "10px"
},
});
All option properties are optional.
type
: string
- CSS position type.
- Can be one of the following :
["fixed", "relative", "absolute"]
. - Default is
"fixed"
.
size
: string
- Size of iframe.
- Can be one of the following :
["big", "medium", "small", "auto"]
. - Default is
"medium"
.big
: L: 1050px, H: 750pxmedium
: L: 380px, H: 620pxsmall
: L: 350px, H: 500pxauto
: L: 100% of container, H: 100% of container
container
: string
- Element id of container.
- Default is
null
. - If the container is null the document.body is chosen by default.
position
: object
- Object of css position:
- If
size
is"auto"
or"big"
or ifcontainer
is filled, default position value is{top: "0", left: "0"}
- If
size
is"medium"
or"small"
, default position value is{bottom: "0", right: "64px"}
backgroundcolor
: string
- Choose your background iframe color (only visible if trayicon is enable)
- Can be any CSS background color format in string
- Default is
"transparent"
border
: boolean
- Choose if you want to display the border of the iframe.
- Default is
true
.
animation
: boolean
- Choose if you want to have an animation when the iframe shows and hides
- Default is
true
.
trayicon
: boolean
- Choose if you want to display a button to show and hide the iframe.
- Default is
true
.
trayposition
: object
- Object of css position:
- If the container is null, default position value is
{bottom: "10px", right: "10px"}
- If the container is not null , default position value is
{bottom: "-42px", right: "-42px"}
const simpleSDK = new RingoverSDK();
// Iframe main methods
simpleSDK.generate(); // iframe element
simpleSDK.destroy(); // boolean
simpleSDK.checkStatus(); // boolean
// Display methods
simpleSDK.show(); // boolean
simpleSDK.hide(); // boolean
simpleSDK.toggle(); // boolean
simpleSDK.isDisplay(); // boolean
// Ringover methods
simpleSDK.logout(); // boolean
simpleSDK.reload(); // boolean
simpleSDK.getCurrentPage(); // string(pageName) | boolean(false)
simpleSDK.changePage("settings"); // boolean
simpleSDK.dial("+33179757575"); // boolean
simpleSDK.sendSMS("+33610001000", "Hello"); // boolean
simpleSDK.openCallLog("616626881427127983"); // boolean
// Events
simpleSDK.on('changePage', (e) => console.log(e.data));
simpleSDK.on('dialerReady', (e) => console.log(e.data));
simpleSDK.on('login', (e) => console.log(e.data));
simpleSDK.on('logout', (e) => console.log(e.data));
simpleSDK.on('ringingCall', (e) => console.log(e.data));
simpleSDK.on('answeredCall', (e) => console.log(e.data));
simpleSDK.on('hangupCall', (e) => console.log(e.data));
simpleSDK.on('smsSent', (e) => console.log(e.data));
simpleSDK.on('smsReceived', (e) => console.log(e.data));
simpleSDK.off();
Create an iframe, place it in the DOM and return it.
Return: iframe element
Remove iframe from the dom and destroy it. Return true if successful, return false if an error occurs.
Return: boolean
Returns true if the iframe can be generated or is already in the DOM, returns false if an error occurs.
Return boolean
Show or hide the iframe (if animation: true
, the animation is triggered).
Return boolean
Return true if the iframe is displayed, return false if the iframe is hidden.
Return boolean
Logout the current user connected to the web app in the iframe. Return true if successful, return false if an error occurs.
Return boolean
Reload the web app in the iframe. Return true if successful, return false if an error occurs.
Return boolean
Get the current web app page. Return false if an error occurs.
Change the current web app page. Return true if successful, return false if an error occurs.
Parameters:
pageName
: (string). Example: "dialer", "call-logs", "sms", "settings"...
Return boolean
Call a specific number in the web app. Return true if successful, return false if an error occurs.
Parameters:
numberE164
: (string|integer). Example: "+16467129500", "442038906606", 33179757575...fromNumberE164
: (string|integer). OPTIONAL Must be one of the numbers in the dialer presentation number list. Example: "+16467129500", "442038906606", 33179757575...
Return boolean
send an sms to a specific recipient from a mobile number. Return true if successful, return false if an error occurs.
Parameters:
toNumberE164
: (string|integer). Example: "+16467129500", "442038906606", 33179757575...content
: (string). Example: "Hello, welcome to our service."...fromNumberE164
: (string|integer). OPTIONAL Example: "+16467129500", "442038906606", 33179757575...
Return boolean
Open a specific call log by its call_id identifier. Return true if successful, return false if an error occurs.
Parameters:
call_id
: (string). Example: "616626881427127983"...
Return boolean
Set a specific event listener to set up a function that will be called when the event is delivered. Return true if successful, return false if an error occurs.
Parameters:
eventName
: (string). Example: "login", "dialerReady", "ringingCall", "changePage"... See below.myFunction
: (function).
Return boolean
Remove all event listerners previously setted. Return true if successful, return false if an error occurs.
Return boolean
Trigger a hook when the web app changes page. Return the new page name.
Return object:
{
action: "changePage",
data: {
page: "settings"
}
}
page
: (string). Example: "dialer", "call-logs", "sms", "settings"...
Trigger a hook when the web app is ready to receive and make call. Return the current user id.
Return object:
{
action: "dialerReady",
data: {
userId: 123
}
}
userId
: (integer).
Trigger a hook when the user logs on the web app. Return the current user id.
Return object:
{
action: "login",
data: {
userId: 123
}
}
userId
: (integer).
Trigger a hook when the user logs out the web app. Return the previous user id.
Return object:
{
action: "logout",
data: {
userId: 123
}
}
userId
: (integer).
Trigger a hook when a call is ringing or is being dialed. Automatically open the iframe. Return data call.
Return object:
{
action: "ringingCall",
data: {
direction: "out", // "in"|"out"
from_number: "fromNumber",
to_number: "toNumber",
internal: false, // true|false
call_id: "123",
ringDuration: 0,
callDuration: 0
}
}
direction
: (string). Direction (context) of the call. Value can be"in"
or"out"
.from_number
: (string). Caller E164 number.to_number
: (string). Callee E164 number.internal
: (boolean). True if the call is internal of the team (inter-users), false is the call is external.call_id
: (string). Identifier of the call.
Trigger a hook when a call is ringing or is being dialed. Return data call.
Return object:
{
action: "answeredCall",
data: {
direction: "out", // "in"|"out"
from_number: "fromNumber",
to_number: "toNumber",
internal: false, // true|false
call_id: "123",
ringDuration: 123,
callDuration: 0
}
}
direction
: (string). Direction (context) of the call. Value can be"in"
or"out"
.from_number
: (string). Caller E164 number.to_number
: (string). Callee E164 number.internal
: (boolean). True if the call is internal of the team (inter-users), false is the call is external.call_id
: (string). Identifier of the call.ringDuration
: (integer). Duration in seconds of the ringing time (before answer).
Trigger a hook when a call is ringing or is being dialed. Return data call.
Return object:
{
action: "hangupCall",
data: {
direction: "out", // "in"|"out"
from_number: "fromNumber",
to_number: "toNumber",
internal: false, // true|false
call_id: "123",
ringDuration: 123,
callDuration: 123
}
}
direction
: (string). Direction (context) of the call. Value can be"in"
or"out"
.from_number
: (string). Caller E164 number.to_number
: (string). Callee E164 number.internal
: (boolean). True if the call is internal of the team (inter-users), false is the call is external.call_id
: (string). Identifier of the call.ringDuration
: (integer). Duration in seconds of the ringing time (before answer).callDuration
: (integer). Duration in seconds of the call time (after answer).
Trigger a hook when a sms is sendend. Return information about the sms.
Return object:
{
action: "smsSent",
data: {
conversation_id: "123"
to_number: "toNumber",
message: "Hello World",
}
}
conversation_id
: (string). Identifier of the conversation.to_number
: (string). SMS Recipient E164 number.message
: (string). Content of the message.
Trigger a hook when a sms is received. Return information about the sms.
Return object:
{
action: "smsReceived",
data: {
conversation_id: "123"
from_number: "fromNumber",
message: "Hello World",
}
}
conversation_id
: (string). Identifier of the conversation.from_number
: (string). SMS Sender E164 number.message
: (string). Content of the message.