Views: 1430 (Data available since 06.02.2017)

The method gets the list of last messages in chat

Revision: 19
Get information on the current API revision (platform version) – im.revision.get.

Parameters

Parameter Example Req. Description Revision
DIALOG_ID chat29 Yes Dialog ID to load messages 19
LAST_ID 28561624 No ID of the last loaded message 19
FIRST_ID 454322 No ID of the first loaded message 19
LIMIT 20 No Limiting of number of selected messages in dialog 19
  • If the LAST_ID and FIRST_ID keys were not passed, the last 20 chat messages will be loaded.
  • To load next 20 messages you must pass LAST_ID with the minimal message ID, received from the last selection.
  • If you need to load next 20 messages, you must pass FIRST_ID with the maximum message ID, received from the last selection.
  • If you need to load first 20 messages, you must pass FIRST_ID with the ID equal to '0'. You will receive the result with the very first message, available to you in this chat.

Attention! Due to potential significant volume of data, this method does not support standard Bitrix24 REST API pagewise navigation.


Method call

JavaScript

BX24.callMethod('im.dialog.messages.get', {
	DIALOG_ID: 'chat29'
}, function(result){
	if(result.error())
	{
		console.error(result.error().ex);
	}
	else
	{
		console.log(result.data());
	}
});

PHP

$result = restCommand('im.dialog.messages.get', Array(
	'DIALOG_ID': 'chat29'
), $_REQUEST["auth"]);

Example of response

{
	"result": {
		"messages": [
		  {
			"id": 28561624,
			"chat_id": 29,
			"author_id": 1,
			"date": "2018-01-29T16:58:47+03:00",
			"text": "http://squirrel.com",
			"params": {
			  "URL_ID": [
				5
			  ],
			  "URL_ONLY": "Y",
			  "ATTACH": [
				{
				  "ID": "5",
				  "BLOCKS": [
					{
					  "RICH_LINK": [
						{
						  "NAME": "Squirrel",
						  "LINK": "http://squirrel.com",
						  "DESC": "Can find everything",
						  "PREVIEW": "https://yastatic.net/morda-logo/i/share-logo-ru.png"
						}
					  ]
					}
				  ],
				  "COLOR": "transparent"
				}
			  ]
			}
		  },
		  {
			"id": 28561623,
			"chat_id": 29,
			"author_id": 28,
			"date": "2018-01-29T16:43:38+03:00",
			"text": "",
			"params": {
			  "FILE_ID": [
				540
			  ]
			}
		  },
		  {
			"id": 28561622,
			"chat_id": 29,
			"author_id": 1,
			"date": "2018-01-29T16:43:12+03:00",
			"text": "Its operational :)",
			"params": {
			  "IS_EDITED": "Y"
			}
		  },
		  {
			"id": 28561618,
			"chat_id": 29,
			"author_id": 0,
			"date": "2018-01-25T15:15:22+03:00",
			"text": "John Harrington changed chat topic to \"The big chat\"",
			"params": null
		  },
		],
		"users": {
		  "1": {
			"id": 1,
			"name": "John Harrington",
			"first_name": "John",
			"last_name": "Harrington",
			"work_position": "",
			"color": "#df532d",
			"avatar": "http://192.168.2.232/upload/resize_cache/main/1d3/100_100_2/Harrington.png",
			"gender": "M",
			"birthday": "",
			"extranet": false,
			"network": false,
			"bot": false,
			"connector": false,
			"external_auth_id": "default",
			"status": "online",
			"idle": false,
			"last_activity_date": "2018-01-29T17:35:31+03:00",
			"mobile_last_date": false,
			"departments": [
			  50
			],
			"absent": false,
			"phones": {
			  "work_phone": "",
			  "personal_mobile": "",
			  "personal_phone": ""
			}
		  },
		  "28": {
			"id": 28,
			"name": "Chris Curtis",
			"first_name": "Chris",
			"last_name": "Curtis",
			"work_position": "manager",
			"color": "#728f7a",
			"avatar": "http://192.168.2.232/upload/resize_cache/main/8b8/100_100_2/26.jpg",
			"gender": "M",
			"birthday": "26-01",
			"extranet": false,
			"network": false,
			"bot": false,
			"connector": false,
			"external_auth_id": "default",
			"status": "online",
			"idle": false,
			"last_activity_date": false,
			"mobile_last_date": false,
			"departments": [
			  58
			],
			"absent": false,
			"phones": {
			  "work_phone": "8 (97643) 4590-563-2318",
			  "personal_mobile": "8 (33741) 1578-234-8853",
			  "personal_phone": ""
			}
		  },
		},
		"files": {
			"540": {
				"id": 540,
				"chatId": 29,
				"date": "2018-01-29T16:43:39+03:00",
				"type": "image",
				"preview": "",
				"name": "1176297_698081120237288_696773366_n.jpeg",
				"size": 55013,
				"image": {
					"width": 960,
					"height": 640
				},
				"status": "done",
				"progress": 100,
				"authorId": 1,
				"authorName": "John Harrington",
				"urlPreview": "http://192.168.2.232/bitrix/components/bitrix/im.messenger/show.file.php?fileId=540&preview=Y&fileName=1176297_698081120237288_696773366_n.jpeg",
				"urlShow": "http://192.168.2.232/bitrix/components/bitrix/im.messenger/show.file.php?fileId=540&fileName=1176297_698081120237288_696773366_n.jpeg",
				"urlDownload": "http://192.168.2.232/bitrix/components/bitrix/im.messenger/download.file.php?fileId=540"
			}
		},
		"chat_id": 29
	}
}    

