Managing your group chats using RumbleTalk RESTful API


Creating a chat room

POST
https://api.rumbletalk.com/chats

Request format

  • Parameter
  • Type
  • Description
  • *name
  • string
  • The name of the chat
  • type
  • integer
  • The chat's type
    Default: 0 (Group chat)
    Set to 1 for expert's chat
  • langId
  • string | integer
  • The language ID or code of the chat
    Default: en (English)
    For language options,
  • monetizeLogin
  • boolean
  • If set to true, will hide the chat behind a PayWall
    Default: false
    Note: account currency must be set for this feature to work
  • facebookLogin
  • boolean
  • If set to true, allows Facebook login
    Default: true
  • twitterLogin
  • boolean
  • If set to true, allows Twitter login
    Default: true
  • rumbleTalkLogin
  • boolean
  • If set to true, allows password protected users login
    Default: true
  • anonymous
  • boolean
  • If set to true, allows guest login
    Default: true
  • register
  • boolean
  • If set to true, allows users to register into the chat - creating a password protected user
    Default: false
  • registerTermsTitle
  • string
  • The title of the terms and conditions link the user must accept before registering
    Default: language's default "register_default_title"
  • systemMessages
    [beta]
  • boolean
  • Whether or not to display chat system messages
    Default: false
  • allowListeners
  • boolean
  • If set to true, allows viewing the chat without logging in
    Default: true
  • forceSDKLogin
  • boolean
  • If set to true, makes the chat private; disabling the login dialog
    Default: false
  • allowLinks
  • boolean
  • If set to true, URLs will be parsed and turned into <a> tag
    Default: true
  • allowImages
  • boolean
  • If set to true, image URLs will be parsed and turned into <img> tags
    Default: true
  • allowAudio
  • boolean
  • If set to true, audio URLs will be parsed and turned into <audio> tags
    Default: true
  • allowVideo
  • boolean
  • If set to true, video URLs will be parsed and turned into <video> tags
    Default: true
  • allowSmiles
  • boolean
  • If set to true, emojis shortcuts, like :) or ;), will be turned into emojis;
    a button for adding emojis will also be displayed
    Default: true
  • upload
  • boolean
  • If set to true, users are able to upload files in the chat
    Default: true
  • uploadAdmin
  • boolean
  • If set to true, only admins are able to upload files
    Default: false
  • p2pAudio
  • boolean
  • If set to true, users will be able to make audio calls between one another
    Default: true
  • p2pAudioAdmin
  • boolean
  • If set to true, only admins will be able to make audio calls
    *users will still be able to receive calls
    Default: false
  • p2pVideo
  • boolean
  • If set to true, users will be able to make video calls between one another
    Default: true
  • p2pVideoAdmin
  • boolean
  • If set to true, only admins will be able to make video calls
    *users will still be able to receive calls
    Default: false
  • filterWords
  • string
  • A comma-separated list of words to be banned from use in the chat;
    use space before a word to indicate it should be searched inside other words
  • archive
  • boolean
  • If set to true, chat messages will be saved in RumbleTalk's database
    Default: true
  • sendArchive
  • boolean
  • If set to true, new users will be able to see archived messages
    Default: true
  • allowPrivateChat
  • boolean
  • If set to true, users will be able to exchange private messages
    Default: true
  • privateChatAdmin
  • boolean
  • If set to true, only chat administrators will be able to start a private chat conversation.
    Other chatters will still be able to reply after a conversation has been started.
    Default: false
  • userslist
  • boolean
  • If set to true, the users list will be displayed in the chat
    Default: true
  • userslistAdmin
  • boolean
  • If set to true, the users list will be visible to administrators only
    Default: false
  • autoInvite
  • boolean
  • If set to true, users will be prompted with Facebook and Twitter invite buttons after login
    Default: true
  • inviteFriends
  • boolean
  • If set to true, the invite button will be displayed
    Default: true
  • offline
  • boolean
  • If set to true, the chat will be taken offline
    Default: false
  • offlineMessage
  • string
  • If 'offline' is set to true, this message will be displayed to users when they open the chat
  • offlineShowForm
  • boolean
  • If set to true, and 'offline' is also set to true, displays a form that users can contact you with
    Default: false
  • offlineMessageEmail
  • string
  • If set to a valid email address, the form will be sent to this email address instead of the account's email address
  • sound_userJoined
  • string
  • The sound to play when a user joins the chat
    Default: 'pop'
    For more sound options, ; use the urlComponent
  • sound_userLeft
  • string
  • The sound to play when a user leaves the chat
    Default: 'pop'
    For more sound options, ; use the urlComponent
  • sound_message
  • string
  • The sound to play when a messages is sent
    Default: 'pop'
    For more sound options, ; use the urlComponent
  • sound_privateMessage
  • string
  • The sound to play when a private messages is sent
    Default: 'pop'
    For more sound options, ; use the urlComponent
  • sound_notice
  • string
  • The sound to play when a notice is sent
    Default: 'pop'
    For more sound options, ; use the urlComponent
  • sound_ring
  • string
  • The sound to play when a user is calling.
    Default: 'pop'
    For more sound options, ; use the urlComponent

