• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_rest.php
  • Класс: CVoxImplantRestService
  • Вызов: CVoxImplantRestService::OnRestServiceBuildDescription
static function OnRestServiceBuildDescription()
{
	return [
		'telephony' => [
			'voximplant.url.get' => ['CVoxImplantRestService', 'urlGet'],
			'voximplant.sip.get' => ['CVoxImplantRestService', 'sipGet'],
			'voximplant.sip.add' => ['CVoxImplantRestService', 'sipAdd'],
			'voximplant.sip.update' => ['CVoxImplantRestService', 'sipUpdate'],
			'voximplant.sip.delete' => ['CVoxImplantRestService', 'sipDelete'],
			'voximplant.sip.status' => ['CVoxImplantRestService', 'sipStatus'],
			'voximplant.sip.connector.status' => ['CVoxImplantRestService', 'sipConnectorStatus'],
			'voximplant.statistic.get' => ['CVoxImplantRestService', 'statisticGet'],
			'voximplant.line.outgoing.set' => ['CVoxImplantRestService', 'lineOutgoingSet'],
			'voximplant.line.outgoing.get' => ['CVoxImplantRestService', 'lineOutgoingGet'],
			'voximplant.line.outgoing.sip.set' => ['CVoxImplantRestService', 'lineOutgoingSipSet'],
			'voximplant.line.get' => ['CVoxImplantRestService', 'lineGet'],
			'voximplant.tts.voices.get' => ['CVoxImplantRestService', 'getVoiceList'],
			'voximplant.user.get' => ['CVoxImplantRestService', 'getUser'],
			'voximplant.user.getDefaultLineId' => ['CVoxImplantRestService', 'getUserDefaultLineId'],
			'voximplant.user.activatePhone' => ['CVoxImplantRestService', 'activatePhone'],
			'voximplant.user.deactivatePhone' => ['CVoxImplantRestService', 'deactivatePhone'],
			'voximplant.authorization.get' => [
				'callback' => ['CVoxImplantRestService', 'getAuthorization'],
				'options' => ['private' => true]
			],
			'voximplant.authorization.signOneTimeKey' => [
				'callback' => ['CVoxImplantRestService', 'signOneTimeKey'],
				'options' => ['private' => true]
			],
			'voximplant.authorization.onError' => [
				'callback' => ['CVoxImplantRestService', 'onAuthorizationError'],
				'options' => ['private' => true]
			],
			'voximplant.call.init' => [ //not sure if this is still needed
				'callback' => ['CVoxImplantRestService', 'initCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.startWithDevice' => [
				'callback' => ['CVoxImplantRestService', 'startCallWithDevice'],
				'options' => ['private' => true]
			],
			'voximplant.call.hangupDevice' => [
				'callback' => ['CVoxImplantRestService', 'hangupDeviceCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.sendWait' => [
				'callback' => ['CVoxImplantRestService', 'sendWait'],
				'options' => ['private' => true]
			],
			'voximplant.call.sendReady' => [
				'callback' => ['CVoxImplantRestService', 'sendReady'],
				'options' => ['private' => true]
			],
			'voximplant.call.answer' => [
				'callback' => ['CVoxImplantRestService', 'answerCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.skip' => [
				'callback' => ['CVoxImplantRestService', 'skipCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.busy' => [
				'callback' => ['CVoxImplantRestService', 'rejectCallWithBusy'],
				'options' => ['private' => true]
			],
			'voximplant.call.hold' => [
				'callback' => ['CVoxImplantRestService', 'holdCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.unhold' => [
				'callback' => ['CVoxImplantRestService', 'unholdCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.startViaRest' => [
				'callback' => ['CVoxImplantRestService', 'startCallViaRest'],
				'options' => ['private' => true]
			],
			'voximplant.call.get' => [
				'callback' => ['CVoxImplantRestService', 'getCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.intercept' => [
				'callback' => ['CVoxImplantRestService', 'interceptCall'],
				'options' => ['private' => true]
			],
			'voximplant.call.saveComment' => [
				'callback' => ['CVoxImplantRestService', 'saveCallComment'],
				'options' => ['private' => true]
			],
			'voximplant.call.startTransfer' => [
				'callback' => ['CVoxImplantRestService', 'startCallTransfer'],
				'options' => ['private' => true]
			],
			'voximplant.call.completeTransfer' => [
				'callback' => ['CVoxImplantRestService', 'completeCallTransfer'],
				'options' => ['private' => true]
			],
			'voximplant.call.cancelTransfer' => [
				'callback' => ['CVoxImplantRestService', 'cancelCallTransfer'],
				'options' => ['private' => true]
			],
			'voximplant.call.onConnectionError' => [
				'callback' => ['CVoxImplantRestService', 'onCallConnectionError'],
				'options' => ['private' => true]
			],

			'telephony.externalCall.searchCrmEntities' => ['CVoxImplantRestService', 'searchCrmEntities'],
			'telephony.externalCall.register' => ['CVoxImplantRestService', 'registerExternalCall'],
			'telephony.externalCall.finish' => ['CVoxImplantRestService', 'finishExternalCall'],
			'telephony.externalCall.show' => ['CVoxImplantRestService', 'showExternalCall'],
			'telephony.externalCall.hide' => ['CVoxImplantRestService', 'hideExternalCall'],
			'telephony.externalCall.attachRecord' => ['CVoxImplantRestService', 'attachRecord'],
			'telephony.call.attachTranscription' => ['CVoxImplantRestService', 'attachTranscription'],
			'telephony.externalLine.add' => ['CVoxImplantRestService', 'addExternalLine'],
			'telephony.externalLine.update' => ['CVoxImplantRestService', 'updateExternalLine'],
			'telephony.externalLine.delete' => ['CVoxImplantRestService', 'deleteExternalLine'],
			'telephony.externalLine.get' => ['CVoxImplantRestService', 'getExternalLines'],
			CRestUtil::METHOD_UPLOAD => ['CVoxImplantRestService', 'uploadRecord'],

			CRestUtil::EVENTS => [
				'OnVoximplantCallInit' => ['voximplant', 'onCallInit', [__CLASS__, 'onCallInit'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
				'OnVoximplantCallStart' => ['voximplant', 'onCallStart', [__CLASS__, 'onCallStart'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
				'OnVoximplantCallEnd' => ['voximplant', 'onCallEnd', [__CLASS__, 'onCallEnd'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
				RestHelper::EVENT_START_EXTERNAL_CALL => ['voximplant', 'onExternalCallStart', [__CLASS__, 'filterApp'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
				RestHelper::EVENT_START_EXTERNAL_CALLBACK => ['voximplant', 'onExternalCallBackStart', [__CLASS__, 'filterApp'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
			],
			CRestUtil::PLACEMENTS => [
				RestHelper::PLACEMENT_CALL_CARD => [],
				IntegrationRestAppPlacement::ANALYTICS_MENU => []
			]
		],
		'call' => [
			'voximplant.callback.start' => ['CVoxImplantRestService', 'startCallback'],
			'voximplant.infocall.startwithtext' => ['CVoxImplantRestService', 'startInfoCallWithText'],
			'voximplant.infocall.startwithsound' => ['CVoxImplantRestService', 'startInfoCallWithSound'],
		]
	];
}