bigperson/kontur-talk-sdk 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bigperson/kontur-talk-sdk

最新稳定版本:v1.0.1

Composer 安装命令:

composer require bigperson/kontur-talk-sdk

包简介

PHP SDK для работы с API Kontur.Talk

README 文档

README

Tests Latest Stable Version Total Downloads License

PHP Version

Неофициальный PHP SDK для удобной интеграции с API сервиса Контур.Толк.

Важно: Данный SDK не является официальным продуктом компании СКБ Контур и разрабатывается независимо.

Установка

composer require bigperson/kontur-talk-sdk

Использование

Инициализация клиента

use Kontur\Talk\TalkClient;

// Создание клиента API
$client = new TalkClient('company', 'your-api-key');

Работа с пользователями

// Получение списка пользователей
$users = $client->users->get(100, 0, null, [], null, false, true);

// Получение пользователя по ключу
$user = $client->users->getByKey('user-key');

// Создание или обновление пользователей
$result = $client->users->createOrUpdate([
    [
        'email' => 'user@example.com',
        'firstname' => 'Иван',
        'surname' => 'Иванов',
        'post' => 'Менеджер'
    ]
]);

// Блокировка пользователя
$client->users->setPermissions('user-key', true);

// Разблокировка пользователя
$client->users->setPermissions('user-key', false);

Работа с ролями

// Получение списка ролей
$roles = $client->roles->getAll();

// Получение информации о роли
$role = $client->roles->get('admin', true);

// Создание роли
$newRole = $client->roles->create('Тестировщик', 'Роль для тестировщиков', [
    [
        'productId' => 'talk',
        'permissionId' => 'remoteControl'
    ]
]);

// Управление ролями пользователя
$client->roles->manageUserRoles('user-key', ['admin'], ['kioskAdmin']);

Работа с комнатами

// Получение информации о комнате
$room = $client->rooms->get('room-key');

// Создание или обновление комнаты
$room = $client->rooms->createOrUpdate(
    'room-key',
    'Тестовая комната',
    'Описание комнаты',
    ['moderator-key-1', 'moderator-key-2'],
    new DateTime('2023-12-31T23:59:59Z'),
    true,
    false,
    'none',
    'none',
    'none',
    0
);

// Добавление модератора
$client->rooms->addModerator('room-key', 'user-key');

// Установка PIN-кода
$client->rooms->setPinCode('room-key', '123456');

// Удаление PIN-кода
$client->rooms->setPinCode('room-key', '');

// Принудительное завершение конференции
$client->rooms->endConference('room-key');

Исходящие звонки

// Выполнение исходящего звонка
$result = $client->rooms->notifyCall(
    'room-key',
    'Тестовая комната',
    'caller-user-key',
    [
        [
            'userKey' => 'callee-user-key',
            'userCallMethod' => 'talk'
        ],
        [
            'phoneNumber' => '+7 (999) 123-45-67'
        ],
        [
            'email' => 'user@example.com'
        ]
    ]
);

// Отмена звонка
$client->rooms->cancelCall('room-key');

Документация

Подробная документация по API доступна в официальной документации Контур.Толк.

Обработка ошибок

SDK использует исключения для обработки ошибок:

use Kontur\Talk\Exception\TalkApiException;
use Kontur\Talk\Exception\TalkClientException;
use Kontur\Talk\Exception\TalkRateLimitException;
use Kontur\Talk\Exception\TalkNotFoundException;

try {
    $users = $client->users->get();
} catch (TalkNotFoundException $e) {
    // Ресурс не найден
    echo "Ресурс не найден: " . $e->getMessage();
} catch (TalkRateLimitException $e) {
    // Превышены ограничения по количеству запросов
    echo "Превышен лимит запросов к API: " . $e->getMessage();
} catch (TalkApiException $e) {
    // Ошибка API (400-499)
    echo "Ошибка API: " . $e->getMessage();
} catch (TalkClientException $e) {
    // Общая ошибка клиента
    echo "Ошибка клиента: " . $e->getMessage();
}

Требования

  • PHP 8.2 или выше
  • Guzzle HTTP 7.0 или выше
  • Расширение JSON

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-14