Response format

  • Parameter
  • Type
  • Description
  • status
  • boolean
  • true on success, false otherwise
  • chatId
  • integer
  • The ID of the created chat
  • hash
  • string
  • The hash [public ID] of the chat

cURL example

curl \ -X POST \ "https://api.rumbletalk.com/chats" \ -H "Authorization: Bearer <token>" \ -d "{\"name\":\"My Chat\", \"langId\": \"en\"}"

Response example

{ "status": true, "chatId": 123, "hash": "a7-b@93c" }

Duplicating a chat room

POST
https://api.rumbletalk.com/chats/{chatId}/duplicate

Request format

  • Parameter
  • Type
  • Description
  • name
  • string
  • The name of the chat. If not set, default name is used
  • settings
  • boolean
  • If set to true, will copy the chat's general settings
  • monetize
  • boolean
  • If set to true, will copy the chat's monetize settings
  • design
  • boolean
  • If set to true, will copy the chat's design
  • bannedIps
  • boolean
  • If set to true, will add the chat's banned IP address to the new chat room

Response format

  • Parameter
  • Type
  • Description
  • status
  • boolean
  • true on success, false otherwise
  • chatId
  • integer
  • The ID of the created chat
  • hash
  • string
  • The hash [public ID] of the chat

cURL example

curl \ -X POST \ "https://api.rumbletalk.com/chats/123/duplicate" \ -H "Authorization: Bearer <token>" \ -d "{\"name\":\"My Awesome Chat Room\", \"settings\": true}"

Response example

{ "status": true, "chatId": 124, "hash": "77-b@23A" }

Looking up your chat rooms

GET
https://api.rumbletalk.com/chats

GET
https://api.rumbletalk.com/chats/{chatId}

When reading a specific chat (using a chat id), the data parameter contains the chat's data and not an array

Response format

  • Parameter
  • Type
  • Description
  • status
  • boolean
  • true on success, false otherwise
  • count
  • integer
  • Total number of chats in the query
  • data
  • array
  • An array of objects, each representing a chat

