Messages

Новое сообщение

Отправляет сообщение в беседу или канал, личное сообщение сотруднику или комментарий в тред.

При использовании entity_type: "discussion" (или просто без указания entity_type) допускается отправка любого chat_id в поле entity_id. То есть сообщение можно отправить, зная только идентификатор чата. Сообщение в тред можно отправить и по идентификатору самого треда, а личное — по идентификатору сотрудника, но тогда нужно указать соответствующий entity_type: thread или user.

Личный чат для этого создавать не требуется: он появится сам, если между вами ещё не было переписки. Между двумя сотрудниками может быть только один личный чат. Со своим собственным идентификатором сообщение уйдёт в чат с самим собой — туда же, куда сотрудник пишет заметки себе.

Текст в поле content разбирается как markdown: жирный, курсив, зачёркнутый, строчный код, блок кода и ссылки. Списки и таблицы не разбираются — -, 1. и | остаются как есть, у цитаты пропадает >, а строка с решёткой и пробелом становится жирной. Подробности — в разделе Форматирование текста.

@all упоминает всех участников чата, @here — тех, кто сейчас в сети, а @ с названием тега без пробелов — сотрудников этого тега. В треде упоминание работает ещё и как приглашение: упомянутого сотрудника, которого в треде нет, Пачка туда добавляет, и он получает доступ к треду и родительскому сообщению. Чтобы этого не происходило, передайте skip_invite_mentions: true. В беседе и канале упоминание никого не добавляет, и этот параметр там ничего не меняет.

Под текстом сообщения можно показать кнопки — массив buttons, где каждый вложенный массив это ряд. Работают они только у сообщений, отправленных токеном бота: нажатие на кнопку с data приходит событием button_click тому самому боту, а вместе с ним trigger_id — на открытие формы по нему есть 3 секунды, метод [Открытие представления](POST /views/open). Кнопка с url просто ведёт по ссылке и события не создаёт. Подробности в разделе Кнопки.

Бот может подписать сообщение чужим именем и аватаром: display_name и display_avatar_url меняют отправителя только у этого сообщения. Бейдж «Бот» остаётся, а в профиле отправителя видно настоящего бота. Так показывают автора из другой системы, когда переносят в Пачку чужую переписку. С личным токеном поля недоступны, ответ 403. Подробности — в разделе Боты.

К сообщению можно приложить не больше 10 файлов. Превью ссылки строится, только если передать link_preview в корне тела запроса.

Действует суточный предел на число сообщений в один чат от одного отправителя. При превышении метод отвечает 429, а в заголовке Retry-After приходит пауза до следующей попытки. Значения пределов — в разделе Лимиты.

post/messages

Request

  • Base URL: https://api.pachca.com/api/shared/v1
  • URL: https://api.pachca.com/api/shared/v1/messages
  • Auth: HTTP bearer

Request body

link_previewboolean

Отображение предпросмотра первой найденной ссылки в тексте сообщения

Example request

{
  "message": {
    "entity_id": 334,
    "content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
    "files": [
      {
        "key": "attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png",
        "name": "logo.png",
        "size": 12345,
        "width": 800,
        "height": 600,
        "duration_ms": 5400,
        "waveform": "4,8,12,20,16,10,6,3"
      }
    ],
    "buttons": [
      [
        {
          "text": "Подробнее",
          "url": "https://example.com/details"
        },
        {
          "text": "Отлично!",
          "data": "awesome"
        }
      ]
    ],
    "parent_message_id": 194270,
    "display_avatar_url": "https://example.com/avatar.png",
    "display_name": "Бот Поддержки"
  }
}

Response

The request has succeeded and a new resource has been created as a result.

Example response

{
  "data": {
    "id": 194275,
    "entity_id": 334,
    "chat_id": 334,
    "root_chat_id": 334,
    "content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
    "user_id": 12,
    "created_at": "2021-08-28T15:57:23.000Z",
    "url": "https://app.pachca.com/chats/334?message=194275",
    "files": [
      {
        "id": 3560,
        "key": "attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png",
        "name": "congrat.png",
        "url": "https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8",
        "width": 1920,
        "height": 1080,
        "duration_ms": 5400
      }
    ],
    "voice_content": {
      "duration_ms": 5400,
      "waveform": "4,8,12,20,16,10,6,3",
      "transcript": "Привет, посмотри пожалуйста последний отчёт"
    },
    "buttons": [
      [
        {
          "text": "Подробнее",
          "url": "https://example.com/details",
          "data": "awesome"
        }
      ]
    ],
    "thread": {
      "id": 265142,
      "chat_id": 2637266155
    },
    "forwarding": {
      "original_message_id": 194275,
      "original_chat_id": 334,
      "author_id": 12,
      "original_created_at": "2025-01-15T10:30:00.000Z"
    },
    "changed_at": "2021-08-28T16:10:00.000Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.