Описание
Изменяет имя и фамилию управляемого бизнес-аккаунта. Требует права бизнес-бота can_change_name. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| business_connection_id | String | Да | Уникальный идентификатор бизнес-подключения |
| first_name | String | Да | Новое значение имени для бизнес-аккаунта; 1-64 символа |
| last_name | String | Опционально | Новое значение фамилии для бизнес-аккаунта; 0-64 символа |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Параметры метода
$params = [
'business_connection_id' => '1234567890', // Уникальный идентификатор бизнес-подключения
'first_name' => 'John', // Новое имя (обязательно, 1-64 символа)
'last_name' => 'Doe' // Новая фамилия (опционально, 0-64 символа)
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'setBusinessAccountName');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Для отладки, в продакшене лучше использовать true
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($response === false) {
echo 'Ошибка cURL: ' . curl_error($ch);
} else {
$decodedResponse = json_decode($response, true);
if ($decodedResponse['ok'] === true) {
echo 'Имя бизнес-аккаунта успешно изменено!';
} else {
echo 'Ошибка: ' . $decodedResponse['description'];
}
}
curl_close($ch);
// Альтернативный вариант с использованием file_get_contents
/*
$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query($params)
]
]);
$response = file_get_contents($apiUrl . 'setBusinessAccountName', false, $context);
$result = json_decode($response, true);
if ($result['ok'] === true) {
echo 'Успешно!';
} else {
echo 'Ошибка: ' . $result['description'];
}
*/
?>
python
import requests
def set_business_account_name(bot_token, business_connection_id, first_name, last_name=None):
"""
Changes the first and last name of a managed business account.
Parameters:
- bot_token: Your bot's token
- business_connection_id: Unique identifier of the business connection
- first_name: New first name (1-64 characters)
- last_name: New last name (0-64 characters, optional)
Returns:
- True on success, raises exception on error
"""
url = f"https://api.telegram.org/bot{bot_token}/setBusinessAccountName"
payload = {
"business_connection_id": business_connection_id,
"first_name": first_name
}
if last_name is not None:
payload["last_name"] = last_name
response = requests.post(url, json=payload)
result = response.json()
if result.get("ok"):
return True
else:
raise Exception(f"Error: {result.get('description')}")
# Пример использования
if __name__ == "__main__":
BOT_TOKEN = "YOUR_BOT_TOKEN"
BUSINESS_CONNECTION_ID = "your_business_connection_id"
try:
# Пример с обязательными параметрами
success = set_business_account_name(
bot_token=BOT_TOKEN,
business_connection_id=BUSINESS_CONNECTION_ID,
first_name="John"
)
print(f"Success: {success}")
# Пример с необязательным параметром last_name
success = set_business_account_name(
bot_token=BOT_TOKEN,
business_connection_id=BUSINESS_CONNECTION_ID,
first_name="John",
last_name="Doe"
)
print(f"Success: {success}")
except Exception as e:
print(f"Error: {e}")
История изменений
- API 9.0. Добавлен метод setBusinessAccountName