opwoco / gsales-api-client
用于消费Sales API的SOAP客户端
Requires
- php: >=5.4
- ext-soap: *
Requires (Dev)
- symfony/console: v2.3.12
Suggests
- illuminate/config: Necessary for the use within laravel framework.
- illuminate/support: Allows using within laravel framework.
This package is not auto-updated.
Last update: 2024-09-14 18:09:33 UTC
README
gSales计费系统的通用API客户端
我们支持API版本2.3(发布于2014年8月20日)。
目录
安装
在composer.json中添加以下行以添加
"require": {
"rokde/gsales-api-client": "~1.0"
}
在纯PHP中使用
$wsdl = 'http://URL-TO-YOUR/api/api.php?wsdl';
$apikey = 'YOUR-API-KEY-HERE';
$client = new \Rokde\Gsales\Api\Client($wsdl, $apikey);
echo $client->customer()->count(); // returns number of customers
就是这样。
上下文
您有很多上下文来分组API命令。
文章
所有与文章相关的命令都分组在Article
上下文中。
$client->article()->...;
以下是对文章上下文可用的方法
get($articleId)
all()
count()
create($article)
update($article)
delete($article)
创建文章
$article = new \Rokde\Gsales\Api\Types\Article\Base();
$article->setTitle('Projectmanagement')
->setRetailPrice(120);
$apiClient->article()->create($article);
身份验证
所有与身份验证相关的命令都分组在Authentication
上下文中。
$client->authentication()->...;
以下是对身份验证上下文可用的方法
passwordLost($customer)
changePassword($customer, $newPassword)
login($customer, $password)
enableLogin($customer)
enableLoginById($customer)
disableLogin($customer)
disableLoginById($customer)
评论
所有与评论相关的命令都分组在Comment
上下文中。
$client->comment()->...;
以下是对评论上下文可用的方法
get($commentId)
all($sub, $recordId)
create($comment)
delete($comment)
配置
所有与配置相关的命令都分组在Configuration
上下文中。
$client->configuration()->...;
以下是对配置上下文可用的方法
get($key)
合同
所有与合同相关的命令都分组在Contract
上下文中。
$client->contract()->...;
以下是对合同上下文可用的方法
get($contractId)
all()
repayable()
processRepayable()
processRepayableForCustomer($customer)
processRepayableContract($contract)
count()
enable($contract)
disable($contract)
createPosition($contract, $position)
updatePosition($contract, $position)
deletePosition($contract, $position)
delete($contract)
createForCustomer($customer, $contract)
update($contract, $data)
updateEndDate($contract, $month, $year)
removeEndDate($contract)
客户
所有与客户相关的命令都分组在Customer
上下文中。
$client->customer()->...;
以下是对客户上下文可用的方法
get($customerId)
all()
count()
repayable()
create($customer)
update($customer)
updateProposal($customer)
delete($customer)
获取客户数量
$apiClient->customer()->count();
获取所有客户
$apiClient->customer()->all()
文件
所有与文件相关的命令都分组在Document
上下文中。
$client->document()->...;
以下是对文件上下文可用的方法
get($documentId)
all()
file($documentId)
发票
所有与发票相关的命令都分组在Invoice
上下文中。
$client->invoice()->...;
以下是对发票上下文可用的方法
get($invoiceId)
all()
count()
paid($invoice)
open($invoice)
canceled($invoice)
createPosition($invoice, $position)
updatePosition($invoice, $position)
deletePosition($invoice, $position)
delete($invoice)
createForCustomer($customer)
create($invoice)
update($invoice)
addToMailspool($invoice)
pdf($invoice)
邮件池
所有与邮件池相关的命令都分组在Mailspool
上下文中。
$client->mailspool()->...;
以下是对邮件池上下文可用的方法
send()
get($mailSpoolId)
all()
count()
duplicate($mailspool)
approve($mailspool)
removeApproval($mailspool)
create($mailspool)
update($mailspool)
delete($mailspool)
readByRecipient($mailspool)
通讯
所有与新闻通讯相关的命令都分组在 Newsletter
上下文中。
$client->newsletter()->...;
新闻通讯上下文中可用的方法如下
get($newsletterId)
all()
count()
recipients($newsletter)
create($newsletter)
update($newsletter)
delete($newsletter)
addRecipient($newsletter, $recipient)
addCustomerAsRecipient($newsletter, $customer)
removeRecipient($newsletter, $recipient)
spool($newsletter)
报价
所有与优惠相关的命令都分组在 Offer
上下文中。
$client->offer()->...;
优惠上下文中可用的方法如下
get($offerId)
all()
count()
accept($offer)
declined($offer)
open($offer)
billed($offer)
createPosition($offer, $position)
updatePosition($offer, $position)
deletePosition($offer, $position)
delete($offer)
createForCustomer($customer)
create($offer)
update($offer)
addToMailspool($offer)
pdf($offer)
convertToInvoice($offer, $invoiceApiContext)
convertToInvoicePositions($offer, $invoice, $invoiceApiContext)
队列
所有与队列相关的命令都分组在 Queue
上下文中。
$client->queue()->...;
队列上下文中可用的方法如下
get($queueId)
all()
count()
create($queueEntry)
update($queueEntry)
delete($queueEntry)
auto($queueEntry)
手动($queueEntry)
noApproval($queueEntry)
createInvoice($customer)
createInvoices()
创建队列条目
$queueEntry = new \Rokde\Gsales\Api\Types\Queue\Base();
$queueEntry->setPositionText('Test')
->setCustomerId(37)
->setPrice(1.23)
->setQuantity(1)
->setApproval(0)
->setUnit('x')
->setDiscount(0)
->setTax(0.19);
$apiClient->queue()->create($queueEntry);
退款
所有与退款相关的命令都分组在 Refund
上下文中。
$client->refund()->...;
退款上下文中可用的方法如下
get($refundId)
all()
count()
paid($refund)
canceled($refund)
open($refund)
createPosition($refund, $position)
updatePosition($refund, $position)
deletePosition($refund, $position)
delete($refund)
createForCustomer($customer)
create($refund)
update($refund)
addToMailspool($refund)
pdf($refund)
用户
所有与用户相关的命令都分组在 User
上下文中。
$client->user()->...;
用户上下文中可用的方法如下
get($userId)
all()
count()
create($user)
update($user)
delete($user)
lock($user)
unlock($user)
availableRoles()
roles($user)
addRole($user, $role)
removeRole($user, $role)
在框架中使用
在Laravel 4中使用
安装包后,您需要在您的 app.php 中的 providers
数组中添加以下行
'Rokde\Gsales\Api\Supports\Laravel\LaravelGsalesApiClientServiceProvider',
要配置您的 GsalesApiClient,请发布其配置
php artisan config:publish rokde/gsales-api-client
然后,您可以将您的 wsdl
和 apikey
设置为已发布的配置文件。
服务提供者为 laravel 自动为您创建了一个门面 GsalesApiClient
。因此,您可以从一开始就使用它,如下所示
GsalesApiClient::queue()->all(); // get all queue entries
或无门面
$apiClient = App::make('gsales-api-client');
$apiClient->queue()->all();
其他框架
我们尚未使用此包的任何其他框架。但请告诉我们您何时需要它。或者将其分叉并开发自己的。我们感谢您的扩展;)