Метод setBusinessAccountName

Метод изменяет имя и фамилию управляемого бизнес-аккаунта при наличии соответствующих прав у бота.

Описание

Изменяет имя и фамилию управляемого бизнес-аккаунта. Требует права бизнес-бота 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
Комментарии