Блог Горошко Андрея Bitrix24,PHP Как использовать метод SDK telephony.externalcall.finish в Битрикс24

Как использовать метод SDK telephony.externalcall.finish в Битрикс24

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Как использовать метод SDK telephony.externalcall.finish в Битрикс24». Вы узнаете экспертные методики работы с telephony.externalcall.finish и научитесь избегать типичных ошибок начинающих разработчиков.

Описание метода SDK telephony.externalcall.finish

Метод telephony.externalcall.finish является частью официального Bitrix24 PHP SDK и предназначен для выполнения REST-запросов к порталу. This method allows to retrieve information about a client from CRM by a telephone number via single request.

Параметры и сигнатура метода

В рамках SDK метод объявлен в пространстве имен \Bitrix24\SDK\Services\Telephony\ExternalCall\Service\ExternalCall со следующей сигнатурой:

public function finishForUserPhoneInner(
      string                  $callId,
      string                  $userInnerPhoneNumber,
      int                     $duration,
      Money                   $money,
      TelephonyCallStatusCode $telephonyCallStatusCode,
      bool                    $isAddCallToChat = false,
      ?string                 $failedReason = null,
      ?int                    $userVote = null
  ): Result

Пример использования на PHP

Ниже представлен готовый практический пример интеграции с использованием Bitrix24 PHP SDK. Этот пример показывает, как правильно инициализировать сервис-билдер и вызвать метод finishForUserPhoneInner:

<?php
declare(strict_types=1);

use Bitrix24\SDK\Services\ServiceBuilderFactory;

// Инициализация официального Bitrix24 PHP SDK через входящий вебхук
$webhookUrl = 'https://your-portal.bitrix24.ru/rest/1/your-webhook-code/';
$serviceBuilder = ServiceBuilderFactory::createServiceBuilderFromWebhook($webhookUrl);

try {
    // Подготовка параметров для вызова метода telephony.externalcall.finish
    $callId = "пример_значения";
    $userInnerPhoneNumber = "пример_значения";
    $duration = 123;
    $money = new \Bitrix24\SDK\Services\Telephony\ExternalCall\Service\Money();
    $telephonyCallStatusCode = new \Bitrix24\SDK\Services\Telephony\ExternalCall\Service\TelephonyCallStatusCode();
    $isAddCallToChat = true;
    $failedReason = null;
    $userVote = null;

    // Выполнение запроса через Scope getTelephonyScope и сервис externalcall
    $result = $serviceBuilder->getTelephonyScope()->externalcall()->finishForUserPhoneInner(
          $callId,
          $userInnerPhoneNumber,
          $duration,
          $money,
          $telephonyCallStatusCode,
          $isAddCallToChat,
          $failedReason,
          $userVote
      );

    // Обработка полученных данных
    print_r($result->getResponseData()->getResult());

} catch (\Throwable $exception) {
    // Обработка исключений при интеграции
    echo "Ошибка при выполнении метода telephony.externalcall.finish: " . $exception->getMessage();
}

Полезные ссылки

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Как использовать метод SDK telephony.externalcall.finish в Битрикс24»:

Использование современных стандартов D7 при работе с telephony.externalcall.finish позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Добавить лид через веб-формуДобавить лид через веб-форму

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Добавить лид через веб-форму». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции. Добавить

Удалить раздел торгового каталога catalog.section.deleteУдалить раздел торгового каталога catalog.section.delete

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Удалить раздел торгового каталога catalog.section.delete», разберем архитектурные особенности

Удалить настройку регулярного счета crm.invoice.recurring.deleteУдалить настройку регулярного счета crm.invoice.recurring.delete

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Удалить настройку регулярного счета crm.invoice.recurring.delete», проанализируем лучшие практики