PHPackages                             gregorybiter/roapp-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. gregorybiter/roapp-sdk

ActiveLibrary[API Development](/categories/api)

gregorybiter/roapp-sdk
======================

sdk roapp bot rest

v0.0.1(1mo ago)05↓100%MITPHPPHP &gt;=7.4

Since Apr 30Pushed 1mo agoCompare

[ Source](https://github.com/GregoryBiter/roapp-sdk-php)[ Packagist](https://packagist.org/packages/gregorybiter/roapp-sdk)[ RSS](/packages/gregorybiter-roapp-sdk/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Roapp-PHP-SDK 🚀
===============

[](#roapp-php-sdk-)

PHP SDK для работы с **Roapp CRM API** — современной системой управления сервисными центрами и ремонтами.

[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)[![PHP Version](https://camo.githubusercontent.com/9f214dca45a1f32017a93d36952527052a2530721f1dc1f2abc678efe431d048/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230372e342d3838393262662e737667)](https://php.net)

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

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

```
composer require gregorybiter/roapp-sdk
```

**Требования:**

- PHP &gt;= 7.4
- Расширение cURL
- Расширение JSON

---

⚠️ ВАЖНО: Модули (Models)
-------------------------

[](#️-важно-модули-models)

Warning

На данный момент **не рекомендуется** использовать высокоуровневые модули из пространства имен `Gbit\Roapp\Models` (такие как `Order`, `People`, `Product` и т.д.). Они находятся в стадии активной переработки под новую структуру API (V2).

**Рекомендуемый способ взаимодействия** — использование универсальных методов класса `RoappClient`.

---

🔑 Аутентификация
----------------

[](#-аутентификация)

SDK использует **Bearer Token**. Получите ваш API ключ в личном кабинете Roapp: **Настройки &gt; API**.

```
use Gbit\Roapp\RoappClient;

$client = new RoappClient("ваш_api_ключ");
```

---

⚡ Быстрый старт (Рекомендуемый подход)
--------------------------------------

[](#-быстрый-старт-рекомендуемый-подход)

Используйте методы `getData`, `request` и `requestWithRetry` для прямого взаимодействия с эндпоинтами.

### 📥 Получение данных (с авто-пагинацией)

[](#-получение-данных-с-авто-пагинацией)

Метод `getData` позволяет автоматически собрать данные со всех страниц, если это необходимо.

```
// Получить все заказы (автоматически перебирает все страницы)
$allOrders = $client->getData('v2/orders', [], true);

// Получить только первую страницу (50 записей)
$ordersPage1 = $client->getData('v2/orders', ['page' => 1], false);

echo "Всего заказов в базе: " . $allOrders['count'];
```

### 📤 Создание и обновление данных

[](#-создание-и-обновление-данных)

```
// Создание заказа
$newOrder = $client->request('v2/orders', [
    'branch_id' => 1,
    'order_type_id' => 1,
    'client_id' => 12345,
    'description' => 'Ремонт iPhone 13'
], 'POST');

// Частичное обновление (PATCH)
$client->request('v2/orders/123', ['status_id' => 5], 'PATCH');
```

---

🔄 Продвинутые запросы
---------------------

[](#-продвинутые-запросы)

### 🔁 Автоматические повторы (Retry)

[](#-автоматические-повторы-retry)

Если API возвращает ошибку `429 (Too Many Requests)`, метод `requestWithRetry` автоматически подождет и повторит запрос.

```
$response = $client->requestWithRetry(
    'v2/orders',    // эндпоинт
    ['page' => 1],  // параметры
    'GET',          // метод
    3,              // макс. количество попыток
    1               // базовая задержка (сек)
);
```

---

🛠️ Низкоуровневый доступ (Класс Api)
------------------------------------

[](#️-низкоуровневый-доступ-класс-api)

Если вам нужен полный контроль над cURL или вы хотите использовать SDK без обертки `RoappClient`:

```
use Gbit\Roapp\Api;

$api = new Api('ваш_api_ключ');
$response = $api->api('v2/orders', ['status' => 'new'], 'GET');
```

---

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

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

SDK предоставляет информативное исключение `RoappApiException`, которое содержит детали ответа сервера.

```
use Gbit\Roapp\RoappApiException;

try {
    $result = $client->request('v2/orders/invalid-id', [], 'GET');
} catch (RoappApiException $e) {
    // Получить HTTP код (400, 401, 404, 429 и т.д.)
    $code = $e->getHttpCode();

    // Сообщение на русском языке (если доступно)
    echo $e->getUserFriendlyMessage();

    // Проверка специфических ошибок
    if ($e->isValidationError()) {
        print_r($e->getValidationErrors());
    }

    if ($e->isRateLimitError()) {
        echo "Превышен лимит запросов (3 зап/сек)";
    }
}
```

---

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

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

По умолчанию ошибки логируются в файл `logs/error.log`. Вы можете добавлять свои записи:

```
use Gbit\Roapp\RoappClient;

RoappClient::pushLogs("Информационное сообщение");
RoappClient::pushLogs("Критическая ошибка", true); // true = ERROR, false = WARNING
```

---

📖 Справочник эндпоинтов (V2)
----------------------------

[](#-справочник-эндпоинтов-v2)

Основные маршруты API V2 (рекомендуются к использованию):

СущностьЭндпоинт**Заказы**`v2/orders`**Финансы**`v2/finance`**Счета**`v2/finance/accounts`**Клиенты**`v2/people`**Товары**`v2/products`Полный список доступен в [Официальной документации Roapp API](https://api.remonline.app/docs).

---

🤝 Поддержка и разработка
------------------------

[](#-поддержка-и-разработка)

- **Issues**: [GitHub Issues](https://github.com/GregoryBiter/Roapp-PHP-SDK/issues)
- **Maintainer**: GregoryBiter ()

---

📄 Лицензия
----------

[](#-лицензия)

Проект распространяется под лицензией [MIT](LICENSE).

###  Health Score

32

—

LowBetter than 70% of packages

Maintenance92

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 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

Unknown

Total

1

Last Release

40d ago

### Community

Maintainers

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

---

Top Contributors

[![GregoryBiter](https://avatars.githubusercontent.com/u/67554508?v=4)](https://github.com/GregoryBiter "GregoryBiter (73 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/gregorybiter-roapp-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/gregorybiter-roapp-sdk/health.svg)](https://phpackages.com/packages/gregorybiter-roapp-sdk)
```

###  Alternatives

[facebook/php-business-sdk

PHP SDK for Facebook Business

90923.5M35](/packages/facebook-php-business-sdk)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[botman/driver-telegram

Telegram driver for BotMan

93452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

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