digfish / ivx-api2-php
使用基于JSON的API 2.0实现的InvoiceXpress API的PHP客户端
This package is auto-updated.
Last update: 2024-09-16 04:02:34 UTC
README
它只是一个简单的PHP包装器,用于通过InvoiceXpress API进行请求。它是原始WidgiLabs/InvoiceXpressRequest-PHP-API的分支,由nunomorgadinho编写。
与现在以JSON格式原生响应的新API版本2.0兼容。
如果代码可能非常低级,让你感到不耐烦,那么在看过它之后,如果你和我一样是Laravel的粉丝,我建议你看看invoicexpress-api,这是rpsimao编写的。
如果你打算在你的项目中使用此代码,以下是一些示例。
以下类扩展了InvoiceXpressRequest.php中的类
use digfish\ivx_api2_php\InvoiceXpressRequest; <?php class MyInvoiceXpressApi extends InvoiceXpressRequest { public static function init($domain, $token) { parent::init($domain, $token); } public function __construct($method) { self::init(IVX_DOMAIN,IVX_TOKEN); parent::__construct($method); } public function invoke($args = array(), $debug = false) { $this->post($args); echo "** Invoking {$this->_method} **\n "; $response = $this->getResponse(); $this->request(); if (!$this->success()) { echo "Something got wrong!\n"; echo "ERRORS:\n"; var_dump($this->getError()); } return $response; } }
你应该已经为IVX_DOMAIN
和IVX_TOKEN
分配了值。例如,如果你将你的公司名称命名为myFirm,你应该使用该名称。IVX_TOKEN
是你可以在InvoiceXpress后台办公室的账户 >> 集成 >> API中获得API密钥。
然后,将它们分配给
define('IVX_DOMAIN','myFirm'); define('IVX_TOKEN','--- the API key with 40 chars here ----');
您可以将这两行放在一个单独的文件中,并赋予适当的权限,以确保它们不是全球可读的,并将其包含在上面的示例代码文件的头部。
然后,要调用您的新类以获取数据,例如列出发票,您可以这样做
$api = new MyInvoiceXpressApi ( 'invoices.list' ); $response = $api->invoke($args);
$args
是一个关联PHP数组,其中包含您传递给API的参数,例如页面号
$args['page'] = 3;
API响应应该在$response
变量中,其中包含PHP数组形式的发票数据。
一些功能尚未实现
只有列出和处理发票、客户以及访问发票项目的方法可用。尚未实现使用其他事物(如报价、指南、采购订单、序列、税费和账户)的方法。一些需要通过JSON作为请求(并且不使用HTTP GET方法)传递参数到API服务器的方
实现项目
查看ivxapi项目,该项目提供了使用此库的示例用例以及单元测试。