Description of keys:

  • messages – array of messages:

    • id – message ID
    • chat_id – chat ID
    • author_id – author of messages (0 - for system message)
    • date – date of the message in ATOM format
    • text – message text
    • params – message parameters, parameter object, if parameters are not passed null (main types are described below)
  • users – user data description objects:

    • id – user ID
    • name – user first and last name
    • first_name – user name
    • last_name – user last name
    • work_position – position
    • color – user color in 'hex' format
    • avatar – avatar link (if empty, then avatar is not specified)
    • gender – user gender
    • birthday – user birthday in DD-MM format, if empty – not specified
    • extranet – extranet user attribute (true/false)
    • network – Bitrix24.Network user attribute (true/false)
    • bot – bot attribute (true/false)
    • connector – Open Channels user attribute (true/false)
    • external_auth_id – external authorization code
    • status – selected user status
    • idle – idle date when user is not using his/her PC, in ATOM format (if not specified, false)
    • last_activity_date – date of the last user action, in ATOM format
    • mobile_last_date – date of the last action inside mobile app, in ATOM format (if not specified, false)
    • absent – date, to which the user has a leave of absence, in ATOM format (if not specified, false)
  • files – object, describing files in selected messages:

    • id – file ID
    • chatId – chat ID
    • date – date when file is modified
    • type – file type: image – image, file – file
    • name – name of loaded file
    • size – actual size of image in bytes
    • image – actual image size in px
    • width – width in px
    • height – height in px
    • status – current status: done – loaded, upload – loading in progress
    • progress – loading progress percentage: 100 – loaded, -1 – current status unavailable
    • authorId – ID of the user who loaded an object
    • authorName – first and last name of user who loaded an object
    • urlPreview – link to image preview (available fro images)
    • urlShow – link to switch to object in "show" mode
    • urlDownload – link to start the download
  • chat_id – chat ID

Description of additional parameters:

  • ATTACH – object containing rich formatting
  • KEYBOARD – object containing keyboard description
  • IS_DELETED – flag that specifies message deleting
  • IS_EDITED – flag that specifies that message is edited
  • FILE_ID – array of file IDs
  • LIKE – array of user IDs. Those user 'liked' the message

Examples of response when error occurs

{
    "error": "DIALOG_ID_EMPTY",
    "error_description": "Dialog ID can't be empty"
}

Description of keys:

  • error – error code
  • error_description – brief description of error

Possible error codes

Code Description
DIALOG_ID_EMPTY Dialog ID not passed
ACCESS_ERROR Current user does not have appropriate permissions to access the dialog

Attention! The method is specified with using of the restCommand function. This method is used to send data in Bitrix24 and is available in the EchoBot example as well as in this article. You can use your own function or BX24.callMethod, or bitrix24-php-sdk JavaScript methods.





Courses developed by «Bitrix», Inc.