- Print
- DarkLight
- PDF
Get Group Integrations
- Print
- DarkLight
- PDF
Retrieves the integrations that the group/channel has. At least one of the following integration permissions is required:
manage-incoming-integrations
manage-own-incoming-integrations
manage-outgoing-integrations
manage-own-outgoing-integrations
It will return the integrations based on the user's permission.
Changelog
Version | Description |
---|---|
1.1.0 | Separate permissions in incoming and outgoing. |
0.49.0 | Added |
The authToken
of the authenticated user.
The userId
of the authenticated user.
The room id.
Number of items to "skip" in the query, i.e. requests return count items, skipping the first offset items.
The number of items to return.
List of fields to order by, and in which direction. This is a JSON object, with properties listed in desired order, with values of 1 for ascending, or -1 for descending. For example, {"value": -1, "_id": 1}
This parameter allows you to use MongoDB query operators to search for specific data. For example, to query users with a name that contains the letter "g": query={ "name": { "$regex": "g" } }
This parameter accepts a JSON object with properties that have a value of 1 or 0 to include or exclude them in the response. For example, to only retrieve the usernames of users: fields={ "username": 1 }
OK
{
"integrations": [
{
"_id": "WMQDChpnYTRmFre9h",
"enabled": true,
"username": "rocket.cat",
"alias": "Guggy",
"avatar": "http://res.guggy.com/logo_128.png",
"name": "Guggy",
"triggerWords": [
"!guggy",
"guggy",
"gif+"
],
"urls": [
"http://text2gif.guggy.com/guggify"
],
"token": "8DFS89DMKLWEN",
"script": "const config = {\n color: '#ffffff'\n};\n\nclass Script {\n prepare_outgoing_request({ request }) {\n const trigger = request.data.trigger_word + ' ';\n const phrase = request.data.text.replace(trigger, '');\n request.headers['Content-Type']='application/json';\n request.headers['apiKey']=request.data.token;\n return {\n url: request.url,\n headers: request.headers,\n data: {format: 'gif', sentence: phrase},\n method: 'POST'\n };\n }\n\n process_outgoing_response({ request, response }) {\n if(response.content.gif) {\n return {\n content: {\n attachments: [\n {\n image_url: response.content.gif,\n color: ((config['color'] != '') ? '#' + config['color'].replace('#', '') : '#ffffff')\n }\n ]\n }\n };\n } else {\n return {\n content: {\n text: 'Sorry I don\\'t have a photo for you :disappointed_relieved:'\n }\n };\n }\n }\n}",
"scriptEnabled": true,
"impersonateUser": false,
"scriptCompiled": "function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError('Cannot call a class as a function')}}var config={color:'#ffffff'};var Script=function(){function Script(){_classCallCheck(this,Script)}Script.prototype.prepare_outgoing_request=function prepare_outgoing_request(_ref){var request=_ref.request;var trigger=request.data.trigger_word+' ';var phrase=request.data.text.replace(trigger,'');request.headers['Content-Type']='application/json';request.headers['apiKey']=request.data.token;return{url:request.url,headers:request.headers,data:{format:'gif',sentence:phrase},method:'POST'}};Script.prototype.process_outgoing_response=function process_outgoing_response(_ref2){var request=_ref2.request;var response=_ref2.response;if(response.content.gif){return{content:{attachments:[{image_url:response.content.gif,color:config['color']!=''?'#'+config['color'].replace('#',''):'#ffffff'}]}}}else{return{content:{text:'Sorry I don\\'t have a photo for you :disappointed_relieved:'}}}};return Script}();",
"scriptError": "",
"type": "webhook-outgoing",
"userId": "rocket.cat",
"channel": [
"#private-group-name"
],
"_createdAt": "2017-01-05T17:06:05.660Z",
"_createdBy": {
"username": "graywolf336",
"_id": "R4jgcQaQhvvK6K3iY"
},
"_updatedAt": "2017-01-05T17:06:05.660Z"
}
],
"success": true
}
Unauthorized
{
"status": "error",
"message": "You must be logged in to do this."
}