ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API mango-office.ru
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
composer require sharoff/mango-office-api
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π±ΡΡΡΡΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ Helper ΠΊΠΎΡΠΎΡΡΠΉ Ρ
ΡΠ°Π½ΠΈΡΡ Π² ΡΠ΅Π±Π΅ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ API.
ΠΠ»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ API ΠΊΠ»ΡΡ ΠΈ ΠΊΠ»ΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ., (*1)
// ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π°Π²ΡΠΎΠ»ΠΎΠ°Π΄
require __DIR__ . '/../vendor/autoload.php';
// ΠΡΠΎΡΡΠΎ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
use Sharoff\Mango\Api\MangoHelper;
// ΠΠ°Π΄Π°Π½ΠΈΠ΅ API ΠΊΠ»ΡΡΠ° ΠΈ ΠΊΠ»ΡΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ
MangoHelper::setApiKey('*********************************')
->setApiSalt('*********************************');
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ PHP DOC, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² IDE, (*2)
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π΄Π°Π½Π½ΡΡ
Mango-office ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ URL Π°Π΄ΡΠ΅ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (http://www.mango-office.ru/upload/api/MangoOffice_VPBX_API_v1.3.pdf)
ΠΠ°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΎΡ ΠΌΠ°Π½Π³ΠΎ ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ, ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ²Π΅Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ json, Π½ΡΠΆΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡΠΎΡΠΊΡ:, (*3)
$data = MangoHelper::getMethodData();
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $data ΠΏΡΠΈΠ΄Π΅Ρ json_decode ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΎΡ ΠΌΠ°Π½Π³ΠΎ., (*4)
Π‘ΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π·Π²ΠΎΠ½ΠΊΠ°
ΠΠ»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π²ΠΎΠ½ΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° ΠΈ ΠΊΠΎΠΌΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π²ΡΠ·ΠΎΠ²:, (*5)
$data = MangoHelper::sendCall('10', '7912*******');
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π·Π²ΠΎΠ½ΠΊΠ°
ΠΠ»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π²ΠΎΠ½ΠΊΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:, (*6)
MangoHelper::sendCallHangup($command_id, $call_id)
ΠΠ΄Π΅ $command_id ΠΈ $call_id ΠΏΡΠΈΠ΄ΡΡ ΠΏΡΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π·Π²ΠΎΠ½ΠΊΠ°, (*7)
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ MangoOfficeStat, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡΠΎΠΌ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΠ°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π±ΡΠ΄ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠ°ΠΊ ΠΈ $fields, (*8)
$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',
];