PHPackages                             justcommunication-ru/wiracle-api-php-sdk - 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. [API Development](/categories/api)
4. /
5. justcommunication-ru/wiracle-api-php-sdk

ActiveLibrary[API Development](/categories/api)

justcommunication-ru/wiracle-api-php-sdk
========================================

Wiracle.ru API PHP SDK

v1.0.2(1y ago)1118MITPHP

Since Nov 11Pushed 1y ago3 watchersCompare

[ Source](https://github.com/JustCommunication-ru/wiracle-api-php-sdk)[ Packagist](https://packagist.org/packages/justcommunication-ru/wiracle-api-php-sdk)[ RSS](/packages/justcommunication-ru-wiracle-api-php-sdk/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (3)Versions (6)Used By (0)

Wiracle API PHP SDK
===================

[](#wiracle-api-php-sdk)

[![Latest Stable Version](https://camo.githubusercontent.com/528811e1003692fcefe714e45e1db766924b4095048901d090a53faf26b10f4e/68747470733a2f2f706f7365722e707567782e6f72672f6a757374636f6d6d756e69636174696f6e2d72752f77697261636c652d6170692d7068702d73646b2f76)](//packagist.org/packages/justcommunication-ru/wiracle-api-php-sdk) [![Total Downloads](https://camo.githubusercontent.com/900dcbe4579d738f8b15dbba47426ac554e7573f19c2d6989ee6dbf2c4f1ca83/68747470733a2f2f706f7365722e707567782e6f72672f6a757374636f6d6d756e69636174696f6e2d72752f77697261636c652d6170692d7068702d73646b2f646f776e6c6f616473)](//packagist.org/packages/justcommunication-ru/wiracle-api-php-sdk)

PHP SDK для Wiracle.ru API

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

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

`composer require justcommunication-ru/wiracle-api-php-sdk`

Использование
-------------

[](#использование)

```
$client = new WiracleClient('email', 'token');
```

`email` — email пользователя на wiracle.ru

`token` — аутентификационный токен. Токен можно получить через web-интерфейс , либо методом `WiracleClient::getToken($email, $password)`

Методы
------

[](#методы)

### Токен авторизации

[](#токен-авторизации)

```
$token = WiracleClient::getToken($email, $password);

print_r($token);
```

Так же токен авторизации можно получить через web-интерфейс

### Информация об аккаунте и его профилях

[](#информация-об-аккаунте-и-его-профилях)

```
$account = $client->getAccount();

print_r($account);
```

### Список каналов профиля

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

```
$response = $client->sendChannelsRequest(new ChannelsRequest($profile_id));

print_r($response->getChannels());
```

### Список каналов доступных профилю

[](#список-каналов-доступных-профилю)

Каналы всех профилей на страницу которых можно добавлять сообщения (включая собственные)

```
$response = $client->sendChannelsAvailableRequest(new ChannelsAvailableRequest($profile_id));

print_r($response->getProfiles());
```

### Отправить простое текстовое сообщение

[](#отправить-простое-текстовое-сообщение)

```
$response = $client->sendMessageCreateRequest(MessageCreateRequest::withPlainText($profile_id, $channel_id, $text));

// идентификатор нового сообщения
print_r($response->getId());
```

### Отправить изображение

[](#отправить-изображение)

```
// $width, $height не обязательные поля
$response = $client->sendMessageCreateRequest(MessageCreateRequest::withImage($profile_id, $channel_id, $src, $width, $height));

// идентификатор нового сообщения
print_r($response->getId());
```

### Отправить составное сообщение

[](#отправить-составное-сообщение)

```
$message = new Message([
    new HeaderPart('Header'),
    new TextPart('Text')
]);

$message
    ->addPart(new ImagePart('https://wiracle.ru/images/app_banner/512x512.png', 512, 512))
    ->addPart(new CutlinePart())
    ->addPart(new TextPart('Text 2'))
;

$response = $client->sendMessageCreateRequest(MessageCreateRequest::withMessage($profile_id, $channel_id, $message));

// идентификатор нового сообщения
print_r($response->getId());
```

Сообщения поддерживают inline markdown такие как: **bold text**, *italic text*, [link](https://github.com/JustCommunication-ru/wiracle-api-php-sdk) и тд.

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

[](#обработка-ошибок)

При ошибке будет сгенерировано исключение `WiracleAPIException`

```
try {
    $client->sendMessageCreateRequest(MessageCreateRequest::withPlainText($profile_id, $channel_id, $text));
} catch (WiracleAPIException $e) {
    $logger->error('Wiracle ERROR: ' . $e->getMessage());
}
```

Настройка HTTP клиента
----------------------

[](#настройка-http-клиента)

### Способ №1: передача массива параметров

[](#способ-1-передача-массива-параметров)

```
$client = new WiracleClient('email', 'token', [
    'proxy' => 'tcp://localhost:8125',
    'timeout' => 6,
    'connect_timeout' => 4
]);
```

Список доступных параметров:

### Способ №2: передача своего `\GuzzleHttp\Client`

[](#способ-2-передача-своего-guzzlehttpclient)

Настройте своего http клиента:

```
// Http клиент с логгированием всех запросов

$stack = HandlerStack::create();
$stack->push(Middleware::log($logger, new MessageFormatter(MessageFormatter::DEBUG)));

$httpClient = new \GuzzleHttp\Client([
    'handler' => $stack,
    'timeout' => 6
]);
```

и передайте его аргументом конструктора:

```
$client = new WiracleClient('email', 'token', $httpClient);
```

либо сеттером:

```
$client = new WiracleClient('email', 'token');
$client->setHttpClient($httpClient);
```

Логирование
-----------

[](#логирование)

В `$client` можно передать свой `Psr\Logger`.

```
$client->setLogger($someLogger);
```

По-умолчанию, логирование отключено.

Тесты
-----

[](#тесты)

Запустить тесты можно командой:

`vendor/bin/phpunit`

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57.5% 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 ~362 days

Total

5

Last Release

564d ago

Major Versions

v0.9.1 → v1.0.02020-11-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/2c85524bc58444ab554ec47663bd1716ef1db841d7e245a4569f67c7da8e2d0c?d=identicon)[wiistriker](/maintainers/wiistriker)

---

Top Contributors

[![wiistriker](https://avatars.githubusercontent.com/u/967817?v=4)](https://github.com/wiistriker "wiistriker (23 commits)")[![worka](https://avatars.githubusercontent.com/u/3376513?v=4)](https://github.com/worka "worka (17 commits)")

---

Tags

apiphpsdkwiracleapisdkwiraclewiracle.ru

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/justcommunication-ru-wiracle-api-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/justcommunication-ru-wiracle-api-php-sdk/health.svg)](https://phpackages.com/packages/justcommunication-ru-wiracle-api-php-sdk)
```

###  Alternatives

[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[mailchimp/transactional

458.9M16](/packages/mailchimp-transactional)[resend/resend-php

Resend PHP library.

574.7M21](/packages/resend-resend-php)[justcommunication-ru/tinkoff-acquiring-api-client

Tinkoff Acquiring API PHP Client

102.5k](/packages/justcommunication-ru-tinkoff-acquiring-api-client)

PHPackages © 2026

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