baraja-core / heureka-bidding-api
Heureka的简单PHP API层。
Requires
- php: >=7.4.0
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- nette/utils: ^3.0
- phpstan/phpstan: ^0.12.18
- phpstan/phpstan-nette: ^0.12.6
- symplify/easy-coding-standard: ^7.2
- tracy/tracy: ^2.7
This package is auto-updated.
Last update: 2024-08-26 06:50:48 UTC
README
这是一个简单的库,用于与Heureka API进行通信,以便从Heureka中获取机器可读的数据。
在此API中,您可以下载关于产品、类别、价格、可用性等信息。您将获得类似原生PHP实体且符合Baraja\HeurekaBiddingApi\Response\Response
接口的机器可读数据。
📦 安装
我们可以简单地使用Composer安装。
$ composer require baraja-core/heureka-bidding-api
之后只需使用库。
此库的主要优势是易于部署,它不依赖于任何框架,并且完全自动运行。
🛠️ 在基本PHP中使用
要创建任何请求,只需创建HeurekaApi
服务的实例,传递accessKey
并逐个提出问题。响应始终是类型化的实体。
例如,我们想了解Heureka有多少个类别
$api = new \Baraja\HeurekaBiddingApi\HeurekaApi('vas-access-klic'); $response = $api->run(\Baraja\HeurekaBiddingApi\HeurekaApi::METHOD_CATEGORY_INDEX); echo $response->getCount();
具体方法的调用将由您的编辑器直接提示。
注意
始终使用保证应用程序与当前API版本兼容的专用常量调用方法。
如果Heureka API发生变化,此包将通过
composer update
命令更新,并且由于使用常量,包将始终保持兼容性。
在Nette中使用
此库与Nette具有良好的兼容性。为了功能,请将以下配置(不要忘记指定您的access klíč
)添加到您的项目common.neon
文件中
services: heurekaApi: Baraja\HeurekaBiddingApi\HeurekaApi('vas-access-klic')
⏫ 高级调用
对于高级请求构建,始终使用官方文档,并传递3个参数
始终通过包含高级验证和输出到实体的映射的run()
方法构建请求。
为了测试API调用,您还可以将请求指向其他URL。首先需要使用setCustomEndpoint(string $locale, string $endpoint)
方法注册这些URL,该方法将传递语言(例如cs
)和URL(endpoint
)。URL的重写具有比默认常量更高的路由优先级。重写是通过调用resolveEndpoint()
方法进行的,您可以自由调用此方法。
🧪 错误处理
如果请求处理过程中出现任何应用程序错误,我们将抛出\Baraja\HeurekaBiddingApi\HeurekaException
异常。
在致命失败的情况下(例如服务器响应中的解析错误),将抛出内部\RuntimeException
,我们不应捕获它,而应让它传播到应用程序的核心,并在那里进行日志记录。运行时错误在库配置正确的情况下永远不会抛出,并且仅用于调试。
🔒 访问密钥
为了与API通信,您需要从Heureka获取API密钥。使用是按请求次数限制的,然后付费。我成功从支持部门免费获得了基本密钥(用于测试),但最好不要依赖这一点。
官方文档信息
API激活过程是怎样的?
首先需要确认该服务的订购合同,然后您将获得访问令牌、文档和其他必要信息。之后,只需实现API。
👷♀️ 库的问题和错误报告
这是一个非官方库,不保证在您的环境中功能正常。库仍然试图满足尽可能多的通用接口,以便在大多数环境中得到广泛支持。
为了确保正常功能,您需要安装 PHP 7.1
或更高版本(如何检查PHP版本?)。
如果您认为您一切操作正确,但在库中存在错误,请通过创建新的issue来报告。
该库由 Jan Barášek 开发。
📄 许可证
baraja-core/heureka-bidding-api
使用MIT许可证。有关更多详细信息,请参阅LICENSE 文件。