PHP SDK for the Emizor 5 REST API with Guzzle transport, .env support, PHPUnit coverage, and static analysis.
- PHP
^8.2 - Composer
^2
- Injectable SDK client under the
Emizornamespace. - Guzzle-based HTTP transport with Emizor authentication headers.
- Environment-backed configuration via
EMIZOR_*variables. - Coverage for all endpoints documented in the bundled Emizor 5 REST API reference, including product management and parametric catalogs.
- Enum support for documented API constants such as document and payment types.
- PHPUnit and PHPStan integration for testing and code quality.
composer installOr install the package in another project:
composer require 10quality/emizor-php-sdkEMIZOR_BASE_URL=https://{your-env}.emizor.com
EMIZOR_API_TOKEN=your-api-token
EMIZOR_API_SECRET=password<?php
require __DIR__ . '/vendor/autoload.php';
use Dotenv\Dotenv;
use Emizor\Emizor;
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->safeLoad();
$emizor = Emizor::fromEnvironment();
$products = $emizor->products()->list();
print_r($products);- Verify NIT:
verifyNit(string $nit) - Create client:
clients()->create(array $payload) - Create invoice or prefactura:
invoices()->create(array $payload, ?InvoiceOptions $options = null) - Generate QR for prefactura:
invoices()->generateQr(array $invoiceIds, bool $publish = false) - Emit prefactura:
invoices()->emitPrefactura(string $originId) - Check invoice status:
invoices()->status(string $originId) - List products:
products()->list(int $page = 1, string $filter = '') - Create product:
products()->create(array $payload) - Update product:
products()->update(string $productId, array $payload) - Delete product:
products()->delete(string $productId) - List parametrica catalog:
parametricas()->list(string $parametrica)
- Main usage guide: docs/README.md
- Endpoint guide: docs/endpoints.md
- Full workflow sample: docs/samples/all-endpoints.php
- Basic sample: docs/samples/basic-usage.php
composer analyse
composer test
composer test:coverage