• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/IncomingMessage.php
  • Класс: BitrixMessageServiceIncomingMessage
  • Вызов: IncomingMessage::sendMessageToChat
static function sendMessageToChat(array $message);
abstract protected static function prepareBodyForSave(array $body): array;

public static function addMessage(string $senderId, array $requestBody): AddResult
{
	$requestBody = static::prepareBodyForSave($requestBody);

	$addResult = new AddResult();
	$insertingData = [
		'SENDER_ID' => $senderId,
		'EXTERNAL_ID' => $requestBody['id'],
		'REQUEST_BODY' => serialize($requestBody)
	];

	try
	{
		$addResult = IncomingMessageTable::add($insertingData);
	}
	catch (Throwable $exception)
	{
		if (mb_strpos($exception->getMessage(), '1062'))
		{
			$addResult->addError(new Error($exception->getMessage()));

			return $addResult;
		}

		throw $exception;
	}

	return $addResult;
}