MyChat Integration API: MCIAPI_CS_GetWebSupportGroupUsersList

MyChat Integration API: MCIAPI_CS_GetWebSupportGroupUsersList

Получить список UIN-ов пользоватей для указанной группы WEB-поддержки на сайт.

 

Синтаксис

0015 MCIAPI_CS_GetWebSupportGroupUsersList

{

 "ServerKey" : "iddqd",

 "APIStype"  : "mydata",

 

 "ID"        : 1

}

 

Параметры

Параметр

Тип

Значение

ServerKey

string

ключ IntegrationAPI, задаётся в настройках сервера;

APIStype

string

тип интеграции. Можно задавать произвольную строку;

ID

integer

числовой идентификатор группы WEB-поддержки, можно увидеть в списке групп в разделе админки "Инструменты", "Web-поддержка на сайт".

 

Результат работы

{

 "Cmd"      : 21,

 "UINS"     : "21,13,6"

}

 

Поле

Тип

Значение

Cmd

integer

номер команды, которая была успешно выполнена, равно 21 (HEX 0015);

UINS

string

список числовых идентификаторов пользователей, через запятую. Если номер группы указан неверно или она пуста — вернётся пустая строка.

 

Пример использования на языке PHP

Скрипт получает список пользователей из указанной группы, затем получает их статусы и подключается к одному из онлайн-пользователей. Если все пользователи офлайн — подключение производится к любому из списка, в случайном порядке.

<?php
$host = 'mychat-server.com';
$portWEB = '443';
$isUseHttps = true;
$integrationAPIKey = 'secretKey';
$toolName = 'php';


$protocol = ($isUseHttps ? 'https' : 'http');
$getUsersByGroupID = '0015';
$getUsersStatesList = '000F';
$groupID = 1;
$URL = $protocol.'://'.$host.':'.$portWEB.'/API/?data=';

$jsonGetUsers = urlencode(json_encode(array('cmd'=>$getUsersByGroupID, 'ID' =>$groupID, 'APIStype'=>$toolName, 'ServerKey'=>$integrationAPIKey)));
$usersResult = file_get_contents($URL . $jsonGetUsers);
$jsonUsers = json_decode($usersResult, true);
$users = $jsonUsers['UINS'];
$jsonGetUsersStates = urlencode(json_encode(array('cmd'=>$getUsersStatesList, 'UINS' =>$users, 'APIStype'=>$toolName, 'ServerKey'=>$integrationAPIKey)));
$statesResult = json_decode(file_get_contents($URL . $jsonGetUsersStates), true);

if(isset($statesResult['Error'])){
	echo 'Error=' . $statesResult['Error'];	
}else if(isset($statesResult['Statuses'])){
	$UINS = explode(',', $statesResult['UINS']);
	$states = explode(',', $statesResult['Statuses']);
	$onlines = array();
	for($i = 0; $i < count($states); $i++){
		if($states[$i] != -1){
			array_push($onlines, $UINS[$i]);	
		}
	}
	$target = (empty($onlines) ? $UINS[array_rand($UINS)] : $onlines[array_rand($onlines)]);
	$result = $protocol.'://'.$host.':'.$portWEB.'/support/?uin='.$target;
	header("Location: ".$result);
	exit();
}
?>

 

Возможные ошибки

MCIAPI_Error_WrongIntegrationKey

 

Ещё посмотреть

MCIAPI_CS_GetUsersStatusList