sharoff/mango-office-api

用于操作 mango-office API 的库

0.0.1 2015-12-24 06:09 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:16:44 UTC


README

##用于操作 mango-office API 的库.mango-office.ru

##安装

composer require sharoff/mango-office-api

##初始化 为了简单快速地初始化,创建了一个 Helper,它包含一个处理 API 的类实例。为了初始化脚本,需要设置 API 密钥和加密密钥。

// Подключаем автолоад
require __DIR__ . '/../vendor/autoload.php';
// Просто для короткой записи
use Sharoff\Mango\Api\MangoHelper;
// Задание API ключа и ключа шифрования
MangoHelper::setApiKey('*********************************')
           ->setApiSalt('*********************************');

为了方便使用,创建了一个 PHP DOC,它允许在 IDE 中进行自动完成。

##获取数据 Mango-office 通过访问特定的 URL 地址来获取数据。每个地址都在文档中定义(http://www.mango-office.ru/upload/api/MangoOffice_VPBX_API_v1.3.pdf)。该库可以帮助检查芒果的签名,如果出现问题,将以 json 格式、所需代码和标题做出响应。获取数据只需在初始化后执行以下命令

$data = MangoHelper::getMethodData();

变量 $data 将包含从芒果获得的数据的 json_decode。

##拨打电话 要拨打电话,只需知道员工的内部号码和您想拨叫的对象。

$data = MangoHelper::sendCall('10', '7912*******');

##结束通话 要结束通话,需要执行以下命令

MangoHelper::sendCallHangup($command_id, $call_id)

其中 $command_id 和 $call_id 将在拨打电话时接收

##获取统计信息 执行命令后,将返回一个包含 MangoOfficeStat 对象的数组,您可以使用自动完成功能获取所需的参数。对象数据格式与 $fields 相同

$stats = MangoHelper::getStat($date_from, $date_to, $from = 0, $from_number = null, $to = null, $to_number = null, $fields = null, $request_id = null);
foreach ($stats as $stat) {
    /** @var \Sharoff\Mango\Api\MangoOfficeStat $stat */
    echo $stat->start->format('d.m.Y H:i:s') . PHP_EOL;
}

###默认参数 $fields

$fields = [
    'records',
    'start',
    'finish',
    'from_extension',
    'from_number',
    'to_extension',
    'to_number',
    'disconnect_reason'
];

###可能的字段 $fields 和字段格式

$available_fields = [
    // Массив с идентификаторами записей
    'records'           => 'array',
    // Будет в объекте Carbon 
    'start'             => 'timestamp',
    // Будет в объекте Carbon
    'finish'            => 'timestamp',
    // строка
    'from_extension'    => 'string',
    // строка
    'from_number'       => 'string',
    // строка
    'to_extension'      => 'string',
    // строка
    'to_number'         => 'string',
    // строка
    'disconnect_reason' => 'string',
    // строка
    'entry_id'          => 'string',
];