Format of the data parameter

  • Parameter
  • Type
  • Description
  • id
  • integer
  • The ID number of the chat
  • createDate
  • timestamp
  • The date in which the chat was created
  • type
  • integer
  • The chat's type
    0 - Group chat
    1 - Expert's chat
  • lastUsed
  • string
  • The date in which the chat was last used
  • name
  • string
  • The name of the chat
  • langId
  • string
  • The language code of the chat
  • facebookLogin
  • boolean
  • true means that Facebook login are allowed
  • monetizeLogin
  • boolean
  • true means that a PayWall is enabled
  • twitterLogin
  • boolean
  • true means that Twitter login are allowed
  • rumbleTalkLogin
  • boolean
  • true means that RumbleTalk login are allowed
  • anonymous
  • boolean
  • true means that guest login are allowed
  • register
  • boolean
  • true means users can register into the chat - creating a password protected user
  • registerTermsLink
  • string
  • The link of the terms and conditions' the user must accept before registering
  • registerTermsTitle
  • string
  • The title of the terms and conditions' link the user must accept before registering
  • systemMessages
  • boolean
  • true means that system messages will be displayed in the group chat
  • allowListeners
  • boolean
  • true means that users can see the chat conversation without logging in
  • forceSDKLogin
  • boolean
  • true means that the chat is private; disabling the login dialog
  • allowLinks
  • boolean
  • true means that URLs will be parsed and turned into <a> tag
  • allowImages
  • boolean
  • true means that image URLs will be parsed and turned into <img> tags
  • allowAudio
  • boolean
  • true means that audio URLs will be parsed and turned into <audio> tags
  • allowVideo
  • boolean
  • true means that video URLs will be parsed and turned into <video> tags
  • allowSmiles
  • boolean
  • true means that emojis shortcuts, like :) or ;), will change into emojis;
    a button for adding emojis will also be displayed
  • upload
  • boolean
  • true means that users will be able to upload files to the chat
  • uploadAdmin
  • boolean
  • true means that only admins will be able to upload files
  • p2pAudio
  • boolean
  • true means that users will be able to make audio calls between one another
  • p2pAudioAdmin
  • boolean
  • true means that only admins will be able to make audio calls;
    *users will still be able to receive calls
  • p2pVideo
  • boolean
  • true means that users will be able to make video calls between one another
  • p2pVideoAdmin
  • boolean
  • true means that only admins will be able to make video calls;
    *users will still be able to receive calls
  • filterWords
  • string
  • A comma-separated list of words to be banned from use in the chat;
    space before words indicates the word will be searched inside other words as well
  • archive
  • boolean
  • true means that chat messages will be saved in RumbleTalk's database
  • sendArchive
  • boolean
  • true means that new users will be able to see archived messages
  • allowPrivateChat
  • boolean
  • true means that users will be able to exchange private messages
  • privateChatAdmin
  • boolean
  • true means that only chat administrators will be able to start a private chat conversation.
    Other chatters will still be able to reply after a conversation has been started.
  • userslist
  • boolean
  • true means that the users list will be displayed
  • userslistAdmin
  • boolean
  • true means that the users list will be displayed for administrators only
  • autoInvite
  • boolean
  • true means that users will be prompted with Facebook and Twitter invite buttons after login
  • inviteFriends
  • boolean
  • true means that the invite button will be displayed
  • offline
  • boolean
  • true means that the chat is offline
  • offlineMessage
  • string
  • The message that is displayed to the users when the chat is offline
  • offlineShowForm
  • boolean
  • true means that, if 'offline' is also set to true, a form that users can contact you with is displayed in the chat
  • offlineMessageEmail
  • string
  • The email address the contact form information is sent to
  • sound_userJoined
  • integer
  • The sound id that plays when a user joins the group chat
  • sound_userLeft
  • integer
  • The sound id that plays when a user leaves the group chat
  • sound_message
  • integer
  • The sound id that plays when a user sends a message
  • sound_privateMessage
  • integer
  • The sound id that plays when a user sends a private message
  • sound_notice
  • integer
  • The sound id that plays when a system notice is sent
  • sound_ring
  • integer
  • The sound id that plays when a user makes a call

cURL example

curl \ -X GET \ "https://api.rumbletalk.com/chats" \ -H "Authorization: Bearer <token>"

Response example

{ "status": true, "count": 2, "data": [ { "id": 424120, "langId": 1, "name": "My chat!", "type": 0, "hash": "3Ao-i9Eb", "monetizeLogin": 1, "systemMessages": 0, "anonymous": 1, "register": 1, "registerTermsLink": "", "registerTermsTitle": "By clicking here you accept our terms and conditions", "allowListeners": 1, "forceSDKLogin": null, "allowLinks": 1, "allowImages": 1, "allowAudio": 1, "allowVideo": 1, "allowSmiles": 1, "upload": 1, "uploadAdmin": null, "p2pAudio": 1, "p2pAudioAdmin": null, "p2pVideo": 1, "p2pVideoAdmin": null, "filterWords": null, "archive": 1, "sendArchive": 1, "allowPrivateChat": 1, "privateChatAdmin": 0, "userslist": 1, "userslistAdmin": 0, "autoInvite": null, "inviteFriends": 1, "offline": null, "offlineMessage": null, "offlineShowForm": null, "offlineMessageEmail": null, "sound_userJoined": 1, "sound_userLeft": 1, "sound_message": 1, "sound_privateMessage": 1, "sound_notice": 1, "sound_ring": 4, "createDate": 1457818322, "lastUsed": null }, ... ] }

Updating a chat room

PUT
https://api.rumbletalk.com/chats/{chatId}

Request format

See creating a chat request format

cURL example

curl \ -X PUT \ "https://api.rumbletalk.com/chats/123456" \ -H "Authorization: Bearer <token>" \ -d "{\"name\":\"My New Chat Name\", \"langId\": \"de\"}"

Response example

{ "status": true }

Deleting a chat room

DELETE
https://api.rumbletalk.com/chats/{chatId}

Response format

  • Parameter
  • Type
  • Description
  • status
  • boolean
  • true on success, false otherwise

cURL example

curl \ -X DELETE \ "https://api.rumbletalk.com/chats/123456" \ -H "Authorization: Bearer <token>"

Response example

{ "status": true }