mail.message.createfeedpost
Создать сообщение Ленты новостей из письма
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод mail.message.createfeedpost создает сообщение Ленты новостей из письма.
Параметры
messageId
integer
обязательный
Идентификатор письма.
Идентификатор можно получить методом mail.message.list
title
string
необязательный
Заголовок сообщения.
Если не передан, используется тема письма
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"messageId":15,"title":"Обсуждение договора"}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/mail.message.createfeedpost
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"messageId":15,"title":"Обсуждение договора","auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/mail.message.createfeedpost
// 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 CreateFeedPostResult = {
success: boolean
postId: number
messageId: number
}
try {
const response = await $b24.actions.v3.call.make<CreateFeedPostResult>({
method: 'mail.message.createfeedpost',
params: {
messageId: 15,
title: 'Discussion of the contract',
},
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('Feed post created:', result.postId, '| success:', result.success)
}
} 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 createFeedPost() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'mail.message.createfeedpost',
params: {
messageId: 15,
title: 'Discussion of the contract',
},
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('Feed post created:', result.postId, '| success:', result.success)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', createFeedPost)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.mail.message.createfeedpost(
message_id=15,
title='Обсуждение договора',
).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.createfeedpost',
[
'messageId' => 15,
'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.createfeedpost',
{
messageId: 15,
title: 'Обсуждение договора'
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'mail.message.createfeedpost',
[
'messageId' => 15,
'title' => 'Обсуждение договора'
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "mail.message.createfeedpost", b24.Params{
"messageId": 15,
"title": "Обсуждение договора",
})
if err != nil {
return fmt.Errorf("mail.message.createfeedpost: %w", err)
}
var item struct {
Success bool `json:"success"`
PostID b24.ID `json:"postId"`
MessageID b24.ID `json:"messageId"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Success, item.PostID)
Ответ
HTTP-статус: 200
{
"result": {
"success": true,
"postId": 55,
"messageId": 15
},
"time": {
"start": 1779819678,
"finish": 1779819678.84803,
"duration": 0.8480300903320312,
"processing": 0,
"date_start": "2026-05-26T21:21:18+03:00",
"date_finish": "2026-05-26T21:21:18+03:00",
"operating_reset_at": 1779820278,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с результатом выполнения операции
success
boolean
Признак успешного выполнения операции
postId
integer
Идентификатор созданного сообщения Ленты новостей
messageId
integer
Идентификатор исходного письма
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION",
"message": "Ошибка при валидации объекта запроса",
"validation": [
{
"message": "Обязательное поле `messageId` не указано",
"field": "messageId"
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
messageId |
Обязательное поле messageId не указано или передано некорректное значение |
Передайте messageId как положительное целое число больше 0 |
| — | Modules blog/socialnetwork are not installed | Установите и настройте модули blog и socialnetwork |
messageId |
Сообщение удалено или перемещено в другую папку | Проверьте, что письмо существует и доступно текущему пользователю |
| — | User blog not found | Проверьте настройки профиля и блога пользователя |
| — | Failed to create blog post | Проверьте права доступа и корректность параметров |

