Description
The e-archiving app allows your organization to retain all, or a selection of, chats directly to your corporate e-archiving systems and to safeguard access to it in accordance to your company's archiving practices. The app is supported by a rigorous authentication and authorization process and is in accordance with the safekeeping of the personal private sphere.
At Beekeeper we recognize the importance of protecting the content and securing access to all chat communication channels. Its importance is given not only by data protection and privacy regulations, but also by business communication retention laws and regulations that apply in many of our customers’ jurisdictions. The e-archiving app is designed to serve a wide range of compliance purposes.
In order to install this app, we require written approval from your company’s legal and compliance department.
Purchase and installation pre-requisites
Please contact your customer success manager (CSM). We will gladly help you set up the configuration of the application.
Installation verification
Once the e-archiving is configured, your CMS will provide you a token access key for authentication purposes of a new "AdminBot" created specifically for e-archiving app. The new admin bot can be found in your dashboard as admin > Extensions > Bot Accounts:
Note: Due to security reasons the token access key of the new "AdminBot" is not displayed in the dashboard, thus keep it in a safe place.
In order to verify that the new "AdminBot" is querying the archived messages from your tenant in the database with e-archiving option, you have to perform a simple GET request to the API endpoint {subdomain}/api/2/archived_messages using your token access key.
For this purpose, you can use any tool that you need. In this guide we provide you a template to perform the GET request, which works in python 2 and 3 with the requests library. Example:
url = {subdomain}/api/2/archived_messages
token = 'Token <YourToken>'
response = requests.get(url, headers={'Authorization': token})
You can expect a response in JSON form with the next structure:
- sender user ID: uuid
- receiver user ID: uuid
- conversation ID: integer
- conversation Name/Title: string
- message (text, photo, files, videos): dict<string>
- created timestamp: datetimestamp
For example:
{
"conversation_id": 2706554,
"videos": [],
"user_id": "236e4fcd-6018-48ba-861b-b0790f5f236c",
"id": 5216926,
"message_type": "regular",
"photos": [],
"text": "Hello and welcome! All members are looking forward to hearing from you. Get started by reading the streams or writing a private message to another member. We look forward to what you have to share with us. If you have any questions, feel free to write to me.",
"created": "2018-06-25T15:33:23",
"is_event": False,
"conversation_title": None,
"files": [],
"uuid": "222d2a95-d292-477d-847c-396abc4a8914",
"links": []
}
Note: Please note that API returns paginated results with max page size of 1,000 exported messages.
Advanced functions (optional)
There are additional functions implemented in the app to apply filters based on date and limit the number of results. The next table shows the optional parameters.
Parameter | Value | Description |
after | Date in string format:
YYYY-MM-DDThh:mm:ss |
Returns messages after this datetime, if before is not defined. |
before | Date in string format:
YYYY-MM-DDThh:mm:ss |
Return messages before this datetime |
limit | integer (1 - 1000) | Limit of messages returned |
The parameters can be used alone or combined in a query. For example a combined CURL query using after and limit:
curl -X GET \
'https://<subdomain>.beekeeper.io/api/2/archived_messages?after=2018-06-25T15:30:10&limit=1' \
-H 'Authorization: Token <YourBotToken>' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
The result of the query returns one message before the date: 2018-06-25T15:30:10.
Comments
0 comments
Please sign in to leave a comment.