instacar / intelimotor-api-client
与Intelimotor API通信的客户端
v2.1.0
2022-10-31 18:45 UTC
Requires
- php: >=8.1
- doctrine/collections: ^1.6|^2.0
- psr/http-client: ^1.0.1
- psr/http-factory: ^1.0.1
- psr/http-message: ^1.0.1
- symfony/property-access: ^5.4|^6.1
- symfony/serializer: ^5.4|^6.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.12
- nyholm/psr7: ^1.5
- phpstan/phpstan: ^1.7
- phpstan/phpstan-phpunit: ^1.1
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
- symfony/http-client: ^5.4|^6.1
README
Intelimotor API的非官方实现。
笔记
这个库与Intelimotor没有任何关系,仅仅是一个派生作品,以便能够以POPO(Plain Old PHP Objects)模型的方式简单实用地使用Intelimotor API。
安装
依赖关系
这个库依赖于实现PSR-18标准的HTTP客户端和实现PSR-7和PSR-17标准的库。你可以按照以下方式安装这个实现的引用库
composer require symfony/http-client
composer require nyholm/psr7
库
安装客户端很简单,只需执行以下命令
composer require instacar/intelimotor-api-client
使用
要使用客户端,你可以创建一个默认实例,该实例将负责基于Symfony和Nyholm的PSR-7实现创建HTTP客户端。客户端为Intelimotor API的每个端点都有一个方法。例如,要获取车辆品牌
use Instacar\IntelimotorApiClient\IntelimotorClient; $cliente = IntelimotorClient::createDefault($apiKey, $apiSecret); $marcas = $cliente->getBrands();
注意:要在Intelimotor的CRM中创建消息,首先需要获取一个特定的API密钥,并在Intelimotor客户端中配置通道别名
$cliente->setChannel('contacto', 'abcdef1234567890...')
API的每个实体都由一个PHP类建模,该类为每个属性提供getter,以提供IDE辅助和更好的自动完成,并为每个属性提供严格类型。
foreach ($marcas as $marca) { echo $marca->getId(); // El ID de la marca echo $marca->getName(); // El nombre de la marca }
如需查看实现的方法和模型,请参阅文档。
高级
如果你想使用自己的PSR-18或PSR-7 HTTP客户端实现,可以直接用必要的依赖项实例化IntelimotorClient
。
use Instacar\IntelimotorApiClient\IntelimotorClient $cliente = new IntelimotorClient($psr18HttpClient, $psr17RequestFactory, $psr17StreamFactory, $apiKey, $apiSecret);
许可证
这个库使用Lesser General Public Licence Version 3 (LGPLv3)。可以在LICENSE文件中查看。
变更日志
v2.1.0
- 改进了异常,使其派生自ClientExceptionInterface接口。
- 添加了针对HTTP状态404 Not Found的新异常。
重大更改
- 删除了ForbiddenHttpException异常。
v2.0.0
- 将代码迁移到使用PSR-7、PSR-17和PSR-18标准调用Intelimotor API的HTTP调用。
- 将PHP最小版本更新到8.1,将Symfony版本更新到5.4。
v1.2.2
- 简化了代码以标准化时间戳。
- 声明时间戳使用UTC时区。
- 将依赖项更新到最新版本。
v1.2.1
- 更新了Symfony组件的依赖项以支持Symfony 6。
- 更新了Symfony接口的依赖项以支持PHP 8.1。
v1.2.0
- 实现了提取已售和未售车辆的端点。
- 实现了仅从单一业务单元提取车辆的端点。
v1.1.1
- 将"hasCustomTrim"方法改为公开和可访问。
- 修正了一个getter,将"getSold"改为"isSold"。
v1.1.0
- 添加了在Intelimotor CRM中创建联系消息的功能。
- 优化了从Intelimotors单元中提取信息,提取的字段更多。
v1.0.1
- 手动配置序列化器已被弃用,因为它与库的内部功能紧密耦合,并且用户实际上没有替换它的需求。
- 已更新项目中的库。
v1.0.0
- 支持BusinessUnits、Colors、Brands、Models、Years、Trims和Units。
- 支持对项目、集合和CSV文件的操作。
- 使用PHP类来表示模型。