mail.message.field.get
Получить поле письма
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод mail.message.field.get возвращает описание поля письма по имени.
Параметры
name
string
обязательный
Имя поля, описание которого нужно получить.
Доступные поля:
id— идентификатор письмаmailboxId— идентификатор почтового ящикаmailboxEmail— электронная почта почтового ящикаsubject— тема письмаfrom— отправительto— получателиcc— получатели копииdate— дата письмаisSeen— признак прочтенияhasAttachments— признак вложенийurl— ссылка на письмоbindings— связи письмаbody— текст письма
select
array
необязательный
Список полей описания, которые нужно вернуть в ответе.
Доступные поля:
name— имя поляtype— тип данныхtitle— заголовокdescription— описаниеvalidationRules— правила валидацииrequiredGroups— группы обязательностиfilterable— признак доступности в фильтреsortable— признак доступности в сортировкеeditable— признак редактируемостиmultiple— признак множественного значенияelementType— тип элемента для составных полей
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"subject","select":["name","type","title"]}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/mail.message.field.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"subject","select":["name","type","title"],"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/mail.message.field.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 } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type FieldGetResult = {
item: {
name: string
type: string
title: string
}
}
try {
const response = await $b24.actions.v3.call.make<FieldGetResult>({
method: 'mail.message.field.get',
params: {
name: 'subject',
select: [
'name',
'type',
'title',
],
},
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(result.item.name, result.item.type, result.item.title)
}
} 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 getMessageField() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'mail.message.field.get',
params: {
name: 'subject',
select: [
'name',
'type',
'title',
],
},
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(result.item.name, result.item.type, result.item.title)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getMessageField)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
select = [
"name",
"type",
"title",
]
try:
bitrix_response = client.mail.message.field.get(
name='subject',
select=select,
).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(
'mail.message.field.get',
[
'name' => 'subject',
'select' => [
'name',
'type',
'title'
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
BX24.callMethod(
'mail.message.field.get',
{
name: 'subject',
select: [
'name',
'type',
'title'
]
},
function(result) {
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'mail.message.field.get',
[
'name' => 'subject',
'select' => [
'name',
'type',
'title'
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "mail.message.field.get", b24.Params{
"name": "subject",
"select": []string{"name", "type", "title"},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("mail.message.field.get: %w", err)
}
// Метод заворачивает ответ в объект с ключом "item".
raw, ok := b24.Unwrap(res.Result, "item")
if !ok {
return fmt.Errorf("в ответе нет ключа item")
}
var item struct {
Name string `json:"name"`
Type string `json:"type"`
Title string `json:"title"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Name, item.Type)
Ответ
HTTP-статус: 200
{
"result": {
"item": {
"name": "subject",
"type": "string",
"title": "subject"
}
},
"time": {
"start": 1769780771,
"finish": 1769780771.081992,
"duration": 0.08199191093444824,
"processing": 0,
"date_start": "2026-05-25T16:46:11+03:00",
"date_finish": "2026-05-25T16:46:11+03:00",
"operating_reset_at": 1769781371,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с данными ответа
item
object
Объект с описанием поля. Структура ответа зависит от select
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION",
"message": "Ошибка при валидации объекта запроса",
"validation": [
{
"message": "Обязательное поле `name` не указано",
"field": "name"
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
| — | Доступ запрещен | Проверьте права пользователя и scope mail |

