miqueiasdesouza / tagplus
PHP 客户端,用于消费 TagPlus ERP API。
Requires
- php: >=5.4
- guzzlehttp/guzzle: ^5
- kamermans/guzzle-oauth2-subscriber: ^1
Requires (Dev)
- phpunit/phpunit: ^4
This package is not auto-updated.
Last update: 2024-09-15 04:59:06 UTC
README
SDK 便于与我们的 ERP API 集成,尤其是在身份验证阶段。原始代码:TagPlus/sdk-api-php
要求
- PHP >= 5.4
- Composer
准备中
我们将通过 Composer 安装 SDK
composer require miqueiasdesouza/tagplus
如何使用
重要:为了继续,您需要先在 API 门户注册,并获取您的 client_id、client_secret 和 redirect_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
上述代码段将恢复一个有效的 access token 并将其保存到创建 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);[ ] 解释如何与框架一起使用 SDK(例如:Laravel、CodeIgniter、Symfony 等...);[ ] 自动恢复所有页面(如果有);[ ] 不需要调用 json_decode 函数即可返回对象实例;[ ] 为所有资源提供方法,而不是传递 URL 作为参数(例如:$api->getClientes())。