roseblade/quickfile-php-sdk

QuickFile会计软件JSON API的PHP SDK

2.3.2beta 2024-04-30 09:47 UTC

README

GitHub Packagist Version GitHub issues

QuickFile API的包装器。

此库不提供验证。

要求

  • PHP 8.0及以后版本
  • Guzzle HTTP 7.4及以后版本
  • ext-json

Composer

您可以使用Composer安装此库,并使用以下命令:

composer require roseblade/quickfile-php-sdk

然后使用Composer的自动加载库开始使用

require_once('vendor/autoload.php');

手册

如果您不想使用Composer或无法使用,可以下载最新版本并包含init.php文件。

require_once('/path/to/roseblade/quickfile-php-sdk/init.php');

别忘了下载并安装Guzzle

入门

QuickFile标准API

我们已经在/example/index.php中为您提供了PHP示例文件以开始使用。

要开始,您需要设置API凭证,这些凭证可在您的QuickFile账户中找到。

$creds  = [
    'AccountNumber' => 6131400000,
    'APIKey'        => '000AA000-AAAA-0000-A',
    'ApplicationID' => '00000000-AAAA-AAAA-AAAA-00AA00AA00AA'
];
\QuickFile\QuickFile::config($creds);

或单独设置

\QuickFile\QuickFile::setAccountNumber($creds['AccountNumber']);
\QuickFile\QuickFile::setAPIKey($creds['APIKey']);
\QuickFile\QuickFile::setApplicationID($creds['ApplicationID']);

每个函数都可以通过其自己的类来访问,例如,对于client\search,您将使用

\QuickFile\Client::search([
    // Search Data
]);

对于invoice\create

\QuickFile\Invoice::create([
    // Invoice Data
]);

这些都与QuickFile API文档中找到的API端点相对应,用下划线替换函数名。

例如

  • Client_Search > \QuickFile\Client::search();
  • Project_TagCreate > \QuickFile\Project::tagCreate();
  • Supplier_Create > \QuickFile\Supplier::create();

所有头部信息都会为您设置好。您需要根据QuickFile网站上的文档将所有内容作为正文发送。

QuickFile合作伙伴API

QuickFile合作伙伴API允许开发者在QuickFile市场中将他们的工具提供给第三方。这需要在他们的账户中生成一个应用程序,以便您有正确的API端点访问权限。

设置类似于上面的个人API

$creds  = [
    'AccountNumber' => 6131400000,
    'Token'         => 'ABCD1234',
    'ProductKey'    => '00000000-AAAA-AAAA-AAAA-00AA00AA00AA',
    'SecretKey'     => '00000000-AAAA-AAAA-AAAA-00AA00AA00AA'
];
\QuickFile\Partner::config($creds);

或单独设置

\QuickFile\Partner::setAccountNumber($creds['AccountNumber']);
\QuickFile\Partner::setToken($creds['Token']);
\QuickFile\Partner::setProductKey($creds['ProductKey']);
\QuickFile\Partner::setSecretKey($creds['SecretKey']);

Partner类中包含几个静态函数,可以帮助您简化流程

  • authenticate():返回一个包含API密钥和ApplicationID的数组。
  • setupConfig():自动使用这些变量设置QuickFile库

例如,配置类如上所示

\QuickFile\Partner::authenticate();

// Or, specify the returnArray and verifyProduct
// Example below is the default - verify the product and return a bool (rather than array)

\QuickFile\Partner::authenticate(true, false);

// Or be fancy with names variables

\QuickFile\Partner::authenticate(returnArray: true, verifyProduct: false);

这可以与个人API结合使用,快速通过调用setupConfig()设置配置,然后按正常使用API

\QuickFile\Partner::setupConfig();
\QuickFile\Invoice::get([
    'InvoiceID' => 123456
]);

常见问题解答

此API使用哪个版本?

它使用1.2版本的JSON API

支持哪些方法/端点?

银行

客户

文件

报价

发票

项目(库存项目)

日记

账簿

付款

项目

采购

采购订单

报告

供应商

系统

此库由QuickFile支持吗?

不,这是一个非官方库

数据是如何发送到QuickFile的?

数据始终使用HTTPS通过Guzzle HTTP库发送。Guzzle将使用cURL,但这不是必需的。请参阅Guzzle网站以获取更多信息。

我发现了一个bug,我该在哪里报告它呢?

如果它与API相关的安全漏洞,您可以在QuickFile论坛上发布。如果是库中的bug,请创建一个问题。如果是安全问题,在公开发布之前,请通过我们的网站联系我们。

什么是API合作伙伴?

QuickFile运营一个名为API合作伙伴的计划。

作为API合作伙伴,我们为您提供了一个框架,您可以使用它来告诉其他用户关于您的API产品的信息。

查看他们的用户指南以获取更多信息。

API合作伙伴是如何工作的?

它是通过您获得一个密钥实现的,这个密钥可以与用户的账号编号和令牌(来自QuickFile市场)结合使用。这会生成一个App ID,并提供他们的API密钥,这样您就可以代表他们与他们自己的账户进行交互。