Skip to content

Latest commit

 

History

History
201 lines (170 loc) · 11.7 KB

imconnector-send-messages.md

File metadata and controls

201 lines (170 loc) · 11.7 KB

Отправить сообщения в Битрикс24 imconnector.send.messages

{% note warning "Мы еще обновляем эту страницу" %}

Тут может не хватать некоторых данных — дополним в ближайшее время

{% endnote %}

{% if build == 'dev' %}

{% note alert "TO-DO не выгружается на prod" %}

  • не указан типы параметров
  • не указана обязательность параметров
  • нет примеров

{% endnote %}

{% endif %}

Scope: imopenlines

Кто может выполнять метод: любой пользователь

Метод отправляет сообщения в открытую линию. В параметрах метода используются значения внешней системы — это значения ID пользователя, ID чата, ссылки на чат и его названия в приложении, которое зарегистрировало коннектор.

Значения созданных ID чата и ID диалога открытой линии Битрикс будут возвращены в результате работы метода.

Параметры метода

{% include Сноска о параметрах %}

#| || Название тип | Описание || || CONNECTOR unknown | Идентификатор ID коннектора, который был указан при регистрации обработчика || || LINE unknown | Идентификатор ID открытой линии || || MESSAGES unknown | Массив сообщений, где сообщения описываются массивом следующего формата:

array(
    array(
        //Массив описания пользователя
        'user' => array(
            'id',//ID пользователя во внешней системе *
            'last_name',//Фамилия
            'name',//Имя
            'picture' => array(
                'url'//Ссылка на аватарку пользователя, доступную для портала
            ),
            'url',//Ссылка на профиль пользователя
            'sex',//Пол. Допустимо male и female
            'email', //email
            'phone', //телефон
            'skip_phone_validate' => 'Y', //В значении 'Y' позволяет не применять валидацию 
                                            //номера телефона пользователя. По умолчанию         
        ),
        //Массив описания сообщения
        'message' => array(
            'id', //ID сообщения во внешней системе.*
            'date', //Время сообщения в формате timestamp *
            'disable_crm' => 'Y' ,//отключить чат трекер (CRM трекер)
            'text', //Текст сообщения. Должен быть указан элемент text или files. 
                    //Допустимое форматирование (BB коды) описаны 
                    //здесь: https://apidocs.bitrix24.ru/api-reference/chats/messages/index.html
            'files' => array(//Массив описаний файлов, где каждый файл описывается 
                             //массивом, со ссылкой, которая доступна порталу
                array('url' => 'Cсылка на файл', 'name' => 'Имя файла'),
                array('url' => 'Cсылка на файл', 'name' => 'Имя файла'),
                ...
            )
        ),
        //Массив описания чата
        'chat' => array(
            'id',//ID чата во внешней системе *
            'name', //Имя чата во внешней системе
            'url', //Ссылка на чат во внешней системе
        ),
    ),
    array(...),
);

Формат передаваемого файла не имеет ограничений. В чате вложение в сообщение может форматироваться как картинка для типов: jpe, jpg, jpeg, png, webp, gif, bmp.

Сообщения можно отправлять от имени менеджера, указав user_id в массиве message. || |#

{% note info "Примечание" %}

Параметр skip_phone_validate из структуры пользователя рекомендуется применять только в исключительных случаях. Параметр — вынужденная мера для преодоления ограничений валидатора номеров телефонов.

{% endnote %}

Обработка ответа

HTTP-статус: 200

{
    "SUCCESS": true,
    "DATA": {
        "RESULT": [
            {
                "user": "1670",
                "message": {
                    "id": "1",
                    "date": {},
                    "disable_crm": "true",
                    "text": "test message"
                },
                "chat": {
                    "id": "1",
                    "name": "test_chat",
                    "description": "Ссылка на исходный пост: example.com"
                },
                "extra": {
                    "skip_phone_validate": "Y"
                },
                "SUCCESS": true,
                "session": {
                    "ID": "3267",
                    "CHAT_ID": "9853"
                }
            }
        ]
    }
}

