PHP code example of sashalenz / checkbox-api

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

    

sashalenz / checkbox-api example snippets


return [
    'base_url'       => env('CHECKBOX_API_URL', 'https://api.checkbox.in.ua/api/v1/'),
    'token'          => env('CHECKBOX_TOKEN'),
    'license_key'    => env('CHECKBOX_LICENSE_KEY'),
    'timeout'        => 30,
    'retry'          => ['times' => 3, 'sleep' => 150],
    'client_name'    => env('CHECKBOX_CLIENT_NAME', 'sashalenz/checkbox-api'),
    'client_version' => env('CHECKBOX_CLIENT_VERSION', '1.0.0'),
];

use Sashalenz\CheckboxApi\Facades\Checkbox;

$token = Checkbox::cashier()->signIn(
    new SignInData(login: '[email protected]', password: 'secret')
)->access_token;

Checkbox::setToken($token);

use Sashalenz\CheckboxApi\CheckboxApi;

class FiscalService
{
    public function __construct(private readonly CheckboxApi $api) {}

    public function openShift(): ShiftData
    {
        return $this->api->shifts()->create();
    }
}

$api->cashier()->signIn(SignInData $data): AccessTokenData
$api->cashier()->signInPinCode(SignInPinCodeData $data): AccessTokenData
$api->cashier()->signOut(): bool
$api->cashier()->me(): CashierData
$api->cashier()->shift(): ShiftData
$api->cashier()->checkSignature(): SignatureStatusData
$api->cashier()->taxes(): DataCollection

$api->shifts()->list(int $limit, int $offset): PaginatedData
$api->shifts()->create(?CreateShiftData $data): ShiftData
$api->shifts()->get(string $shiftId): ShiftData
$api->shifts()->shortShift(string $shiftId): array
$api->shifts()->close(string $shiftId, ?array $payload): ShiftData
$api->shifts()->closeCurrentShift(?array $payload): ShiftData

$api->receipts()->list(...): PaginatedData
$api->receipts()->search(array $params): PaginatedData
$api->receipts()->get(string $receiptId): ReceiptData
$api->receipts()->sell(SellReceiptData $data): ReceiptData
$api->receipts()->sellOffline(SellReceiptData $data): ReceiptData
$api->receipts()->bulkSell(array $payload): array
$api->receipts()->service(ServiceReceiptData $data): ReceiptData
$api->receipts()->serviceCurrency(array $payload): ReceiptData
$api->receipts()->cashWithdrawal(array $payload): ReceiptData
$api->receipts()->currencyExchange(array $payload): ReceiptData
$api->receipts()->validate(array $payload): array
$api->receipts()->html(string $receiptId): string
$api->receipts()->pdf(string $receiptId): string
$api->receipts()->text(string $receiptId): string
$api->receipts()->png(string $receiptId): string
$api->receipts()->qrCode(string $receiptId): string
$api->receipts()->xml(string $receiptId): string
$api->receipts()->sendEmail(string $receiptId, string $email): array
$api->receipts()->sendSms(string $receiptId, string $phone): array

$api->prepaymentReceipts()->search(array $params): PaginatedData
$api->prepaymentReceipts()->get(string $relationId): array
$api->prepaymentReceipts()->create(array $payload): ReceiptData
$api->prepaymentReceipts()->createAfterPayment(string $relationId, array $payload): ReceiptData
$api->prepaymentReceipts()->return(string $relationId, array $payload): array

$api->goods()->list(...): PaginatedData
$api->goods()->get(string $goodId): GoodData
$api->goods()->getByCode(string $code): GoodData
$api->goods()->create(CreateGoodData $data): GoodData
$api->goods()->update(string $goodId, array $payload): GoodData
$api->goods()->delete(string $goodId): array
$api->goods()->leftoversById(array $goodIds): array

// Groups
$api->goods()->groups(...): PaginatedData
$api->goods()->getGroup(string $groupId): GoodGroupData
$api->goods()->createGroup(CreateGoodGroupData $data): GoodGroupData
$api->goods()->updateGroup(string $groupId, array $payload): GoodGroupData
$api->goods()->deleteGroup(string $groupId): array
$api->goods()->moveGoods(string $groupId, string $toGroupId): array

// Export / Import
$api->goods()->exportGoods(string $extension): array          // csv|excel|json
$api->goods()->exportTaskStatus(string $taskId): array
$api->goods()->exportFile(string $taskId, ?int $chunk): string
$api->goods()->importUpload(string $contents, string $filename, bool $ignoreBarcodes, bool $autoSupply): array
$api->goods()->importTaskStatus(string $taskId): array
$api->goods()->importApplyChanges(string $taskId): array

$api->orders()->list(...): PaginatedData
$api->orders()->get(string $orderId): OrderData
$api->orders()->create(CreateOrderData $data): OrderData
$api->orders()->cancel(string $orderId): array
$api->orders()->close(string $orderId): array
$api->orders()->delete(array $orderIds): array
$api->orders()->setCustomStatus(string $orderId, string $newStatus): array
$api->orders()->sync(): array
$api->orders()->getIntegration(): array
$api->orders()->setIntegration(string $url): array
$api->orders()->deleteIntegration(): array
$api->orders()->editIntegrationOrder(array $payload): array

