Установка и подключение для PHP 8.*
Для PHP версии 8.*
требуется загружать версию библиотеки из ветки 4.*
{
"require": {
"b24io/loyalty-php-sdk": "4.*",
"monolog/monolog": "^3"
},
"require-dev": {
"roave/security-advisories": "dev-master"
}
}
Установка и подключение для PHP 7.4
Для PHP версии 7.4
требуется загружать версию библиотеки из ветки 3.*
{
"require": {
"b24io/loyalty-php-sdk": "3.*",
"monolog/monolog": "^2.5"
},
"require-dev": {
"roave/security-advisories": "dev-master"
}
}
<?php
declare(strict_types=1);
use B24io\Loyalty\SDK;
use B24io\Loyalty\SDK\Common\Requests\ItemsOrder;
use B24io\Loyalty\SDK\Common\Requests\OrderDirection;
use Money\Currencies\ISOCurrencies;
use Money\Formatter\DecimalMoneyFormatter;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use Monolog\Processor\IntrospectionProcessor;
use Monolog\Processor\MemoryUsageProcessor;
require_once 'vendor/autoload.php';
print('GET ALL CONTACTS EXAMPLE' . PHP_EOL . PHP_EOL);
$apiEndpoint = 'https://loyalty.b24.cloud/api/v2/';
$apiClientId = 'INSERT_HERE_CLIENT_ID';
$apiAdminKey = 'INSERT_HERE_ADMIN_KEY';
// configure logger
$log = new Logger('loyalty-php-sdk-integration');
$logLevel = 100;
$logFileName = 'loyalty-php-sdk-exchange.log';
$log->pushHandler(new StreamHandler($logFileName, $logLevel));
$log->pushProcessor(new MemoryUsageProcessor(true, true));
$log->pushProcessor(new IntrospectionProcessor());
$serviceBuilder = SDK\Services\ServiceBuilderFactory::createAdminRoleServiceBuilder(
$apiEndpoint,
$apiClientId,
$apiAdminKey,
$log
);
$decimalMoneyFormatter = new DecimalMoneyFormatter(new ISOCurrencies());
// fetch all contacts from rest-api page by page
$contactsCounter = 0;
print('# | loyalty id | full name | mobile |created | b24 id |' . PHP_EOL);
foreach ($serviceBuilder->contactsScope()->fetcher()->list(
null,
new ItemsOrder('created', OrderDirection::desc())) as $contact) {
$contactsCounter++;
print(sprintf('%s | %s | %s | %s | %s | %s ',
$contactsCounter,
$contact->id->toRfc4122(),
$contact->mobilePhone !== null ? $contact->mobilePhone->phoneNumber->getNationalNumber() : 'none',
sprintf('%s %s %s', $contact->fullName->name, $contact->fullName->surname, $contact->patronymic),
$contact->created->format('Y.m.d H:i:s'),
$contact->externalIds['bitrix24']
) . PHP_EOL);
}
php -f get-all-contacts.php