Возвращаемые данные

#| || Название тип | Описание || || SUCCESS boolean | Возвращает true в случае успешной отправки || || DATA object | Содержит объект RESULT c информацией об отправленных сообщениях || |#

Объект RESULT {#result}

#| || Название тип | Описание || || user integer | Идентификатор пользователя во внешней системе || || message object | Объект с информацией о сообщении:

  • id — идентификатор сообщения во внешней системе
  • date — время сообщения в формате timestamp
  • disable_crm — отключен ли чат трекер
  • text — текст сообщения || || chat object | Объект с информацией о чате:
  • id — идентификатор чата во внешней системе
  • name — имя чата во внешней системе
  • description — описание чата || || extra object | Объект с информацией о дополнительных настройках:
  • skip_phone_validate — пропущена ли валидация номера телефона пользователя || || SUCCESS boolean | Возвращает true в случае успешной отправки || || session object | Объект с информацией о диалоге открытой линии
  • ID — идентификатор сессии
  • CHAT_ID — идентификатор чата || |#

Обработка ошибок

Возможные коды ошибок

#| || Код | Описание | Пояснение || || WRONG_AUTH_TYPE | Current authorization type is denied for this method | Некорректный тип авторизации. Необходим тип oauth || || CONNECTOR | Argument 'CONNECTOR' is null or empty | Не указан обязательный параметр CONNECTOR в запросе || || LINE | Argument 'LINE' is null or empty | Не указан обязательный параметр LINE в запросе || || MESSAGES | Argument 'MESSAGES' is null or empty | Не указан обязательный параметр MESSAGES в запросе || || MESSAGES | The value of an argument 'MESSAGES' must be of type array | Значение параметра не является массивом. || || IMCONNECTOR_NO_CORRECT_PROVIDER | Не удалось найти подходящий провайдер для коннектора | Некорректное значение в параметре CONNECTOR || || IMCONNECTOR_COULD_NOT_GET_PROVIDER_OBJECT | Не удалось получить объект провайдера | Некорректное значение в параметре CONNECTOR || || IMCONNECTOR_NOT_SPECIFIED_CORRECT_COMMAND | Не указана корректная команда | Что-то невероятное. Это где-то ошибся разработчик || || IMCONNECTOR_NOT_SPECIFIED_CORRECT_CONNECTOR | Не указан коннектор | Некорректное значение в параметре CONNECTOR || || NOT_ACTIVE_LINE | Линия c таким ID неактивна или не существует | Линия на портале удалена или отключена || || PROVIDER_UNSUPPORTED_TYPE_INCOMING_MESSAGE | Неподдерживаемый тип входящего сообщения от сервера | Некорректное значение в параметре type_message, если он передан || || IMCONNECTOR_NOT_ALL_THE_REQUIRED_DATA | Переданы не все необходимые данные | Пустое или не корректное значение в параметре user || || CONNECTOR_PROXY_NO_ADD_USER | Не удалось создать или получить пользователя системы, сопоставленного с пользователем удаленного мессенджера | Для работы чата открытых линий необходимо на портал добавить специального технического пользователя с признаком, что это пользователь для мессенджер-коннектора, и под которым невозможно авторизоваться || || CONNECTOR_PROXY_NO_USER_IM | Не получен id пользователя мессенджера | Некорректное значение поля id в параметре user. Это следствие предыдущей ошибки || || IMCONNECTOR_NOT_ALL_THE_REQUIRED_DATA | Переданы не все необходимые данные | Некорректное значение поля text или files в параметре message. Не переданы какие-либо данные для отправки сообщения || || 100 | The MESSAGES parameter must be an array of messages (arrays) | Значение параметра MESSAGES должно быть массивом сообщений || || 100 | The incorrect structure of a message inside MESSAGES parameter. | Некорректная структура сообщений || |#