• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/provider/messageservice/input.php
  • Класс: BitrixImConnectorProviderMessageserviceInput
  • Вызов: Input::prepareMessageParams
private function prepareMessageParams(array $params): array
{
	$message =  [
		'message' => [
			'id' => $params['id'],
		],
		'user' => [
			'id' => $params['address'],
			'phone' => $params['address'],
			'name' => $params['userName'],
		],
		'chat' => [
			'id' => $params['address'] . '@' . $params['imSubject'],
		],
	];

	$lastMessage = $this->getSentTemplateMessage($params['imSubject'], $params['address']);
	if ($lastMessage !== '')
	{
		$message['chat']['last_message'] = $lastMessage;
	}

	if (
		$params['contentType'] === 'text'
		|| $params['contentType'] === 'button'
	)
	{
		$message['message']['text'] = $params['text'];
	}

	if ($params['avatarUrl'])
	{
		$message['user']['picture'] = ['url' => $params['avatarUrl']];
	}

	if (
		$params['contentType'] === 'image'
		|| $params['contentType'] === 'video'
		|| $params['contentType'] === 'document'
		|| $params['contentType'] === 'audio'
	)
	{
		$file = [];
		$file['url'] = $params['attachmentUrl'];
		if (isset($params['attachmentName']))
		{
			$file['name'] = $params['attachmentName'];
		}
		$message['message']['files'] = [$file];

		if (isset($params['caption']) && !is_null($params['caption']))
		{
			$message['message']['text'] = $params['caption'];
		}
	}

	return $message;
}