messageservice.sender.update
Обновить провайдер сообщений
Описание
Метод messageservice.sender.update обновляет данные зарегистрированного провайдера сообщений.
Метод работает только в контексте приложения.
Параметры
CODE
string
обязательный
Код провайдера, который нужно обновить.
Код провайдера можно получить методом messageservice.sender.list
HANDLER
string
необязательный
Новый URL обработчика приложения
NAME
string
необязательный
Новое название провайдера.
Может быть строкой или ассоциативным массивом локализированных строк вида:
'NAME': {
'ru': 'название провайдера',
'en': 'provider name',
...
},DESCRIPTION
string
необязательный
Новое описание провайдера.
Может быть строкой или ассоциативным массивом локализированных строк вида:
'DESCRIPTION': {
'ru': 'описание провайдера',
'en': 'provider description',
...
},Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"CODE":"provider1","HANDLER":"https://provider.example/api/new-handler","NAME":"Provider 1 Updated","DESCRIPTION":"Обновленное описание","auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/messageservice.sender.update
// 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
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'messageservice.sender.update',
params: {
CODE: 'provider1',
HANDLER: 'https://provider.example/api/new-handler',
NAME: 'Provider 1 Updated',
DESCRIPTION: 'Updated provider description',
},
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('Sender updated:', 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 updateSender() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'messageservice.sender.update',
params: {
CODE: 'provider1',
HANDLER: 'https://provider.example/api/new-handler',
NAME: 'Provider 1 Updated',
DESCRIPTION: 'Updated provider description',
},
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('Sender updated:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateSender)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.messageservice.sender.update(
code="provider1",
handler="https://provider.example/api/new-handler",
name="Provider 1 Updated",
description="Updated provider description",
).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(
'messageservice.sender.update',
[
'CODE' => 'provider1',
'HANDLER' => 'https://provider.example/api/new-handler',
'NAME' => 'Provider 1 Updated',
'DESCRIPTION' => 'Обновленное описание',
]
);
$result = $response
->getResponseData()
->getResult();
print_r($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating sender: ' . $e->getMessage();
}
BX24.callMethod(
'messageservice.sender.update',
{
CODE: 'provider1',
HANDLER: 'https://provider.example/api/new-handler',
NAME: 'Provider 1 Updated',
DESCRIPTION: 'Обновленное описание'
},
function(result)
{
if (result.error())
{
console.error(result.error(), result.error_description());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'messageservice.sender.update',
[
'CODE' => 'provider1',
'HANDLER' => 'https://provider.example/api/new-handler',
'NAME' => 'Provider 1 Updated',
'DESCRIPTION' => 'Обновленное описание',
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "messageservice.sender.update", b24.Params{
"CODE": "provider1",
"HANDLER": "https://provider.example/api/new-handler",
"NAME": "Provider 1 Updated",
"DESCRIPTION": "Обновленное описание",
})
if err != nil {
return fmt.Errorf("messageservice.sender.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1742895600,
"finish": 1742895600.845505,
"duration": 0.845505952835083,
"processing": 0.1402289867401123,
"date_start": "2025-03-25T10:00:00+03:00",
"date_finish": "2025-03-25T10:00:00+03:00",
"operating_reset_at": 1742896200,
"operating": 0
}
}
Возвращаемые данные
result
boolean
true, если провайдер успешно обновлен
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "ERROR_SENDER_OTHER_PARAMS_REQUIRED",
"error_description": "At least one other parameter is required!"
}
| Код | Описание | Значение |
|---|---|---|
ERROR_SENDER_CODE_REQUIRED |
CODE is required! |
Не передан обязательный параметр CODE |
ERROR_SENDER_OTHER_PARAMS_REQUIRED |
At least one other parameter is required! |
Не передан ни один параметр для обновления (HANDLER, NAME, DESCRIPTION) |
ERROR_SENDER_NOT_FOUND |
Sender not found! |
Провайдер с переданным CODE не найден |
ERROR_SENDER_UPDATE_FAILURE |
Sender update error! |
Ошибка обновления провайдера |
ACCESS_DENIED |
Application context required |
Метод вызван вне контекста приложения |
ACCESS_DENIED |
Access denied! |
Метод запустил не администратор |

