PHPackages                             x3group-dev/calltouch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. x3group-dev/calltouch

ActiveLibrary

x3group-dev/calltouch
=====================

1.0.1(1y ago)016MITPHPPHP ^8.2

Since Aug 8Pushed 1y agoCompare

[ Source](https://github.com/x3group-dev/calltouch)[ Packagist](https://packagist.org/packages/x3group-dev/calltouch)[ RSS](/packages/x3group-dev-calltouch/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (3)Used By (0)

Интеграция с сервисом CallTouch
===============================

[](#интеграция-с-сервисом-calltouch)

[Ссылка на сервис](https://my.calltouch.ru/user/registration/?ref=x3group.ru)

Установка
---------

[](#установка)

`composer require x3group-dev/calltouch`

Отслеживание UTM-меток
----------------------

[](#отслеживание-utm-меток)

Для корректной интеграции с CallTouch необходимо подключить сбор UTM-меток посетителя ```
use X3Group\CallTouch\Conversion\Utm;

Utm::search();

```

Отслеживание активных аккаунтов
-------------------------------

[](#отслеживание-активных-аккаунтов)

В любой части сайта необходимо разместить js скрипт поиска активных кабинетов CallTouch ```
use X3Group\CallTouch\Helpers\RenderHelper;

RenderHelper::showTrackingParameters();

```

Карта соответствия свойств
--------------------------

[](#карта-соответствия-свойств)

Точка взаимодействия с CallTouch является общей, для всех методов. Необходимо построить карту соответствий, которая привязывает ключи значений запроса с внутренними механизма обработки. Допускается множественное указание, если более 1 ключа совпало, то произойдет выбор случайного значения. ```
use X3Group\CallTouch\Container\FieldMap;

$map = new FieldMap();
$map->setPhone(['USER_PHONE']);
$map->setCallUrl(['NOW_PAGE']);

```

Создание отчета
---------------

[](#создание-отчета)

Предоставляется возможность указания произвольных механизмов формирования отчета о результате взаимодействия с CallTouch. Отчет отправляется вне зависимости от результата работы. Генератор отчета должен реализовывать интерфейс **X3Group\\CallTouch\\Reporters\\ReportedInterface**

Пример собственного генератора отчета

```
use Throwable;

use X3Group\CallTouch\Result\ResultInterface;
use X3Group\CallTouch\Helpers\ExceptionHelper;
use X3Group\CallTouch\Reporters\ReportedInterface;

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\RequestInterface;

class EmailReporter implements ReportedInterface
{
    private ?ResponseInterface $response = null;
    private ?RequestInterface $request = null;
    private ?ResultInterface $result = null;

    public function report(): void
    {
        if (null === $this->response) {
            return;
        }

        $responseBody = $this->response->getBody();
        $responseBody->rewind();

        $message = $responseBody->getContents() ?: 'Unknown error';

        mail('test@mail.ru', 'Subject', $message);
    }

    public function setResponse(ResponseInterface $response): self
    {
        $this->response = $response;
        return $this;
    }

    public function setRequest(RequestInterface $request): self
    {
        $this->request = $request;
        return $this;
    }

    public function setResultValidate(ResultInterface $result): self
    {
        $this->result = $result;
        return $this;
    }
}

```

Инициализация и отправка запроса
--------------------------------

[](#инициализация-и-отправка-запроса)

Для создания метода отправки заявок в CallTouch рекомендуется пользоваться сборщиком. Необходимо указать токен доступа - благодаря которому происходит защищенное общение с API. Вторым параметром указываем какой метод отправки заявки нам необходим.

```
use X3Group\CallTouch\MethodsEnum;
use X3Group\CallTouch\Builder\MethodBuilder;

$token = 'your access token...';

$builder = new MethodBuilder($token, MethodsEnum::CallBack);
$callTouch = $builder->make();

```

Пример отправки заявки на [обратный звонок](https://www.calltouch.ru/support/servernoe-callback-api/)

```
use X3Group\CallTouch\Builder\CallbackBuilder;

$routeKey = "myKey";
$token = 'your access token...';

$formData = [
    'USER_PHONE' => '79099999999',
    'NAME' => "Игорь",
    'EMAIL' => "test@mail.ru",
    'NOW_PAGE' => 'http://test.ru',
];

$builder = new CallbackBuilder($token);
$builder->getFieldMap()
    ->setPhone(['USER_PHONE', 'PERSONAL_PHONE'])
    ->setCallUrl(['NOW_PAGE'])
    ->setFields([
        'NAME',
        'EMAIL',
        'NOW_PAGE'
    ]);

$builder->setRouteKey($routeKey)
    ->addReporter(new EmailReporter)
    ->make()
    ->send($formData);

```

Если мы имеем несколько кабинетов CallTouch, то необходимо в явном виде передать желаемый кабинет. Если будет указан несуществующий кабинет, то произойдет отправка заявки без указания сессии.

```
$callTouch->setModelID('your model_id ...');

```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

2

Last Release

644d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a9d9ec588aff7b6c6ea2bcf92a6c419b5b877405c2befa44c3e723f94b939a3d?d=identicon)[MrDeff](/maintainers/MrDeff)

---

Top Contributors

[![MrDeff](https://avatars.githubusercontent.com/u/22890988?v=4)](https://github.com/MrDeff "MrDeff (1 commits)")

### Embed Badge

![Health badge](/badges/x3group-dev-calltouch/health.svg)

```
[![Health](https://phpackages.com/badges/x3group-dev-calltouch/health.svg)](https://phpackages.com/packages/x3group-dev-calltouch)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.7k509.9M17.0k](/packages/laravel-framework)[irazasyed/telegram-bot-sdk

The Unofficial Telegram Bot API PHP SDK

3.3k4.5M84](/packages/irazasyed-telegram-bot-sdk)[silverstripe/framework

The SilverStripe framework

7213.5M2.5k](/packages/silverstripe-framework)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k21](/packages/neuron-core-neuron-ai)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
