loymax-php

SDK на PHP для работы с программой лояльности Loymax

MIT License

Stars
5

Loymax PHP SDK

SDK Loymax.

Loymax .

composer require 15web/loymax-sdk

PHP 8.2

SDK HTTP- PSR-18 PSR-3.

Guzzle HTTP-

HTTP- .

use Studio15\Loymax\Loymax;

require __DIR__ . '/vendor/autoload.php';

$loymax = Loymax::create('https://your-project.loymax.tech');

$merchants = $loymax->publicApi()->merchants()->getByIds();

use Studio15\Loymax\Loymax;

require __DIR__ . '/vendor/autoload.php';

$loymax = Loymax::create('https://your-project.loymax.tech');

$twoFactorToken = $loymax->authApi()->issueAccessToken(
    username: '79990001234', // 
);

$token = $loymax->authApi()->confirmTwoFactorAuthentication(
    twoFactorAuthToken: $twoFactorToken->twoFactorAuthToken,
    code: '123456', // ,   SMS
);

API

use Studio15\Loymax\Loymax;

require __DIR__ . '/vendor/autoload.php';

$loymax = Loymax::create('https://your-project.loymax.tech');

$twoFactorToken = $loymax->authApi()->issueAccessToken(
    username: '79990001234', // 
);

$token = $loymax->authApi()->confirmTwoFactorAuthentication(
    twoFactorAuthToken: $twoFactorToken->twoFactorAuthToken,
    code: '123456', // ,   SMS
);

/**
 *     
 */
$balance = $loymax->publicApi(token: $token->accessToken)->user()->balance();

/** 
 *      
 */
$merchants = $loymax->publicApi()->merchants()->getByIds();

.

,   `Psr\Log\LoggerInterface`

Monolog

composer require monolog/monolog

use Monolog\Handler\StreamHandler;
use Monolog\Level;
use Monolog\Logger;
use Studio15\Loymax\Loymax;

require __DIR__ . '/vendor/autoload.php';

$baseUri = 'https://your-project.loymax.tech';

$logger = new Logger('name');
$logger->pushHandler(new StreamHandler('log/loymax-info.log', Level::Info));

$loymax = new Loymax(
    baseUri: $baseUri,
    logger: $logger,
);

$merchants = $loymax->publicApi()->merchants()->getByIds();

HTTP-

SDK Guzzle HTTP-

Symfony HTTP client

composer require symfony/http-client psr/http-client nyholm/psr7
use Studio15\Loymax\Loymax;
use Symfony\Component\HttpClient\Psr18Client;

require __DIR__ . '/vendor/autoload.php';

$baseUri = 'https://your-project.loymax.tech';

$httpClient = (new Psr18Client())->withOptions(['base_uri' => $baseUri]);

$loymax = new Loymax(
    httpClient: $httpClient,
);

$merchants = $loymax->publicApi()->merchants()->getByIds();

Symfony

services: # ...
    Studio15\Loymax\Loymax:
        arguments:
            $httpClient: null
            $baseUri: 'https://your-project.loymax.tech'

Symfony HTTP client Guzzle

Laravel

<?php

return [
    //
    
    'loymax' => [
        'baseurl' => env('LOYMAX_API_BASEURL', 'https://your-project.loymax.tech'),
    ],
];
    :
  • app/Providers/AppServiceProvider.php
use Studio15\Loymax\Loymax;

public function register(): void
{
    //
    
    $this->app->bind(
        abstract: Loymax::class,
        concrete: static fn (): Loymax => Loymax::create(config('services.loymax.baseurl')),
    );
}
Loymax   ,   :
use Studio15\Loymax\Loymax;

class MyController extends Controller
{
    public function merchants(Loymax $loymax)
    {
        $merchants = $loymax->publicApi()->merchants()->getByUids();
    }
}

Loymax SDK Open Source MIT.

:

  • issue
  • pull request

, :

git clone [email protected]:15web/loymax-sdk.git
cd loymax-sdk
composer update
composer test

:

https://github.com/krakjoe/pcov/blob/develop/INSTALL.md

:

composer coverage

, , Github. Loymax SDK Issues

, , https://www.15web.ru/contacts

Copyright and license

Copyright Studio 15, 2012 - Present. Code released under the MIT license.

Package Rankings
Top 45.96% on Packagist.org
Badges
Extracted from project README's
Build and check code status Psalm coverage Psalm level
Related Projects