multidialogo/api-php-sdk

此包的最新版本(v0.12.4)没有可用的许可信息。

multidialogo服务的php客户端

v0.12.4 2023-11-03 11:39 UTC

README

一组用于管理与Multidialogo API交互的类。

快速入门

安装

composer require multidialogo/api-php-sdk

使用示例

    use multidialogo\client\MultidialogoClient;
    
    $client = MultidialogoClient::builder()
        ->withHostUrl('http://rest.multidialogo.local')
        ->withPasswordCredentials('username', 'password')
        ->withLanguage('it')
        ->build();
    
    $response = $client->getJson('users/me', ['include' => 'profile']);
    
    print_r($response->body);

可以使用基于文件系统的凭证存储来配置客户端。

这是通过此辅助器实现的

        ->withFileTokenStorage(CLIENT_PROVIDED_FILESYSTEM_PATH) 

所以完整的示例将是

        $client = MultidialogoClient::builder()
            ->withHostUrl('https://rest-stage.multidialogo.it')
            ->withFileTokenStorage(CLIENT_PROVIDED_FILESYSTEM_PATH)
            ->withLanguage('it')
            ->build();

        $client->getJson('geo/countries');

CLIENT_PROVIDED_FILESYSTEM_PATH 是一个指定文件夹的字符串,客户端将使用该文件夹来存储凭证。文件夹必须是可写的。这是完全可选的,允许省略用户密码,直到它成为强制性的(例如,直到主要或刷新令牌过期)。

可以直接向客户端传递令牌。这种情况适用于登录由前端管理,前端处理令牌刷新程序并将令牌传递给后端代理的情况。这是通过 withBearerToken 辅助方法完成的。示例

        $client = MultidialogoClient::builder()
            ->withHostUrl('https://rest-stage.multidialogo.it')
            ->withBearerToken($token)
            ->withLanguage('it')
            ->build();

        $client->getJson('geo/countries');

本地开发

如何构建所需的Docker镜像

构建主镜像(php 7.4)

docker build -f provisioning/Dockerfile-74-composer -t multidialogo-api-php-sdk-composer:latest .

构建php 8.2版本镜像(注意:它不包含composer)。

docker build -f provisioning/Dockerfile-82-cli -t multidialogo-api-php-sdk-php82:latest .

请注意,php82版本仅用于运行单元测试,因此不包含composer。

安装/更新/管理供应商

docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-composer:latest composer <rest of the composer command>

运行单元测试

在php 7.4下运行测试

docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-composer:latest ./vendor/bin/phpunit -c .

在php 8.2下运行测试

docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-php82:latest ./vendor/bin/phpunit -c .

语义版本控制

项目遵循语义版本控制。请在master中的任何发布之前正确使用git标签。

示例

git tag -a v0.0.2 -m "Bugfix"
git push --follow-tags