im.search.last.get
Получить историю поиска
Описание
Устаревший метод
Метод разработан для предыдущей версии чата и оставлен только для поддержки существующих интеграций. В текущей версии чата М1 он работает, но результат не отображается в интерфейсе. Замены в текущей версии нет.
Метод im.search.last.get возвращает список диалогов из истории последнего поиска.
Параметры
SKIP_OPENLINES
string
необязательный
Пропустить чаты Открытых линий.
Возможные значения:
- Y — да
- N — нет
Значение по умолчанию — N
SKIP_CHAT
string
необязательный
Пропустить групповые чаты.
Возможные значения:
- Y — да
- N — нет
Значение по умолчанию — N
SKIP_DIALOG
string
необязательный
Пропустить личные диалоги.
Возможные значения:
- Y — да
- N — нет
Значение по умолчанию — N
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"SKIP_OPENLINES":"N","SKIP_CHAT":"N","SKIP_DIALOG":"N"}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/im.search.last.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"SKIP_OPENLINES":"N","SKIP_CHAT":"N","SKIP_DIALOG":"N","auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/im.search.last.get
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of each SearchLastItem returned in result[]
type SearchLastItem = {
id: string | number
type: 'chat' | 'user'
avatar: {
url: string
color: string
}
title: string
chat?: {
id: number
name: string
owner: number
extranet: boolean
avatar: string
color: string
type: string
entity_type: string
entity_id: string
entity_data_1: string
entity_data_2: string
entity_data_3: string
mute_list: unknown[]
date_create: ISODate
message_type: string
}
user?: {
id: number
active: boolean
name: string
first_name: string
last_name: string
work_position: string
color: string
avatar: string
avatar_hr: string
gender: string
birthday: string
extranet: boolean
network: boolean
bot: boolean
connector: boolean
external_auth_id: string
status: string
idle: ISODate | false
last_activity_date: ISODate
mobile_last_date: ISODate | false
desktop_last_date: ISODate | false
absent: ISODate | false
departments: number[]
phones: { personal_mobile: string; work_phone: string; inner_phone: string } | false
bot_data: object | null
type: string
website: string
email: string
}
}
try {
const response = await $b24.actions.v2.call.make<SearchLastItem[]>({
method: 'im.search.last.get',
params: {
SKIP_OPENLINES: 'N',
SKIP_CHAT: 'N',
SKIP_DIALOG: 'N',
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Search history entries:', result.length, result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function getSearchHistory() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'im.search.last.get',
params: {
SKIP_OPENLINES: 'N',
SKIP_CHAT: 'N',
SKIP_DIALOG: 'N',
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Search history entries:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getSearchHistory)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.im.search.last.get(
skip_openlines=False,
skip_chat=False,
skip_dialog=False,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service->core->call(
'im.search.last.get',
[
'SKIP_OPENLINES' => 'N',
'SKIP_CHAT' => 'N',
'SKIP_DIALOG' => 'N',
]
);
$result = $response->getResponseData()->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
var_dump($result->data());
}
} catch (Throwable $exception) {
echo $exception->getMessage();
}
BX24.callMethod(
'im.search.last.get',
{
SKIP_OPENLINES: 'N',
SKIP_CHAT: 'N',
SKIP_DIALOG: 'N',
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'im.search.last.get',
[
'SKIP_OPENLINES' => 'N',
'SKIP_CHAT' => 'N',
'SKIP_DIALOG' => 'N',
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
var_dump($result['result']);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "im.search.last.get", b24.Params{
"SKIP_OPENLINES": "N",
"SKIP_CHAT": "N",
"SKIP_DIALOG": "N",
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("im.search.last.get: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
{
"result": [
{
"id": "chat1157",
"type": "chat",
"avatar": {
"url": "",
"color": "#ab7761"
},
"title": "Бурый чат №18",
"chat": {
"id": 1157,
"name": "Бурый чат №18",
"owner": 27,
"extranet": false,
"avatar": "",
"color": "#ab7761",
"type": "thread",
"entity_type": "THREAD",
"entity_id": "",
"entity_data_1": "",
"entity_data_2": "",
"entity_data_3": "",
"mute_list": [],
"date_create": "2025-01-30T00:41:03+03:00",
"message_type": "C"
}
},
{
"id": 103,
"type": "user",
"avatar": {
"url": "https://example.bitrix24.ru/upload/main/avatar.png",
"color": "#4ba984"
},
"title": "Светлана Иванова",
"user": {
"id": 103,
"active": true,
"name": "Светлана Иванова",
"first_name": "Светлана",
"last_name": "Иванова",
"work_position": "Руководитель ИТ-отдела",
"color": "#4ba984",
"avatar": "https://example.bitrix24.ru/upload/main/avatar.png",
"avatar_hr": "https://example.bitrix24.ru/upload/main/avatar.png",
"gender": "F",
"birthday": "08-03",
"extranet": false,
"network": false,
"bot": false,
"connector": false,
"external_auth_id": "socservices",
"status": "online",
"idle": false,
"last_activity_date": "2026-03-05T10:19:37+03:00",
"mobile_last_date": false,
"desktop_last_date": false,
"absent": false,
"departments": [1, 7],
"phones": {
"personal_mobile": "81234567890",
"work_phone": "79123456789",
"inner_phone": "78"
},
"bot_data": null,
"type": "user",
"website": "",
"email": "svetlana@example.ru"
}
}
],
"time": {
"start": 1772695649,
"finish": 1772695649.89509,
"duration": 0.8950901031494141,
"processing": 0,
"date_start": "2026-03-05T10:27:29+03:00",
"date_finish": "2026-03-05T10:27:29+03:00",
"operating_reset_at": 1772696249,
"operating": 0
}
}
Возвращаемые данные
result
array
Список элементов истории поиска.
Структура объекта элемента подробно описана ниже
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 401
{
"error": "INVALID_CREDENTIALS",
"error_description": "Invalid request credentials"
}

