• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_rest.php
  • Класс: CIMRestService
  • Вызов: CIMRestService::OnRestServiceBuildDescription
static function OnRestServiceBuildDescription()
{
	return array(
		'im' => array(
			'im.user.get' => array(__CLASS__, 'userGet'),
			'im.user.list.get' => array(__CLASS__, 'userList'),
			'im.user.business.list' => array(__CLASS__, 'userBusinessList'),
			'im.user.business.get' =>  array('callback' => array(__CLASS__, 'userBusinessList'), 'options' => array('private' => true)),

			'im.user.status.get' => array(__CLASS__, 'userStatusGet'),
			'im.user.status.set' => array(__CLASS__, 'userStatusSet'),
			'im.user.status.idle.start' => array(__CLASS__, 'userStatusIdleStart'),
			'im.user.status.idle.end' => array(__CLASS__, 'userStatusIdleEnd'),

			'im.recent.get' => array(__CLASS__, 'recentGet'),
			'im.recent.list' => array(__CLASS__, 'recentList'),
			'im.recent.pin' => array(__CLASS__, 'recentPin'),
			'im.recent.hide' => array(__CLASS__, 'recentHide'),
			'im.recent.unread' => array(__CLASS__, 'recentUnread'),

			'im.department.get' => array(__CLASS__, 'departmentGet'),
			'im.department.colleagues.list' => array(__CLASS__, 'departmentColleaguesList'),
			'im.department.colleagues.get' =>  array('callback' => array(__CLASS__, 'departmentColleaguesList'), 'options' => array('private' => true)),
			'im.department.managers.get' => array(__CLASS__, 'departmentManagersGet'),
			'im.department.employees.get' => array(__CLASS__, 'departmentEmployeesGet'),

			'im.chat.add' => array(__CLASS__, 'chatCreate'),
			'im.chat.getEntityChat' => array(__CLASS__, 'chatGetEntityChat'),
			'im.chat.get' => array(__CLASS__, 'chatGet'),
			'im.chat.setOwner' => array(__CLASS__, 'chatSetOwner'),
			'im.chat.setManager' => array(__CLASS__, 'chatSetManager'),
			'im.chat.updateColor' => array(__CLASS__, 'chatUpdateColor'),
			'im.chat.updateTitle' => array(__CLASS__, 'chatUpdateTitle'),
			'im.chat.updateAvatar' => array(__CLASS__, 'chatUpdateAvatar'),
			'im.chat.leave' => array(__CLASS__, 'chatUserDelete'),
			'im.chat.user.add' => array(__CLASS__, 'chatUserAdd'),
			'im.chat.user.delete' => array(__CLASS__, 'chatUserDelete'),
			'im.chat.user.list' => array(__CLASS__, 'chatUserList'),
			'im.chat.sendTyping' => array('callback' => array(__CLASS__, 'dialogWriting'), 'options' => array('private' => true)),
			'im.chat.mute' => array(__CLASS__, 'chatMute'),
			'im.chat.parent.join' => array('callback' => array(__CLASS__, 'chatParentJoin'), 'options' => array('private' => true)),
			'im.chat.url.get' => array('callback' => array(__CLASS__, 'chatUrlGet'), 'options' => array('private' => true)),
			'im.chat.url.delete' => array('callback' => array(__CLASS__, 'chatUrlDelete'), 'options' => array('private' => true)),
			'im.chat.url.counter.get' => array('callback' => array(__CLASS__, 'chatUrlCounterGet'), 'options' => array('private' => true)),
			'im.chat.file.get' => array('callback' => array(__CLASS__, 'chatFileGet'), 'options' => array('private' => true)),
			'im.chat.file.collection.get' => array('callback' => array(__CLASS__, 'chatFileCollectionGet'), 'options' => array('private' => true)),
			'im.chat.favorite.get' => array('callback' => array(__CLASS__, 'chatFavoriteGet'), 'options' => array('private' => true)),
			'im.chat.favorite.add' => array('callback' => array(__CLASS__, 'chatFavoriteAdd'), 'options' => array('private' => true)),
			'im.chat.favorite.delete' => array('callback' => array(__CLASS__, 'chatFavoriteDelete'), 'options' => array('private' => true)),
			'im.chat.favorite.counter.get' => array('callback' => array(__CLASS__, 'chatFavoriteCounterGet'), 'options' => array('private' => true)),
			'im.chat.task.get' => array('callback' => array(__CLASS__, 'chatTaskGet'), 'options' => array('private' => true)),
			'im.chat.task.delete' => array('callback' => array(__CLASS__, 'chatTaskDelete'), 'options' => array('private' => true)),
			'im.chat.task.prepare' => array('callback' => array(__CLASS__, 'chatTaskPrepare'), 'options' => array('private' => true)),
			'im.chat.calendar.get' => array('callback' => array(__CLASS__, 'chatCalendarGet'), 'options' => array('private' => true)),
			'im.chat.calendar.add' => array('callback' => array(__CLASS__, 'chatCalendarAdd'), 'options' => array('private' => true)),
			'im.chat.calendar.delete' => array('callback' => array(__CLASS__, 'chatCalendarDelete'), 'options' => array('private' => true)),
			'im.chat.calendar.prepare' => array('callback' => array(__CLASS__, 'chatCalendarPrepare'), 'options' => array('private' => true)),
			'im.chat.sign.get' => array('callback' => array(__CLASS__, 'chatSignGet'), 'options' => array('private' => true)),
			'im.chat.pin.get' => array('callback' => array(__CLASS__, 'chatPinGet'), 'options' => array('private' => true)),
			'im.chat.pin.add' => array('callback' => array(__CLASS__, 'chatPinAdd'), 'options' => array('private' => true)),
			'im.chat.pin.delete' => array('callback' => array(__CLASS__, 'chatPinDelete'), 'options' => array('private' => true)),
			'im.chat.reminder.get' => array('callback' => array(__CLASS__, 'chatReminderGet'), 'options' => array('private' => true)),
			'im.chat.reminder.add' => array('callback' => array(__CLASS__, 'chatReminderAdd'), 'options' => array('private' => true)),
			'im.chat.reminder.delete' => array('callback' => array(__CLASS__, 'chatReminderDelete'), 'options' => array('private' => true)),

			'im.dialog.get' => array(__CLASS__, 'dialogGet'),
			'im.dialog.messages.get' => array(__CLASS__, 'dialogMessagesGet'),
			'im.dialog.messages.search' => array('callback' => array(__CLASS__, 'dialogMessagesSearch'), 'options' => array('private' => true)),
			'im.dialog.context.get' => array('callback' => array(__CLASS__, 'dialogContextGet'), 'options' => array('private' => true)),
			'im.dialog.users.get' => array('callback' => array(__CLASS__, 'dialogUsersGet'), 'options' => array('private' => true)),
			'im.dialog.users.list' => array(__CLASS__, 'dialogUsersList'),
			'im.dialog.read' => array(__CLASS__, 'dialogRead'),
			'im.dialog.readAll' => array('callback' => array(__CLASS__, 'dialogReadAll'), 'options' => array('private' => true)),
			'im.dialog.read.all' => array(__CLASS__, 'dialogReadAll'),
			'im.dialog.unread' => array(__CLASS__, 'dialogUnread'),
			'im.dialog.writing' => array(__CLASS__, 'dialogWriting'),

			'im.message.add' => array(__CLASS__, 'messageAdd'),
			'im.message.delete' => array(__CLASS__, 'messageDelete'),
			'im.message.update' => array(__CLASS__, 'messageUpdate'),
			'im.message.like' => array(__CLASS__, 'messageLike'),
			'im.message.command' =>  array('callback' => array(__CLASS__, 'messageCommand')),
			'im.message.share' =>  array('callback' => array(__CLASS__, 'messageShare')),
			'im.message.user.get' =>  array('callback' => array(__CLASS__, 'messageUserGet'), 'options' => array('private' => true)),

			'im.notify' => array('callback' => array(__CLASS__, 'notifyAdd'), 'options' => array('private' => false)),
			'im.notify.get' => array('callback' => array(__CLASS__, 'notifyGet'), 'options' => array('private' => true)),
			'im.notify.personal.add' => array(__CLASS__, 'notifyAdd'),
			'im.notify.system.add' => array(__CLASS__, 'notifyAdd'),
			'im.notify.delete' => array(__CLASS__, 'notifyDelete'),
			'im.notify.read' => array(__CLASS__, 'notifyRead'),
			'im.notify.read.list' => array(__CLASS__, 'notifyReadList'),
			'im.notify.read.all' => array(__CLASS__, 'notifyReadAll'),
			'im.notify.confirm' => array(__CLASS__, 'notifyConfirm'),
			'im.notify.answer' => array(__CLASS__, 'notifyAnswer'),
			'im.notify.history.search' => array('callback' => array(__CLASS__, 'notifyHistorySearch'), 'options' => array('private' => true)),
			'im.notify.schema.get' => array('callback' => array(__CLASS__, 'notifySchemaGet'), 'options' => array('private' => true)),

			'im.disk.folder.list.get' => array('callback' => array(__CLASS__, 'diskFolderListGet'), 'options' => array('private' => true)),
			'im.disk.folder.get' => array(__CLASS__, 'diskFolderGet'),
			'im.disk.file.commit' => array(__CLASS__, 'diskFileCommit'),
			'im.disk.file.delete' => array(__CLASS__, 'diskFileDelete'),
			'im.disk.file.save' => array(__CLASS__, 'diskFileSave'),
			'im.disk.record.share' => array(__CLASS__, 'diskRecordShare'),

			'im.counters.get' =>  array(__CLASS__, 'counterGet'),

			'im.search.user.list' => array(__CLASS__, 'searchUser'),
			'im.search.user' =>  array('callback' => array(__CLASS__, 'searchUser'), 'options' => array('private' => true)),
			'im.search.chat.list' => array(__CLASS__, 'searchChat'),
			'im.search.chat' =>  array('callback' => array(__CLASS__, 'searchChat'), 'options' => array('private' => true)),
			'im.search.department.list' => array(__CLASS__, 'searchDepartment'),
			'im.search.department' =>  array('callback' => array(__CLASS__, 'searchDepartment'), 'options' => array('private' => true)),

			'im.search.last.get' => array(__CLASS__, 'searchLastGet'),
			'im.search.last.add' => array(__CLASS__, 'searchLastAdd'),
			'im.search.last.delete' => array(__CLASS__, 'searchLastDelete'),

			'im.promotion.get' =>  array('callback' => array(__CLASS__, 'promotionGet'), 'options' => array('private' => true)),
			'im.promotion.read' =>  array('callback' => array(__CLASS__, 'promotionRead'), 'options' => array('private' => true)),

			'im.mobile.config.get' =>  array('callback' => array(__CLASS__, 'mobileConfigGet'), 'options' => array('private' => true)),

			'im.call.user.register' => array('callback' => array(__CLASS__, 'callUserRegister'), 'options' => array('private' => true)),
			'im.call.user.update' => array('callback' => array(__CLASS__, 'callUserUpdate'), 'options' => array('private' => true)),
			'im.call.user.force.rename' => array('callback' => array(__CLASS__, 'callUserForceRename'), 'options' => array('private' => true)),
			'im.call.channel.public.list' => array('callback' => array(__CLASS__, 'callChannelPublicList'), 'options' => array('private' => true)),

			'im.videoconf.share.change' => array('callback' => array(__CLASS__, 'videoconfShareChange'), 'options' => array('private' => true)),
			'im.videoconf.password.check' => array('callback' => array(__CLASS__, 'videoconfPasswordCheck'), 'options' => array('private' => true)),
			'im.videoconf.add' => array('callback' => array(__CLASS__, 'videoconfAdd'), 'options' => array('private' => true)),
			'im.videoconf.update' => array('callback' => array(__CLASS__, 'videoconfUpdate'), 'options' => array('private' => true)),

			'im.desktop.status.get' => array('callback' => array(__CLASS__, 'desktopStatusGet'), 'options' => array('private' => true)),
			'im.desktop.page.open' => array('callback' => array(__CLASS__, 'desktopPageOpen'), 'options' => array('private' => true)),
		),
		'imbot' => Array(
			'imbot.register' => array(__CLASS__, 'botRegister'),
			'imbot.unregister' => array(__CLASS__, 'botUnRegister'),
			'imbot.update' => array(__CLASS__, 'botUpdate'),

			'imbot.dialog.get' => array(__CLASS__, 'dialogGet'),
			'imbot.dialog.vote' => array(__CLASS__, 'dialogVote'),

			'imbot.chat.add' => array(__CLASS__, 'chatCreate'),
			'imbot.chat.get' => array(__CLASS__, 'chatGet'),
			'imbot.chat.setOwner' => array(__CLASS__, 'chatSetOwner'),
			'imbot.chat.setManager' => array(__CLASS__, 'chatSetManager'),
			'imbot.chat.updateColor' => array(__CLASS__, 'chatUpdateColor'),
			'imbot.chat.updateTitle' => array(__CLASS__, 'chatUpdateTitle'),
			'imbot.chat.updateAvatar' => array(__CLASS__, 'chatUpdateAvatar'),
			'imbot.chat.leave' => array(__CLASS__, 'chatUserDelete'),
			'imbot.chat.user.add' => array(__CLASS__, 'chatUserAdd'),
			'imbot.chat.user.delete' => array(__CLASS__, 'chatUserDelete'),
			'imbot.chat.user.list' => array(__CLASS__, 'chatUserList'),
			'imbot.chat.sendTyping' => array(__CLASS__, 'botSendTyping'),

			'imbot.bot.list' => array(__CLASS__, 'botList'),

			'imbot.message.add' => array(__CLASS__, 'botMessageAdd'),
			'imbot.message.delete' => array(__CLASS__, 'botMessageDelete'),
			'imbot.message.update' => array(__CLASS__, 'botMessageUpdate'),
			'imbot.message.like' => array(__CLASS__, 'botMessageLike'),

			'imbot.sendTyping' => array('callback' => array(__CLASS__, 'botSendTyping'), 'options' => array('private' => true)),

			'imbot.command.register' => array(__CLASS__, 'commandRegister'),
			'imbot.command.unregister' => array(__CLASS__, 'commandUnRegister'),
			'imbot.command.update' => array(__CLASS__, 'commandUpdate'),
			'imbot.command.answer' => array(__CLASS__, 'commandAnswer'),

			'imbot.app.register' =>  array('callback' => array(__CLASS__, 'appRegister'), 'options' => array('private' => false)),
			'imbot.app.unregister' =>  array('callback' => array(__CLASS__, 'appUnRegister'), 'options' => array('private' => false)),
			'imbot.app.update' =>  array('callback' => array(__CLASS__, 'appUpdate'), 'options' => array('private' => false)),

			CRestUtil::EVENTS => array(
				'OnImBotMessageAdd' => array('im', 'onImBotMessageAdd', array(__CLASS__, 'onBotMessageAdd'), array("category" => BitrixRestSqs::CATEGORY_BOT, "sendRefreshToken" => true)),
				'OnImBotMessageUpdate' => array('im', 'onImBotMessageUpdate', array(__CLASS__, 'onBotMessageUpdate'), array("category" => BitrixRestSqs::CATEGORY_BOT, "sendRefreshToken" => true)),
				'OnImBotMessageDelete' => array('im', 'onImBotMessageDelete', array(__CLASS__, 'onBotMessageDelete'), array("category" => BitrixRestSqs::CATEGORY_BOT, "sendRefreshToken" => true)),
				'OnImBotJoinChat' => array('im', 'onImBotJoinChat', array(__CLASS__, 'onBotJoinChat'), array("category" => BitrixRestSqs::CATEGORY_BOT)),
				'OnImBotDelete' => array('im', 'onImBotDelete', array(__CLASS__, 'onBotDelete'), array("category" => BitrixRestSqs::CATEGORY_BOT)),
				'OnImCommandAdd' => array('im', 'onImCommandAdd', array(__CLASS__, 'onCommandAdd'), array("category" => BitrixRestSqs::CATEGORY_BOT, "sendRefreshToken" => true)),
			),
		)
	);
}