softc/evotor-certificates

提供对Evotor Certificates应用API的访问

v1.0.0 2023-02-10 10:49 UTC

This package is auto-updated.

Last update: 2024-08-28 12:38:03 UTC


README

Version Downloads Contributors Forks Stargazers Issues Apache 2.0 License


Logo

API客户端应用"ДисконтКлуб Сертификаты"

用于使用"ДисконтКлуб Сертификаты"应用程序API的客户端,用于第三方系统。
报告错误 · 请求功能

关于项目

该库提供对"ДисконтКлуб Сертификаты"应用程序API的访问。

(返回顶部)

构建工具

  • PHP

(返回顶部)

入门指南

先决条件

根据https://docs.php-http.org/en/latest/httplug/users.html使用HTTPlug库。

安装

推荐使用Composer安装

$ composer require softc/evotor-certificates

(返回顶部)

使用方法

<?php

require 'vendor/autoload.php';

use SoftC\Evotor\Certificates\Api\Domain\CertificateActivate;
use SoftC\Evotor\Certificates\Api\Domain\CertificateCreate;
use SoftC\Evotor\Certificates\Api\Domain\CertificatePay;
use SoftC\Evotor\Certificates\Api\Entities\CertificateType;
use SoftC\Evotor\Certificates\Api\Enums\EntityStatus;
use SoftC\Evotor\Certificates\Api\Requests\CertificatesActivateRequest;
use SoftC\Evotor\Certificates\Api\Requests\CertificatesCreateRequest;
use SoftC\Evotor\Certificates\Api\Requests\CertificatesPayRequest;

$token = 'api-token';
$client = new Client($token);

// получить виды сертификатов
$types = $client->SelectTypes();
// оставляем только активные виды сертификатов с указанным номиналом
$types = array_filter($types, static fn(CertificateType $item) => $item->status === EntityStatus::ACTIVE && $item->value > 0);

// используем первый вид
$type = $types[0];

// создаем сертификат с произвольным номером
$number = bin2hex(random_bytes(16));
$certs = $client->CreateCertificates(new CertificatesCreateRequest([
    new CertificateCreate($number, $type->uuid)
]));

// получаем ИД созданного сертификата
$uuid = $certs[0];

// также можно найти сертификат по номеру
// $cert = $client->GetCertificateByNumber($number);

// активируем сертификат
$client->ActivateCertificates(new CertificatesActivateRequest(
    bin2hex(random_bytes(18)),
    [
        new CertificateActivate($uuid, $type->uuid)
    ]
));

// гасим сертификат
$client->PayCertificates(new CertificatesPayRequest(
    bin2hex(random_bytes(18)),
    [
        new CertificatePay($uuid, $type->value ?? 0)
    ]
));

(返回顶部)

路线图

查看开放问题获取功能建议(和已知问题)的完整列表。

(返回顶部)

贡献

贡献是开源社区如此出色的学习、灵感和创新之地的原因。您所提供的任何贡献都将非常受到赞赏。

如果您有改进的建议,请分支仓库并创建一个pull请求。您也可以简单地创建一个带有"增强"标签的问题。别忘了给项目加星标!再次感谢!

  1. 分支项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 提交您的更改(git commit -m 'Add some AmazingFeature'
  4. 将更改推送到分支(git push origin feature/AmazingFeature
  5. 打开pull请求

(返回顶部)

许可

在Apache-2.0许可下分发。有关更多信息,请参阅LICENSE.txt

(返回顶部)

联系

项目链接:https://github.com/softc24/evotor-certificates-php

(返回顶部)