Widgets
API base url: https://funplace.fun/api/v1/user/edit/widgets
Add a new alert widget
POST alerts/addnew
scopes: Funplace::edit or Funplace::edit::widgets/alerts/addnew
Add a new notification widget.
Headers
Body
group
yes
int
Select the group you want to add your widget to. Make sure that such a group exists for the user.
Response
{
"success": "ok",
"data": {
"name": "Новая вариация",
"status": true,
"type": {
"id": 0,
"conditions": {
"id":"random",
"value":"Средняя частота (Рекомендуем)"
},
},
"time1": 24,
"time2": 24,
"time3": 0,
"time4": 24,
"design_type": 3,
"image_url": "https://funplace.fun/gallery/stocks/money.gif",
"sound_url": "https://funplace.fun/gallery/stocks/king's move.wav",
"uppermask": "{name} Задонатил {amount}!",
"upperstyle": {
"base_style": "background: #0000; border-radius: 0px; padding: 0px; font-family: \"Press Start 2P\"; display: block; animation: 3s ease 0s infinite normal none running rgbmode; font-weight: bold; font-style: normal; text-decoration: unset; text-shadow: rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) -1px -6px 2px, rgb(0, 0, 0) -1px 6px 2px, rgb(0, 0, 0) 1px -6px 2px, rgb(0, 0, 0) 1px 6px 2px, rgb(0, 0, 0) -6px -1px 2px, rgb(0, 0, 0) -6px 1px 2px, rgb(0, 0, 0) 6px -1px 2px, rgb(0, 0, 0) 6px 1px 2px, rgb(0, 0, 0) -2px -6px 2px, rgb(0, 0, 0) -2px 6px 2px, rgb(0, 0, 0) 2px -6px 2px, rgb(0, 0, 0) 2px 6px 2px, rgb(0, 0, 0) -6px -2px 2px, rgb(0, 0, 0) -6px 2px 2px, rgb(0, 0, 0) 6px -2px 2px, rgb(0, 0, 0) 6px 2px 2px, rgb(0, 0, 0) -3px -6px 2px, rgb(0, 0, 0) -3px 6px 2px, rgb(0, 0, 0) 3px -6px 2px, rgb(0, 0, 0) 3px 6px 2px, rgb(0, 0, 0) -6px -3px 2px, rgb(0, 0, 0) -6px 3px 2px, rgb(0, 0, 0) 6px -3px 2px, rgb(0, 0, 0) 6px 3px 2px, rgb(0, 0, 0) -4px -6px 2px, rgb(0, 0, 0) -4px 6px 2px, rgb(0, 0, 0) 4px -6px 2px, rgb(0, 0, 0) 4px 6px 2px, rgb(0, 0, 0) -6px -4px 2px, rgb(0, 0, 0) -6px 4px 2px, rgb(0, 0, 0) 6px -4px 2px, rgb(0, 0, 0) 6px 4px 2px, rgb(0, 0, 0) -5px -6px 2px, rgb(0, 0, 0) -5px 6px 2px, rgb(0, 0, 0) 5px -6px 2px, rgb(0, 0, 0) 5px 6px 2px, rgb(0, 0, 0) -6px -5px 2px, rgb(0, 0, 0) -6px 5px 2px, rgb(0, 0, 0) 6px -5px 2px, rgb(0, 0, 0) 6px 5px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px;",
"animation": {
"name": "Surf",
"type": "0"
},
"padding_words": 20,
"padding_letters": 5
},
"messagestyle": {
"base_style": "font-family: \"Tiny5\"; width: 100%; display: block; color: rgb(255, 0, 30); text-shadow: rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) -1px -3px 2px, rgb(54, 0, 0) -1px 3px 2px, rgb(54, 0, 0) 1px -3px 2px, rgb(54, 0, 0) 1px 3px 2px, rgb(54, 0, 0) -3px -1px 2px, rgb(54, 0, 0) -3px 1px 2px, rgb(54, 0, 0) 3px -1px 2px, rgb(54, 0, 0) 3px 1px 2px, rgb(54, 0, 0) -2px -3px 2px, rgb(54, 0, 0) -2px 3px 2px, rgb(54, 0, 0) 2px -3px 2px, rgb(54, 0, 0) 2px 3px 2px, rgb(54, 0, 0) -3px -2px 2px, rgb(54, 0, 0) -3px 2px 2px, rgb(54, 0, 0) 3px -2px 2px, rgb(54, 0, 0) 3px 2px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px; animation: unset; font-weight: bold; font-style: normal; text-decoration: unset; padding: 0px; border-radius: 0px; background: none;",
"animation": {
"name": "Gelatine",
"type": "1"
},
"padding_words": 8,
"padding_letters": 3
},
},
"id": 24657,
}{
"error": "bad request",
"error_data": "invalid 'data[sound_url]' value"
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
An array with information about the change. If successful, it matches the data from the request.
id
yes
int
Inclusion of the widget id assigned within the group.
Edit the alert widget
POST alerts/edit
scopes: Funplace::edit or Funplace::edit::widgets/alerts/edit
Edit the notification widget.
Headers
Body
group
yes
int
Select the group you want to edit your widget to. Make sure that such a group exists for the user.
id
yes
int
Widget id.
Response
{
"success": "ok",
"data": {
"name": "Новая вариация",
"status": true,
"type": {
"id": 0,
"conditions": {
"id":"random",
"value":"Средняя частота (Рекомендуем)"
},
},
"time1": 24,
"time2": 24,
"time3": 0,
"time4": 24,
"design_type": 3,
"image_url": "https://funplace.fun/gallery/stocks/money.gif",
"sound_url": "https://funplace.fun/gallery/stocks/king's move.wav",
"uppermask": "{name} Задонатил {amount}!",
"upperstyle": {
"base_style": "background: #0000; border-radius: 0px; padding: 0px; font-family: \"Press Start 2P\"; display: block; animation: 3s ease 0s infinite normal none running rgbmode; font-weight: bold; font-style: normal; text-decoration: unset; text-shadow: rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) -1px -6px 2px, rgb(0, 0, 0) -1px 6px 2px, rgb(0, 0, 0) 1px -6px 2px, rgb(0, 0, 0) 1px 6px 2px, rgb(0, 0, 0) -6px -1px 2px, rgb(0, 0, 0) -6px 1px 2px, rgb(0, 0, 0) 6px -1px 2px, rgb(0, 0, 0) 6px 1px 2px, rgb(0, 0, 0) -2px -6px 2px, rgb(0, 0, 0) -2px 6px 2px, rgb(0, 0, 0) 2px -6px 2px, rgb(0, 0, 0) 2px 6px 2px, rgb(0, 0, 0) -6px -2px 2px, rgb(0, 0, 0) -6px 2px 2px, rgb(0, 0, 0) 6px -2px 2px, rgb(0, 0, 0) 6px 2px 2px, rgb(0, 0, 0) -3px -6px 2px, rgb(0, 0, 0) -3px 6px 2px, rgb(0, 0, 0) 3px -6px 2px, rgb(0, 0, 0) 3px 6px 2px, rgb(0, 0, 0) -6px -3px 2px, rgb(0, 0, 0) -6px 3px 2px, rgb(0, 0, 0) 6px -3px 2px, rgb(0, 0, 0) 6px 3px 2px, rgb(0, 0, 0) -4px -6px 2px, rgb(0, 0, 0) -4px 6px 2px, rgb(0, 0, 0) 4px -6px 2px, rgb(0, 0, 0) 4px 6px 2px, rgb(0, 0, 0) -6px -4px 2px, rgb(0, 0, 0) -6px 4px 2px, rgb(0, 0, 0) 6px -4px 2px, rgb(0, 0, 0) 6px 4px 2px, rgb(0, 0, 0) -5px -6px 2px, rgb(0, 0, 0) -5px 6px 2px, rgb(0, 0, 0) 5px -6px 2px, rgb(0, 0, 0) 5px 6px 2px, rgb(0, 0, 0) -6px -5px 2px, rgb(0, 0, 0) -6px 5px 2px, rgb(0, 0, 0) 6px -5px 2px, rgb(0, 0, 0) 6px 5px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px;",
"animation": {
"name": "Surf",
"type": "0"
},
"padding_words": 20,
"padding_letters": 5
},
"messagestyle": {
"base_style": "font-family: \"Tiny5\"; width: 100%; display: block; color: rgb(255, 0, 30); text-shadow: rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) -1px -3px 2px, rgb(54, 0, 0) -1px 3px 2px, rgb(54, 0, 0) 1px -3px 2px, rgb(54, 0, 0) 1px 3px 2px, rgb(54, 0, 0) -3px -1px 2px, rgb(54, 0, 0) -3px 1px 2px, rgb(54, 0, 0) 3px -1px 2px, rgb(54, 0, 0) 3px 1px 2px, rgb(54, 0, 0) -2px -3px 2px, rgb(54, 0, 0) -2px 3px 2px, rgb(54, 0, 0) 2px -3px 2px, rgb(54, 0, 0) 2px 3px 2px, rgb(54, 0, 0) -3px -2px 2px, rgb(54, 0, 0) -3px 2px 2px, rgb(54, 0, 0) 3px -2px 2px, rgb(54, 0, 0) 3px 2px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px; animation: unset; font-weight: bold; font-style: normal; text-decoration: unset; padding: 0px; border-radius: 0px; background: none;",
"animation": {
"name": "Gelatine",
"type": "1"
},
"padding_words": 8,
"padding_letters": 3
},
},
"id": 24657,
}{
"error": "bad request",
"error_data": "invalid 'data[sound_url]' value"
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
An array with information about the change. If successful, it matches the data from the request.
id
yes
int
Inclusion of the widget id assigned within the group.
Switch the alert widget status
POST alerts/switchStatus
scopes: Funplace::edit or Funplace::edit::widgets/alerts/switchStatus
Toggle the on/off state of the notification widget.
Headers
Body
group
yes
int
Select the group you want to edit your widget to. Make sure that such a group exists for the user.
id
yes
int
Widget id.
Response
{
"success": "ok",
"data": {
"name": "Новая вариация",
"status": true,
"type": {
"id": 0,
"conditions": {
"id":"random",
"value":"Средняя частота (Рекомендуем)"
},
},
"time1": 24,
"time2": 24,
"time3": 0,
"time4": 24,
"design_type": 3,
"image_url": "https://funplace.fun/gallery/stocks/money.gif",
"sound_url": "https://funplace.fun/gallery/stocks/king's move.wav",
"uppermask": "{name} Задонатил {amount}!",
"upperstyle": {
"base_style": "background: #0000; border-radius: 0px; padding: 0px; font-family: \"Press Start 2P\"; display: block; animation: 3s ease 0s infinite normal none running rgbmode; font-weight: bold; font-style: normal; text-decoration: unset; text-shadow: rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) -1px -6px 2px, rgb(0, 0, 0) -1px 6px 2px, rgb(0, 0, 0) 1px -6px 2px, rgb(0, 0, 0) 1px 6px 2px, rgb(0, 0, 0) -6px -1px 2px, rgb(0, 0, 0) -6px 1px 2px, rgb(0, 0, 0) 6px -1px 2px, rgb(0, 0, 0) 6px 1px 2px, rgb(0, 0, 0) -2px -6px 2px, rgb(0, 0, 0) -2px 6px 2px, rgb(0, 0, 0) 2px -6px 2px, rgb(0, 0, 0) 2px 6px 2px, rgb(0, 0, 0) -6px -2px 2px, rgb(0, 0, 0) -6px 2px 2px, rgb(0, 0, 0) 6px -2px 2px, rgb(0, 0, 0) 6px 2px 2px, rgb(0, 0, 0) -3px -6px 2px, rgb(0, 0, 0) -3px 6px 2px, rgb(0, 0, 0) 3px -6px 2px, rgb(0, 0, 0) 3px 6px 2px, rgb(0, 0, 0) -6px -3px 2px, rgb(0, 0, 0) -6px 3px 2px, rgb(0, 0, 0) 6px -3px 2px, rgb(0, 0, 0) 6px 3px 2px, rgb(0, 0, 0) -4px -6px 2px, rgb(0, 0, 0) -4px 6px 2px, rgb(0, 0, 0) 4px -6px 2px, rgb(0, 0, 0) 4px 6px 2px, rgb(0, 0, 0) -6px -4px 2px, rgb(0, 0, 0) -6px 4px 2px, rgb(0, 0, 0) 6px -4px 2px, rgb(0, 0, 0) 6px 4px 2px, rgb(0, 0, 0) -5px -6px 2px, rgb(0, 0, 0) -5px 6px 2px, rgb(0, 0, 0) 5px -6px 2px, rgb(0, 0, 0) 5px 6px 2px, rgb(0, 0, 0) -6px -5px 2px, rgb(0, 0, 0) -6px 5px 2px, rgb(0, 0, 0) 6px -5px 2px, rgb(0, 0, 0) 6px 5px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px;",
"animation": {
"name": "Surf",
"type": "0"
},
"padding_words": 20,
"padding_letters": 5
},
"messagestyle": {
"base_style": "font-family: \"Tiny5\"; width: 100%; display: block; color: rgb(255, 0, 30); text-shadow: rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) -1px -3px 2px, rgb(54, 0, 0) -1px 3px 2px, rgb(54, 0, 0) 1px -3px 2px, rgb(54, 0, 0) 1px 3px 2px, rgb(54, 0, 0) -3px -1px 2px, rgb(54, 0, 0) -3px 1px 2px, rgb(54, 0, 0) 3px -1px 2px, rgb(54, 0, 0) 3px 1px 2px, rgb(54, 0, 0) -2px -3px 2px, rgb(54, 0, 0) -2px 3px 2px, rgb(54, 0, 0) 2px -3px 2px, rgb(54, 0, 0) 2px 3px 2px, rgb(54, 0, 0) -3px -2px 2px, rgb(54, 0, 0) -3px 2px 2px, rgb(54, 0, 0) 3px -2px 2px, rgb(54, 0, 0) 3px 2px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px; animation: unset; font-weight: bold; font-style: normal; text-decoration: unset; padding: 0px; border-radius: 0px; background: none;",
"animation": {
"name": "Gelatine",
"type": "1"
},
"padding_words": 8,
"padding_letters": 3
},
},
"id": 24657,
}{
"error": "bad request",
"error_data": "invalid 'data[group]' value"
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
An array with information about the change. If successful, it matches the data from the request.
id
yes
int
Inclusion of the widget id assigned within the group.
Delete the alert widget
POST alerts/delete
scopes: Funplace::edit or Funplace::edit::widgets/alerts/delete
Delete the notification widget.
Headers
Body
group
yes
int
Select the group you want to delete the widget to. Make sure that such a group exists for the user.
id
yes
int
Widget id.
Response
{
"success": "ok",
"data": {}
}{
"error": "bad request",
"error_data": "invalid 'group' value"
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
Add a new multichat widget
POST multichat/addnew
scopes: Funplace::edit or Funplace::edit::widgets/multichat/addnew
Add a new multichat widget.
Headers
Body
twitch_status
yes
boolean
Is twitch chat enabled in this widget.
youtube_status
yes
boolean
Is youtube chat enabled in this widget.
trovo_status
yes
boolean
Is trovo chat enabled in this widget.
(SOON) kick_status
yes
boolean
Is kick chat enabled in this widget.
font
yes
String
CSS font-family name.
align
yes
String
Text alignment type. Available values: left, right, center, width.
color
yes
color code
Text color.
animation
yes
String
Type of message appearance. Available values: tobottom, totop, fromcenter
icon_display
yes
boolean
Is the service icon (Youtube, Twitch, Trovo, Kick...) be shown next to the message.
Response
{
"success": "ok",
"data": {
"widget_link": "https://widget.funplace.fun/multichat?token=eyJh...",
"id": 42,
},
}{
"error": "bad request",
"error_data": "invalid 'twitch_status' value"
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
data[widget_link]
yes
URI
Link to embed the widget.
data[id]
yes
int
The ID of this multichat widget.
Edit the multichat widget
POST multichat/edit
scopes: Funplace::edit or Funplace::edit::widgets/multichat/edit
Edit the multichat widget.
Headers
Body
id
yes
int
The ID of the widget to be modified.
twitch_status
no
boolean
Is twitch chat enabled in this widget.
switch_twitch_status
no (Cannot be specified if twitch_status is specified)
boolean
Specify if you want to toggle the state of the twitch chat in the widget.
youtube_status
no
boolean
Is youtube chat enabled in this widget.
switch_youtube_status
no (Cannot be specified if youtube_status is specified)
boolean
Specify if you want to toggle the state of the youtube chat in the widget.
trovo_status
no
boolean
Is trovo chat enabled in this widget.
switch_trovo_status
no (Cannot be specified if trovo_status is specified)
boolean
Specify if you want to toggle the state of the trov chat in the widget.
(SOON) kick_status
no
boolean
Is kick chat enabled in this widget.
font
no
String
CSS font-family name.
align
no
String
Text alignment type. Available values: left, right, center, width.
color
no
color code
Text color.
animation
no
String
Type of message appearance. Available values: tobottom, totop, fromcenter
icon_display
no
boolean
Is the service icon (Youtube, Twitch, Trovo, Kick...) be shown next to the message.
Response
{
"success": "ok",
"data": {},
}{
"error": "bad request",
"error_data": "You do not have access to edit this particular widget because it is not owned by the user whose bearer token you provided."
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
Delete the multichat widget
POST multichat/delete
scopes: Funplace::edit or Funplace::edit::widgets/multichat/delete
Delete the multichat widget.
Headers
Body
id
yes
int
The ID of the widget to be modified.
Response
{
"success": "ok",
"data": {},
}{
"error": "bad request",
"error_data": "You do not have access to edit this particular widget because it is not owned by the user whose bearer token you provided."
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
Setup music integration
POST music/setup
scopes: Funplace::edit or Funplace::edit::widgets/music/setup
Setting up donations with music attachment. Available only for users who have connected their Spotify in their dashboard on Funplace or via the link: tap.
Headers
Body
turnon
no
bool
Are donations included with music.
mincost
no
Array
Minimum price for donating music.
mincost[amount]
yes (Only if the mincost is specified)
double
Amount of the mincost value. Enter the amount as a number, in the xx.xx format.
Example: 50.00
ATTENTION: The total amount should not be less than the minimum donation amount.
mincost[curr]
yes (Only if the mincost is specified)
String
Currency of the mincost value. One of the available currencies in ISO 4217 format: RUB,USD,EUR,UAH,BRL,TRY,KZT,INR,PLN,GEL,CNY,BTC,ETH,SOL,TON.
Response
{
"success": "ok",
"data": {
"turnon": true,
"mincost": {
"amount": 42.00,
"curr": "GEL",
},
},
}{
"error": "bad request",
"error_data": "Unsupported 'mincost[curr]' value"
}{
"error": "unauthorized",
"error_data": {},
}success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
data[turnon]
yes
bool
Are donations included with music.
data[mincost]
yes
Array
Minimum price for donating music.
API base url: https://funplace.fun/api/v1/user/get/widgets/
List of multichat widgets
GET multichat/list
scopes: Funplace::view or Funplace::view::widgets/multichat/list
Get a list of multichat widgets assigned to the user.
Headers
Response
{
"success": "ok",
"data": {
{
"id": "1",
"uid": "1",
"twitch": "1",
"youtube": "0",
"trovo": "1",
"font": "Stalinist One",
"align": "left",
"color": "#222222",
"animation": "tobottom",
"icon_display": "0"
},
{
"id": "2",
"uid": "1",
"twitch": "1",
"youtube": "0",
"trovo": "1",
"font": "Unbounded",
"align": "left",
"color": "#777777",
"animation": "tobottom",
"icon_display": "1"
}
},
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
data[?][id]
yes
int
The ID of the widget.
data[?][uid]
yes
int
Funplace profile id.
data[?][twitch]
yes
bool
Is twitch chat enabled in this widget.
data[?][youtube]
yes
bool
Is youtube chat enabled in this widget.
data[?][trovo]
yes
bool
Is trovo chat enabled in this widget.
data[?][font]
yes
String
CSS font-family name.
data[?][align]
yes
String
Text alignment type. Available values: left, right, center, width.
data[?][color]
yes
String
Text color.
data[?][animation]
yes
String
Type of message appearance. Available values: tobottom, totop, fromcenter
data[?][icon_display]
yes
bool
Is the service icon (Youtube, Twitch, Trovo, Kick...) be shown next to the message.
Get multichat embed link
GET multichat/getlink
scopes: Funplace::view or Funplace::view::widgets/embed/getlink
Get a link to embed a specific multichat widget by its ID
Headers
Query Parameters
id
yes
int
The ID of the widget.
Response
{
"success": "ok",
"data": {
"widget_link": "https://widget.funplace.fun/multichat?token=eyJh...",
}
}{
"error": "bad request",
"error_data": "invalid 'id' value"
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
data[widget_link]
yes
array
Link to embed the widget.
List of alert widgets
GET alerts/list
scopes: Funplace::view or Funplace::view::widgets/alerts/list
Get a list of notification widgets assigned to the user.
Headers
Query Parameters
group
no
int
Specify a group here if you want to get widgets only from it. Make sure that such a group exists for the user.
Response
{
"success": "ok",
"data": {
"1": {
"1722977030": {
"name": "Новая вариация",
"status": true,
"type": {
"id": 0,
"conditions": {
"id":"random",
"value":"Средняя частота (Рекомендуем)"
},
},
"time1": 24,
"time2": 24,
"time3": 0,
"time4": 24,
"design_type": 3,
"image_url": "https://funplace.fun/gallery/stocks/money.gif",
"sound_url": "https://funplace.fun/gallery/stocks/king's move.wav",
"uppermask": "{name} Задонатил {amount}!",
"upperstyle": {
"base_style": "background: #0000; border-radius: 0px; padding: 0px; font-family: \"Press Start 2P\"; display: block; animation: 3s ease 0s infinite normal none running rgbmode; font-weight: bold; font-style: normal; text-decoration: unset; text-shadow: rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) 0px -6px 2px, rgb(0, 0, 0) 0px 6px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) -6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) 6px 0px 2px, rgb(0, 0, 0) -1px -6px 2px, rgb(0, 0, 0) -1px 6px 2px, rgb(0, 0, 0) 1px -6px 2px, rgb(0, 0, 0) 1px 6px 2px, rgb(0, 0, 0) -6px -1px 2px, rgb(0, 0, 0) -6px 1px 2px, rgb(0, 0, 0) 6px -1px 2px, rgb(0, 0, 0) 6px 1px 2px, rgb(0, 0, 0) -2px -6px 2px, rgb(0, 0, 0) -2px 6px 2px, rgb(0, 0, 0) 2px -6px 2px, rgb(0, 0, 0) 2px 6px 2px, rgb(0, 0, 0) -6px -2px 2px, rgb(0, 0, 0) -6px 2px 2px, rgb(0, 0, 0) 6px -2px 2px, rgb(0, 0, 0) 6px 2px 2px, rgb(0, 0, 0) -3px -6px 2px, rgb(0, 0, 0) -3px 6px 2px, rgb(0, 0, 0) 3px -6px 2px, rgb(0, 0, 0) 3px 6px 2px, rgb(0, 0, 0) -6px -3px 2px, rgb(0, 0, 0) -6px 3px 2px, rgb(0, 0, 0) 6px -3px 2px, rgb(0, 0, 0) 6px 3px 2px, rgb(0, 0, 0) -4px -6px 2px, rgb(0, 0, 0) -4px 6px 2px, rgb(0, 0, 0) 4px -6px 2px, rgb(0, 0, 0) 4px 6px 2px, rgb(0, 0, 0) -6px -4px 2px, rgb(0, 0, 0) -6px 4px 2px, rgb(0, 0, 0) 6px -4px 2px, rgb(0, 0, 0) 6px 4px 2px, rgb(0, 0, 0) -5px -6px 2px, rgb(0, 0, 0) -5px 6px 2px, rgb(0, 0, 0) 5px -6px 2px, rgb(0, 0, 0) 5px 6px 2px, rgb(0, 0, 0) -6px -5px 2px, rgb(0, 0, 0) -6px 5px 2px, rgb(0, 0, 0) 6px -5px 2px, rgb(0, 0, 0) 6px 5px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px, rgb(0, 0, 0) -6px -6px 2px, rgb(0, 0, 0) -6px 6px 2px, rgb(0, 0, 0) 6px -6px 2px, rgb(0, 0, 0) 6px 6px 2px;",
"animation": {
"name": "Surf",
"type": "0"
},
"padding_words": 20,
"padding_letters": 5
},
"messagestyle": {
"base_style": "font-family: \"Tiny5\"; width: 100%; display: block; color: rgb(255, 0, 30); text-shadow: rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) 0px -3px 2px, rgb(54, 0, 0) 0px 3px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) -3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) 3px 0px 2px, rgb(54, 0, 0) -1px -3px 2px, rgb(54, 0, 0) -1px 3px 2px, rgb(54, 0, 0) 1px -3px 2px, rgb(54, 0, 0) 1px 3px 2px, rgb(54, 0, 0) -3px -1px 2px, rgb(54, 0, 0) -3px 1px 2px, rgb(54, 0, 0) 3px -1px 2px, rgb(54, 0, 0) 3px 1px 2px, rgb(54, 0, 0) -2px -3px 2px, rgb(54, 0, 0) -2px 3px 2px, rgb(54, 0, 0) 2px -3px 2px, rgb(54, 0, 0) 2px 3px 2px, rgb(54, 0, 0) -3px -2px 2px, rgb(54, 0, 0) -3px 2px 2px, rgb(54, 0, 0) 3px -2px 2px, rgb(54, 0, 0) 3px 2px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px, rgb(54, 0, 0) -3px -3px 2px, rgb(54, 0, 0) -3px 3px 2px, rgb(54, 0, 0) 3px -3px 2px, rgb(54, 0, 0) 3px 3px 2px; animation: unset; font-weight: bold; font-style: normal; text-decoration: unset; padding: 0px; border-radius: 0px; background: none;",
"animation": {
"name": "Gelatine",
"type": "1"
},
"padding_words": 8,
"padding_letters": 3
},
}
}
}
}{
"error": "bad request",
"error_data": "invalid 'group' value"
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
data[<group>]
yes
array
List of widgets that belong to this group. (The group is specified in the array key)
List of alert widget groups
GET alerts/groups_list
scopes: Funplace::view or Funplace::view::widgets/alerts/groups_list
Get a list of notification widget groups assigned to the user.
Headers
Response
{
"success": "ok",
"data": {
"group_list": ["1"],
"links": {
"1": "https://widget.funplace.fun/alerts?token=eyJh..."
}
}
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
data[group_list]
yes
array
List of groups available to the user.
data[links][<group>]
yes
URI
Embed link for this specific group. (The group is specified in the array key)
Get music integration info
GET music/info
scopes: Funplace::view or Funplace::view::widgets/music/info
Get a link to embed a specific multichat widget by its ID
Headers
Response
{
"success": "ok",
"data": {
"player_link": "https://widget.funplace.fun/music/player.php?token=eyJh...",
"nowplaywidget_link": "https://widget.funplace.fun/music/nowplay.php?token=eyJh...",
"settings": {
"turnon": true,
"mincost": {
"amount": 42.00,
"curr": "GEL",
},
}
}
}{
"error": "unauthorized",
"error_data": {},
}Response body (If successful)
success
yes
string
Always have the value ok.
data
yes
array
An array with information about the change.
data[player_link]
yes
URI
Link to music player.
data[nowplaywidget_link]
yes
URI
Link to embed the Now Playing widget.
data[settings][turnon]
yes
bool
Are donations included with music.
data[settings][mincost]
yes
array
Minimum price for donating music.
API base url: https://funplace.fun/api/v1/get/
List of alert types
GET alerts/typeList
Get a list of available alert types.
Headers
Content-Type
application/json
Response
{
{
"name_ru": "Донаты Funplace",
"icon": "https://funplace.fun/rrr/dashboard/last/servise-icon-funplace.svg",
"conditions": {
"random",
},
"tags": "{amount}, {username}, {message}, {payment_method}",
"id": "0",
},
{
"name_ru": "Фоловверы Twitch",
"icon": "https://funplace.fun/rrr/dashboard/last/servise-icon-twitch.svg",
"conditions": {
"random", "donatetype", "sumbigger", "sumequals",
},
"tags": "{username}, {number_of_followers}",
"id": "1",
}
}Last updated
Was this helpful?