PHP code example of dvomaks / promua-api

1. Go to this page and download the library: Download dvomaks/promua-api 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/ */

    

dvomaks / promua-api example snippets




return [
    'api_token' => env('PROMUA_API_TOKEN', ''),
    'base_url' => env('PROMUA_BASE_URL', 'https://my.prom.ua/api/v1'),
    'timeout' => env('PROMUA_TIMEOUT', 30),
    'language' => env('PROMUA_LANGUAGE', 'uk'),
];

use Dvomaks\PromuaApi\Facades\PromuaApi;

// Через Facade
$orders = PromuaApi::orders()->getList();

// Або безпосередньо
$promuaApi = new \Dvomaks\PromuaApi($httpClient);
$orders = $promuaApi->orders()->getList();

use Dvomaks\PromuaApi\Facades\PromuaApi;

// Отримання списку замовлень
$orders = PromuaApi::orders()->getList(
    status: 'pending',
    dateFrom: '2024-01-01',
    limit: 50
);

// Отримання конкретного замовлення
$order = PromuaApi::orders()->getById(12345);

// Оновлення статусу замовлення
$result = PromuaApi::orders()->updateStatus(12345, 'sent');

// Прикріплення квитанції
$result = PromuaApi::orders()->attachReceipt(12345, 'receipt_001');

// Обробка повернення
$result = PromuaApi::orders()->refund(12345, 299.99, 'Товар повернуто покупцем');

use Dvomaks\PromuaApi\Facades\PromuaApi;

// Отримання списку товарів
$products = PromuaApi::products()->getList(limit: 100);

// Отримання товару за ID
$product = PromuaApi::products()->getById(67890);

// Створення нового товару
$newProduct = [
    'name' => 'Назва товару',
    'price' => 999.99,
    'description' => 'Опис товару',
    'category_id' => 123,
    'group_id' => 456
];
$result = PromuaApi::products()->create($newProduct);

// Імпорт товарів через URL
$result = PromuaApi::products()->importFromUrl('https://example.com/products.xml');

// Імпорт товарів через файл
$result = PromuaApi::products()->importFromFile('/path/to/products.xml');

use Dvomaks\PromuaApi\Facades\PromuaApi;

// Отримання списку клієнтів
$clients = PromuaApi::clients()->getList(limit: 200);

// Отримання клієнта за ID
$client = PromuaApi::clients()->getById(11223);

use Dvomaks\PromuaApi\Facades\PromuaApi;

// Отримання списку повідомлень
$messages = PromuaApi::messages()->getList();

// Відповідь на повідомлення
$result = PromuaApi::messages()->reply(12345, 'Дякуємо за ваше запитання!');

// Оновлення статусу повідомлення
$result = PromuaApi::messages()->updateStatus(12345, 'answered');

use Dvomaks\PromuaApi\Facades\PromuaApi;

// Отримання кімнат чату
$rooms = PromuaApi::chat()->getRooms();

// Отримання історії повідомлень
$messages = PromuaApi::chat()->getMessagesHistory(roomId: 123);

// Надсилання повідомлення
$result = PromuaApi::chat()->sendMessage(123, 'Текст повідомлення');

// Надсилання файлу
$result = PromuaApi::chat()->sendFile(123, '/path/to/file.pdf');

// Позначення повідомлення як прочитаного
$result = PromuaApi::chat()->markAsRead(12345);

use Dvomaks\PromuaApi\Facades\PromuaApi;

// Отримання списку груп
$groups = PromuaApi::groups()->getList();

// Отримання перекладу групи
$translation = PromuaApi::groups()->getTranslation(123, 'en');

// Оновлення перекладу
$result = PromuaApi::groups()->updateTranslation(123, 'en', [
    'name' => 'Group Name',
    'description' => 'Group Description'
]);

use Dvomaks\PromuaApi\Tests\TestCase;

class MyServiceTest extends TestCase
{
    /** @test */
    public function it_can_get_orders()
    {
        $orders = PromuaApi::orders()->getList();

        $this->assertIsArray($orders);
    }
}
bash
php artisan vendor:publish --provider="Dvomaks\PromuaApi\PromuaApiServiceProvider"
neon
parameters:
    level: 5                    # Рівень жорсткості (0-9)
    paths:
        - src/                  # Директорії для аналізу
    excludePaths:
        - vendor/
        - storage/
        - bootstrap/cache/
        - tests/
    bootstrapFiles:
        - vendor/autoload.php