mail.mailbox.list
Получить список почтовых ящиков
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод mail.mailbox.list возвращает список почтовых ящиков текущего пользователя по заданным условиям.
Параметры
name
string
необязательный
Фрагмент имени почтового ящика для фильтрации
email
string
необязательный
Фрагмент электронной почты для фильтрации
pagination
object
необязательный
Параметры постраничной навигации:
- page — номер страницы
- limit — количество записей на страницу, по умолчанию 25, максимум 100
- offset — смещение записей. Если переданы page и limit, смещение вычисляется автоматически
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"work","email":"example.com","pagination":{"page":1,"limit":20,"offset":0}}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/mail.mailbox.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"work","email":"example.com","pagination":{"page":1,"limit":20,"offset":0},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/mail.mailbox.list
// 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 MailboxListResult = {
items: {
id: number
name: string
email: string
senderName: string
}[]
}
try {
const response = await $b24.actions.v3.call.make<MailboxListResult>({
method: 'mail.mailbox.list',
params: {
name: 'work',
email: 'example.com',
pagination: {
page: 1,
limit: 20,
offset: 0,
},
},
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('Mailboxes found:', result.items.length, result.items)
}
} 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 getMailboxList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'mail.mailbox.list',
params: {
name: 'work',
email: 'example.com',
pagination: {
page: 1,
limit: 20,
offset: 0,
},
},
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('Mailboxes found:', result.items.length, result.items)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getMailboxList)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
pagination = {
"page": 1,
"limit": 20,
"offset": 0,
}
try:
bitrix_response = client.mail.mailbox.list(
name='work',
email='example.com',
pagination=pagination,
).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.mailbox.list',
[
'name' => 'work',
'email' => 'example.com',
'pagination' => [
'page' => 1,
'limit' => 20,
'offset' => 0
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
BX24.callMethod(
'mail.mailbox.list',
{
name: 'work',
email: 'example.com',
pagination: {
page: 1,
limit: 20,
offset: 0
}
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'mail.mailbox.list',
[
'name' => 'work',
'email' => 'example.com',
'pagination' => [
'page' => 1,
'limit' => 20,
'offset' => 0
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "mail.mailbox.list", b24.Params{
"name": "work",
"email": "example.com",
"pagination": b24.Params{
"page": 1,
"limit": 20,
"offset": 0,
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("mail.mailbox.list: %w", err)
}
// Метод заворачивает ответ в объект с ключом "items".
raw, ok := b24.Unwrap(res.Result, "items")
if !ok {
return fmt.Errorf("в ответе нет ключа items")
}
var items []struct {
ID b24.ID `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
SenderName string `json:"senderName"`
}
if err := json.Unmarshal(raw, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID)
}
Ответ
HTTP-статус: 200
{
"result": {
"items": [
{
"id": 1,
"name": "Рабочая почта",
"email": "user@example.com",
"senderName": "Иван Петров"
}
]
},
"time": {
"start": 1779819427,
"finish": 1779819427.356922,
"duration": 0.356921911239624,
"processing": 0,
"date_start": "2026-05-26T11:17:07+03:00",
"date_finish": "2026-05-26T11:17:07+03:00",
"operating_reset_at": 1779820027,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с данными ответа
items
array
Массив объектов почтовых ящиков
items[]
object
Объект почтового ящика
id
integer
Идентификатор почтового ящика
name
string
Имя почтового ящика
email
string
Адрес электронной почты
senderName
string
Имя отправителя
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_INVALIDPAGINATIONEXCEPTION",
"message": "Не удается распознать параметр пагинации `{\"limit\":\"abc\"}`"
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
| — | Доступ запрещен | Проверьте права пользователя и scope mail |

