up2date/flow-php-sdk

0.4.0 2023-08-11 13:23 UTC

This package is auto-updated.

Last update: 2024-09-11 15:55:37 UTC


README

Flow PHP 库提供了从 PHP 语言编写的应用程序中方便访问 Flow API 的途径。它包括一组预定义的类,用于 API 资源,这些类可以从 API 响应中动态初始化,这使得它与广泛版本的 Flow API 兼容。

要求

PHP 8.0 及更高版本。

Composer

您可以通过 Composer 安装 SDK。运行以下命令

composer require up2date/flow-php-sdk

要使用绑定,请使用 Composer 的 自动加载

require_once 'vendor/autoload.php';

依赖关系

绑定需要以下扩展才能正常运行

  • curl,尽管您可以选择使用自己的非 cURL 客户端
  • json
  • mbstring(多字节字符串)

如果您使用 Composer,这些依赖关系应该会自动处理。如果您手动安装,请确保这些扩展可用。

入门指南

使用配置创建 Flow 客户端

Flow::setApiKey('10|x1lf89YRu4YVQEP7rHcnWA6YdHlGgl3nj7fAykGL');
Flow::setApiBase('https://flow.up2date.ro/api');
$flow = new \Up2date\FlowPhpSdk\FlowClient();

客户

创建客户

try {
    $customer = $flow->customers->create([
        'email' => 'john.doe@example.com',
        'firstName' => 'John',
        'lastName' => 'Doe',
        'countryCode' => 40,
        'phone' => '723534609'
    ]);
    echo $customer;
} catch (Up2date\FlowPhpSdk\Exception\ApiErrorException $exception) {
    echo $exception->getMessage();
}

通过电子邮件地址查找客户

try {
    $customer = $flow->customers->findOne([
        'email' => 'john.doe@example.com'
    ]);
    echo $customer;
} catch (Up2date\FlowPhpSdk\Exception\ApiErrorException $exception) {
    echo $exception->getMessage();
}

通过电话号码查找客户

try {
    $customer = $flow->customers->findOne([
        'phone' => '723512322'
    ]);
    echo $customer;
} catch (Up2date\FlowPhpSdk\Exception\ApiErrorException $exception) {
    echo $exception->getMessage();
}

忠诚度

获取忠诚度规则

try {
    $loyaltyRules = $flow->loyalty->getRules();
    echo $loyaltyRules;
} catch (Up2date\FlowPhpSdk\Exception\ApiErrorException $exception) {
    echo $exception->getMessage()."\n";
}

从金额添加忠诚度积分

try {
    $loyaltyParams = [
        'total' => 100, // Amount in the default currency
        'details' => 'Bonus points'
    ];

    $customer = $customer->addLoyaltyFromAmount($loyaltyParams);
    
} catch (Up2date\FlowPhpSdk\Exception\ApiErrorException $exception) {
    echo $exception->getMessage()."\n";
}

从金额中扣除忠诚度积分

try {
    $loyaltyParams = [
        'total' => 100,
        'points' => 20,
        'details' => 'Spend points'
    ];

    $customer = $customer->removeLoyaltyFromAmount($loyaltyParams);
    
} catch (Up2date\FlowPhpSdk\Exception\ApiErrorException $exception) {
    echo $exception->getMessage()."\n";
}

从金额中计算忠诚度积分

try {
    $params = [
        'total' => 100
    ];

    $points = $flow->loyalty->calculate($params);
    echo $points->data;
    
} catch (Up2date\FlowPhpSdk\Exception\ApiErrorException $exception) {
    echo $exception->getMessage()."\n";
}