14  /  80

Как использовать вложения

Просмотров: 1941 (Статистика ведётся с 06.02.2017)

Вы собираете объект Вложение и передаете его в метод отправки сообщения в ключ ATTACH (это может быть полная или сокращенная форма вложения):


Полная версия объекта ATTACH:

"ATTACH" => Array(
   "ID" => 1,
   "COLOR" => "#29619b",
   "BLOCKS" => Array(
      array(...),
      array(...),
   )
)

Ключи массива:

  • ID - идентификатор блока, который нужен для того, чтобы вложение можно было разместить в любом месте сообщения, а не только в конце.

    Для этого в методе добавления сообщения, в ключе MESSAGE, укажите bb-код [ATTACH=1], тогда при показе сообщения пользователю он будет заменен на вложение. Обратите внимание, указывать bb-код не обязательно, в этом случае вложение будет в конце сообщения.

  • COLOR - отвечает за цветовое выделение вложения. По умолчанию цвет вложения назначается в цвет чата получателя (или если это уведомление в цвет текущего пользователя), Данный ключ можно не задавать, если не требуется.
  • BLOCKS должен содержать блоки разметки, которые мы рассмотрим чуть ниже.

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "Message with middle attach [ATTACH=1] from bot",
   "ATTACH" => Array(
      "ID" => 1,
      "COLOR" => "#29619b",
      "BLOCKS" => Array(
         Array("LINK" => Array(
            "NAME" => "Тикет #12345: новое API для модуля \"Веб-мессенджер\"",
            "DESC" => "Необходимо реализовать к релизу!",
            "LINK" => "https://api.bitrix24.com/"
         )),
         Array("IMAGE" => Array(
            "NAME" => "Пример реализации",
            "LINK" => "http://dev.1c-bitrix.ru/bitrix/templates/1c-bitrix-new/images/logo.png",
         ))
      )
   )
), $_REQUEST["auth"]);


Краткая версия объекта ATTACH:

Eсли устраивает, что вложение находится внизу сообщения и указывать цвет не требуется, можно использовать краткую версию:

"ATTACH" => Array(
   array(...),
   array(...),
)

В отличие от полного варианта, на первом уровне сразу указываются блоки разметки, без объявления ключа BLOCKS

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "Message from bot",
   "ATTACH" => Array(
      Array("LINK" => Array(
         "NAME" => "Тикет #12345: новое API для модуля \"Веб-мессенджер\"",
         "DESC" => "Необходимо реализовать к релизу!",
         "LINK" => "https://api.bitrix24.com/"
      )),
      Array("IMAGE" => Array(
         "NAME" => "Пример реализации",
         "LINK" => "http://dev.1c-bitrix.ru/bitrix/templates/1c-bitrix-new/images/logo.png",
      ))
   )
), $_REQUEST["auth"]);

Примечание: функция restCommand - это метод отправки данных в Битрикс24, данный метод есть в примере ЭхоБота, и представлен здесь в качестве примера. Вы можете использовать свою функцию или javascript-метод BX24.callMethod или bitrix24-php-sdk.

Обратите внимание: из-за сложности структуры, вложения автоматически не добавляются при отправке в XMPP, почту или в виде PUSH-уведомления на телефон.



1
Курсы разработаны в компании «1С-Битрикс»