Получить список доступных состояний интерфейса карточки звонка CallCardGetListUiStates

Scope: telephony

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

Метод CallCardGetListUiStates возвращает список доступных состояний интерфейса карточки звонка.

Метод работает в контексте приложения в плейсменте PAGE_BACKGROUND_WORKER.

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

Обязательные параметры отмечены *

Название
тип

Описание

PLACEMENT*
string

Имя команды интерфейса.

Для данного метода — CallCardGetListUiStates

PARAMS*
object

Объект параметров команды.

Для данного метода передается пустой объект: {}

Примеры кода

Как использовать примеры в документации

Рекомендуется вызывать метод после события BackgroundCallCard::initialized

curl -X POST \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -d '{"PLACEMENT":"CallCardGetListUiStates","PARAMS":{}}' \
          "https://**put_your_bitrix24_address**/rest/placement.call?auth=**put_access_token_here**"
        
BX24.placement.call('CallCardGetListUiStates', {}, function(result) {
            console.log(result);
        });
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'placement.call',
                    [
                        'PLACEMENT' => 'CallCardGetListUiStates',
                        'PARAMS' => []
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            echo 'Success: ' . print_r($result, true);
            processData($result);
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'placement.call',
            {
                PLACEMENT: 'CallCardGetListUiStates',
                PARAMS: {}
            },
            function(result)
            {
                if (result.error())
                {
                    console.error(result.error(), result.error_description());
                }
                else
                {
                    console.log(result.data());
                }
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'placement.call',
            [
                'PLACEMENT' => 'CallCardGetListUiStates',
                'PARAMS' => (object)[]
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

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

[
            "incoming",
            "transferIncoming",
            "outgoing",
            "connectingIncoming",
            "connectingOutgoing",
            "connected",
            "transferring",
            "transferFailed",
            "transferConnected",
            "error",
            "moneyError",
            "redial"
        ]
        

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

Корневой элемент ответа — массив строк с доступными состояниями интерфейса карточки.

Возможные значения:

  • incoming — входящий звонок
  • transferIncoming — входящий перевод звонка
  • outgoing — исходящий звонок
  • connectingIncoming — выполняется соединение входящего звонка
  • connectingOutgoing — выполняется соединение исходящего звонка
  • connected — соединение установлено
  • transferring — выполняется перевод звонка
  • transferFailed — ошибка перевода звонка
  • transferConnected — перевод звонка успешно соединен
  • error — ошибка звонка
  • moneyError — ошибка из-за недостатка средств
  • redial — повторный набор

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

Ошибка REST-вызова

{
            "error": "WRONG_AUTH_TYPE",
            "error_description": "Application context required"
        }
        

Название
тип

Описание

error
string

Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания

error_description
error_description

Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде

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

Код

Описание

Значение

WRONG_AUTH_TYPE

Application context required

Метод вызван вне контекста приложения в плейсменте PAGE_BACKGROUND_WORKER

Статусы и коды системных ошибок

HTTP-статус: 20x, 40x, 50x

Описанные ниже ошибки могут возникнуть при вызове любого метода

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

Текущий метод не разрешен для вызова с помощью batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

Превышена максимальная длина параметров, переданных в метод batch

401

NO_AUTH_FOUND
Wrong authorization data

Неверный access-токен или код вебхука

400

INVALID_REQUEST
Https required

Для вызовов методов требуется использовать протокол HTTPS

503

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24

403

ACCESS_DENIED
REST API is available only on commercial plans

REST API доступен только на коммерческих планах

403

INVALID_CREDENTIALS
Invalid request credentials

У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

Манифест недоступен

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более высоких привилегий, чем предоставляет токен вебхука

401

expired_token
The access token provided has expired

Предоставленный access-токен доступа истек

403

user_access_error
The user does not have access to the application

Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

500

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение