brown-paper-tickets / bpt-api
用于与Brown Paper Tickets API交互的库
Requires
- psr/log: ^1.0
Requires (Dev)
- monolog/monolog: 1.14.0
This package is not auto-updated.
Last update: 2024-09-14 17:06:03 UTC
README
BptAPI库包含一组类,使您能够轻松地与Brown Paper Tickets API交互。
由于此库仍在早期开发阶段,方法名称可能会更改。有关任何重大更改的更多信息,请参阅CHANGELOG。
安装
通过Composer:$ composer require brown-paper-tickets/bpt-api
。
(这将还会安装Monolog\Monolog作为开发依赖项,如果您不需要Monolog,请在composer中添加--no-dev
标志。)
用法
请参阅Usage.md以获取简介。您还可以查看api-example应用程序以获取更完整的示例。
选项
目前有三种选项可以设置:debug
、logErrors
和logger
。
您可以在实例化类时通过传递一个包含$options
的数组作为第二个参数来设置它们,或者使用setOption()
方法。
例如
$logger = new \Monolog\Logger('logger'); $logger->pushHandler(new \Monolog\Handler\StreamHandler(__DIR__ . '/app.log', $logger::DEBUG)); $options = array( 'logger' => $logger, 'debug' => true, 'logErrors' => true, ); $info = new EventInfo(DEV_ID, $options);
$info->setOption('logger', $logger);
类和方法
库包含以下类
AccountInfo
AccountInfo类有一个方法,可以返回指定用户的信息。
getAccount($username)
授权要求:是
返回 这将返回一个包含以下字段的数组
CartInfo
文档即将推出(查看源代码!)
EventInfo
授权要求:否 EventInfo类提供允许您获取活动数据的方法。
#####getEvents
返回
此方法返回一个包含以下字段的数组的事件数组
ManageCart
某些方法将返回一个包含两个字段的数组。第一个是success
,它是一个布尔值,指示是否失败,以及一个message
字段解释原因。
initCart($cartID = null, $createdAt = null)
使用Brown Paper Tickets启动一个新的购物车会话。您还可以传入现有的cartID
和创建时间。如果购物车已过期,它将返回一个包含success
设置为false
的结果数组。
如果成功,它将返回一个包含success
设置为true
以及cartID
和cartCreatedAt
字段的结果数组。
返回 新创建的cartID
。此购物车将在15分钟后过期。
isExpired()
确定cartID
是否已过期。
getCartId()
返回 cartID
。
setAffiliateID($affiliateID)
如果您想从销售中赚取佣金,请传入您的联盟ID。
setPrices($prices)
设置要发送到购物车的价格。将返回设置的价格。这不会更新实际的购物车(使用sendPrices()
进行更新)。
这将丢弃任何具有无效运输方法的报价,并确定在添加运输信息时是否需要调用名称。
传入一个价格ID数组。每个价格ID的值应设置为以下字段的数组
- 运输方式:1为实物,2为取货,3为在家打印。
$prices = array( '12345' => array( 'shippingMethod' => 1, 'quantity' => 2, ), '12346' => array( 'shippingMethod' => 3, 'quantity' => 3 ) );
返回设置的价格数组。
removePrices($prices)
传入一个价格ID数组,它将删除传递给设置价格中的价格ID。这不会更新实际的购物车(使用sendPrices()
进行更新)。
返回设置的价格数组。
sendPrices()
通过API将价格发送到购物车。
返回结果数组。
getPrices()
返回设置的价格。
getValue()
返回购物车当前值,该值是在添加价格时设置的。注意:当类设置值时,它将确定是否某些字段对于账单信息是必需的。有关更多信息,请参阅setShipping()
。
setShipping($shipping)
传入一个运输信息数组。
如果您选择了需要取货姓名的门票,您可以使用willCallFirstName
和willCallLastName
字段传入不同的姓名。否则,它将默认使用姓名字段用于取货姓名。
setBilling($billing)
传入一个账单信息数组。
始终传入以下字段
当购物车的价值大于0时,您还必须包括以下字段。如果不包括,则购物车将返回包含消息""的结果数组。
返回结果数组。
sendBilling(Array $ccInfo)
将账单信息发送到购物车。
当购物车的价值大于0时,您必须包括cc信息数组
一旦调用成功,您将无法再调用sendPrices()
、sendShipping()
或sendBilling()
。
返回包含以下字段的结果数组
getReceipt()
返回由sendBilling()
方法接收到的结果。
SalesInfo
文档即将推出(查看源代码!)
最新更改
(有关完整更改集,请参阅变更日志)
v0.15.2
-
添加.gitattributes以防止测试和其他垃圾下载与packagist。
-
重大变更
- ManageCart类不再将信用卡信息保存到对象中。您现在必须将信用卡信息数组传递给
MangeCart::sendBilling
方法,而不是像以前那样使用ManageCart::setBilling
。
- ManageCart类不再将信用卡信息保存到对象中。您现在必须将信用卡信息数组传递给
v0.15.1
- 修复了
__construct
日志选项。
v0.15.0
- 添加了捕获发送到API的所有请求和原始响应的能力。在实例化时向
options
数组添加'debug' => true
或使用setOption('debug', true)
。 - 添加了接受PSR-3兼容日志记录器的
setLogger()
方法(即Monolog)。您也可以在实例化时将其传递到options
数组中。
v0.14.2
- 修复了getPrices中的订单字段问题。
许可证
MIT许可证(MIT)
版权所有(c)2015 Brown Paper Tickets
特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人,免费使用该软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供的人这样做,但受以下条件约束
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的质量保证,包括但不限于对适销性、适用于特定目的和非侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论其基于合同行为、侵权或其他原因,无论其源于、与软件相关或与软件的使用或其他方式有关。