tagplus/sdk-api-php

该软件包最新版本(v0.1.1)没有可用的许可证信息。

PHP 客户端,用于消费 TagPlus ERP API。

v0.1.1 2018-03-01 13:19 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:38:58 UTC


README

SDK 便于与我们的 ERP API 集成,特别是在身份验证阶段。

要求

准备

我们将通过 Composer 安装 SDK

composer require tagplus/sdk-api-php

如何使用

重要:为了继续操作,您已经需要注册 API 门户并拥有可用的 client_idclient_secretredirect_uri。如果尚未注册,请访问 此处 并点击“注册”。

API 使用 OAuth2 进行身份验证,我们将展示如何使用 SDK 进行身份验证的示例。请查看我们的 API 文档 此处

1. 用户授权

第一步是将用户重定向到 TagPlus,以便他们可以授权您的应用程序。通常是一个链接,位于网页的某个部分。

<?php

// Mude o diretório de acordo com sua estrutura de pasta
require_once __DIR__ . '/vendor/autoload.php'; 

use Tagplus\Client;

$config = [
    'client_id' => 'xxx',
    'client_secret' => 'yyy',
    'scope' => [
        'read:financeiros'
    ]
];

$authUrl = Client::getAuthorizationUrl(
    $config['client_id'],
    $config['scope']
);
?>

<a href="<?=$authUrl?>">Conectar ao TagPlus</a>

点击链接后,用户可以授权(或不授权)您的应用程序访问请求的资源(作用域)。

2. 接收代码并恢复令牌

上一步结束后,用户将被重定向到在门户中注册的 URL(redirect_uri)。

在这个返回页面(回调)中,您应该有以下代码片段

<?php

// Mude o diretório de acordo com sua estrutura de pasta
require_once __DIR__ . '/vendor/autoload.php'; 

use Tagplus\Client;
use kamermans\OAuth2\Persistence\FileTokenPersistence;

// Mude a localização da pasta conforme necessário
$tokenPersistence = new FileTokenPersistence(__DIR__ . '/clienteA.txt');

$config = [
    'client_id' => 'xxx',
    'client_secret' => 'yyy',
    'scope' => [
        'read:financeiros'
    ]
];

Client::getAccessToken(
    $config, 
    $tokenPersistence
);

// Neste ponto você pode redirecionar o usuário para outra página 

上述代码片段将恢复一个有效的 访问令牌 并将其保存到创建 FileTokenPersistence 类时传递的文件名中。

3. 访问 API

现在一切准备就绪,可以开始使用 API 了

<?php

// Mude o diretório de acordo com sua estrutura de pasta
require_once __DIR__ . '/vendor/autoload.php'; 

use Tagplus\Client;
use kamermans\OAuth2\Persistence\FileTokenPersistence;

$config = [
    'client_id' => 'xxx',
    'client_secret' => 'yyy',
    'scope' => [
        'read:financeiros'
    ]
];

// Mude a localização da pasta conforme necessário
$tokenPersistence = new FileTokenPersistence(__DIR__ . '/clienteA.txt');

$api = new Client(
    $config,
    [],
    $tokenPersistence
);

$response = $api->get('/me');

$me = json_decode($response->getBody());

// Imprimindo o nome do usuário que o token está vinculado
echo 'Nome do usuário: ' $me->nome;

这只是一个如何使用 TagPlus ERP API 的示例。有关可用资源的更多详细信息,请访问我们的 参考

下一步

  • 解释如何在数据库中存储令牌(例如:MySQL);
  • 解释如何与框架(例如:Laravel、CodeIgniter、Symfony 等)一起使用 SDK;
  • 自动检索所有页面(如果有);
  • 直接返回对象的实例,而无需调用 json_decode 函数;
  • 为所有资源提供方法,而不是传递 URL 作为参数(例如:$api->getClientes())。