$api->invoices()->list(...): array
$api->invoices()->get(string $invoiceId): InvoiceData
$api->invoices()->create(CreateInvoiceData $data): InvoiceData
$api->invoices()->fiscalize(CreateInvoiceData $data): InvoiceData
$api->invoices()->cancel(string $invoiceId): array      // PATCH
$api->invoices()->cancelById(string $invoiceId): array  // DELETE
$api->invoices()->refund(string $invoiceId): array
$api->invoices()->remove(string $invoiceId): array
$api->invoices()->terminals(): array

$api->reports()->list(...): PaginatedData
$api->reports()->search(...): PaginatedData
$api->reports()->get(string $reportId): ReportData
$api->reports()->create(): ReportData          // X-report
$api->reports()->periodical(...): string
$api->reports()->addExternal(array $payload): ReportData
$api->reports()->text(string $reportId): string
$api->reports()->png(string $reportId): string

$api->extendedReports()->zReport(ZReportData $data): array
$api->extendedReports()->goodsReport(array $payload): array
$api->extendedReports()->actualRevenue(array $payload): array
$api->extendedReports()->netTurnover(array $payload): array
$api->extendedReports()->bookkeeperZReport(array $payload): array
$api->extendedReports()->dailyCashFlow(array $payload): array
$api->extendedReports()->receiptReport(array $payload): array
$api->extendedReports()->smsReceipts(array $payload): array
$api->extendedReports()->bookkeeperPayments(array $payload): array
$api->extendedReports()->fuibAggregated(array $payload): array
$api->extendedReports()->getTask(string $taskId): array
$api->extendedReports()->getTaskFile(string $taskId, string $extension): string

$api->transactions()->list(...): PaginatedData
$api->transactions()->get(string $transactionId): TransactionData

$api->cashRegisters()->list(...): PaginatedData
$api->cashRegisters()->info(): CashRegisterData
$api->cashRegisters()->get(string $cashRegisterId): CashRegisterData
$api->cashRegisters()->shifts(...): PaginatedData
$api->cashRegisters()->goOnline(): array
$api->cashRegisters()->goOffline(): array
$api->cashRegisters()->pingTaxService(): array
$api->cashRegisters()->askOfflineCodes(): array
$api->cashRegisters()->getOfflineCodes(): array
$api->cashRegisters()->getOfflineCodesCount(): array
$api->cashRegisters()->getOfflineTime(): array

$api->organization()->get(): OrganizationData
$api->organization()->receiptConfig(): array
$api->organization()->logo(): string
$api->organization()->textLogo(): string
$api->organization()->smsBilling(): array
$api->organization()->cashiers(...): PaginatedData
$api->organization()->billingStatus(): BillingStatusData

$api->currency()->rates(): array
$api->currency()->rateByCode(string $code): CurrencyRateData
$api->currency()->setup(SetupCurrencyRateData $data): array

$api->webhook()->get(): WebhookData
$api->webhook()->set(SetWebhookData $data): array
$api->webhook()->delete(): array

$api->ettn()->list(...): array
$api->ettn()->create(array $payload): EttnData
$api->ettn()->get(string $orderId): EttnData
$api->ettn()->update(string $orderId, array $payload): EttnData
$api->ettn()->delete(string $orderId): array
$api->ettn()->fiscalizeManually(string $orderId): EttnData
$api->ettn()->createPrepayment(array $payload): EttnData
$api->ettn()->getPrepayment(string $orderId): EttnData
$api->ettn()->deletePrepayment(string $orderId, string $relationId): array

$api->payLink()->authClient(array $payload): array
$api->payLink()->terminals(...): PaginatedData
$api->payLink()->getTerminal(string $terminalId): PayLinkTerminalData
$api->payLink()->removeTerminal(string $terminalId): array

$api->tax()->list(): DataCollection   // GET /api/v1/tax — 

$api->branches()->list(?bool $isActive, int $limit, int $offset): PaginatedData

$api->status(): array   // GET /status — public health check

use Sashalenz\CheckboxApi\CheckboxApi;
use Sashalenz\CheckboxApi\Data\Requests\Receipts\SellReceiptData;
use Sashalenz\CheckboxApi\Data\Requests\Receipts\GoodItemData;
use Sashalenz\CheckboxApi\Data\Requests\Receipts\CashPaymentData;

$receipt = app(CheckboxApi::class)->receipts()->sell(
    new SellReceiptData(
        goods: [
            new GoodItemData(
                good: ['name' => 'Coffee', 'price' => 5000, 'code' => 'COFFEE-001', 'taxes' => []],
                quantity: 1000,
            ),
        ],
        payments: [
            new CashPaymentData(value: 5000),
        ],
    )
);

echo $receipt->fiscal_code;
bash
php artisan vendor:publish --tag="checkbox-api-config"