PHP code example of gregorybiter / roapp-sdk

1. Go to this page and download the library: Download gregorybiter/roapp-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

gregorybiter / roapp-sdk example snippets


use Gbit\Roapp\RoappClient;

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

// Получить все заказы (автоматически перебирает все страницы)
$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');

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

use Gbit\Roapp\Api;

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

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 зап/сек)";
    }
}

use Gbit\Roapp\RoappClient;

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