daaner / novaposhta
适用于 Laravel 7+ 的 NovaPoshta (API 2.0)
1.4
2024-06-14 11:06 UTC
Requires
- php: >=7.2.5
- ext-json: *
- laravel/framework: >=7.0
README
使用 Laravel 7 及以上版本管理 NovaPoshta 发送(novaposhta.ua)。
通过服务 NovaPoshta.ua 发送和检查运输单据的便捷包
注意
// Не доделал и не оттестил все модели // используйте ветку `dev-master` // В ней все самое последнее. Документацию стараюсь не затягивать
Laravel > 7, PHP >= 7.2.5
最低版本 Laravel 7.0
,较低版本请使用 guzzle/guzzle
在 Laravel 10 和 PHP 8.3 上运行(Laravel 11 尚未测试,但应该可以)
安装
通过 composer 安装包。
composer require daaner/novaposhta
如果您不使用 autodiscover,请将服务提供者在 config/app.php
配置文件中添加。
Daaner\NovaPoshta\NovaPoshtaServiceProvider::class,
在 config/app.php
中添加 NovaPoshta
门面到数组
'NovaPoshta' => Daaner\NovaPoshta\Facades\NovaPoshta::class,
使用命令执行配置和本地化文件的发布
php artisan vendor:publish --provider="Daaner\NovaPoshta\NovaPoshtaServiceProvider"
配置
发布资源后,修改 config/novaposhta.php
文件并使用新的字段填写 .env
。
- 在 novaposhta.ua 网站上创建账户
- 将安全设置中的
API 键
复制到config/novaposhta.php
或 .env 文件中的相应参数 point
仅支持json
(不太可能添加xml
)dev
模式调试请求。将每个请求的 NovaPoshta API 记录到日志中(不要在生产环境中保留)并在响应数组中包含带有dev
键的数据,不进行转换,如 NovaPoshta 返回的那样- 阅读文档并使用
使用和 API
setAPI($apiKey)
- 设置不同的 API 密钥
$cp = new Counterparty; $cp->setAPI('391e241b2c********************e7');
getResponse($model, $calledMethod, $methodProperties, $auth = true)
- 自定义发送数据,如果添加新的方法
use NovaPoshta; $model = 'TrackingDocument'; //нужная модель $calledMethod = 'getStatusDocuments'; //нужный метод $methodProperties = [ //данные по документации ]; $np = new NovaPoshta; $data = $np->getResponse($model, $calledMethod, $methodProperties, $auth = true); dd($data);
支持的模型/方法
助手(在模型的文档中可以找到更详细的助手)
助手在主要方法调用之前被调用
$foo = new Common; $list = $foo->getPaymentForms(); $bar = new Address; $bar->setLimit(5)->setPage(2); $cities = $bar->getCities(); dd($cities);
许多模型在响应中有俄语重复。在一些目录中没有俄语本地化。
setLimit(100)
- 请求记录的限制setPage(3)
- 当有限制时进行分页
官方未记录的功能
- 获取优惠卡数据
- 更新登记描述
- 登记清单简表
- 根据电话号码获取合同方数据
- 获取连接到系统的支付卡数据
- 获取可用的 API 密钥列表
- 续签 API 密钥
- 获取受信任设备列表
- 删除受信任设备
- 获取传入包裹数据
- 获取附加到合同方电话的促销代码列表
- 合同方奖金计划数据列表
- 可订购物资列表
- 已订购物资列表
- 获取订单汽车订单列表
- 创建 API 密钥
- 删除 API 密钥
- 替换/取消预付货款
封装 NovaPoshta API 的状态
API 地址
地址操作
- 在居民点目录中进行在线搜索
- 在居民点目录中进行在线街道搜索
- 创建合同方地址(发货人/收件人)
- 编辑合同方地址(发货人/收件人)
- 删除合同方地址(发货人/收件人)
- 公司城市目录
- 乌克兰居民点目录
- 乌克兰地理区域指南
- 部门和部门类型指南
- 公司街道指南
- 创建合同方地址(发货人/收件人)
- 编辑合同方地址(发货人/收件人)
- 删除合同方地址(发货人/收件人)
API 合作者
处理合作者数据
- 创建合作者
- 创建合作者联系人
- 以(法人)组织类型创建合作者
- 以第三方类型创建合作者
- 加载合作者地址列表
- 加载合作者参数
- 加载合作者联系人列表
- 加载合作者列表
- 更新合作者数据
- 更新合作者联系人数据
- 删除收件人合作者
- 删除合作者联系人
API 打印表单
这是获取打印表单方法的集合。
- 标记 - 打印表单
- 登记册 - 打印表单
- 快递单据 - 打印表单
API 登记册
处理快递单据登记册
- 将快递单据添加到登记册
- 加载单个登记册的信息
- 加载登记册列表
- 更新登记描述
- 登记清单简表
- 删除(解构)发送登记册
- 从登记册中删除快递单据
API 指南
处理指南。
- 时间间隔类型
- 货物类型
- 货物逆向运输类型
- 托盘类型
- 付款方类型
- 逆向运输付款方类型
- 包装类型
- 轮胎和轮毂类型
- 货物描述
- 错误列表
- 配送技术
- 合作者类型
- 付款方式
- 所有权形式
API 返送服务
客户可以使用 API 自行办理“返送服务”。此服务仅适用于发送方客户。
- 检查创建返送申请的可能性
- 获取返送原因列表
- 获取返送原因子类型列表
- 创建返送申请
- 获取返送申请列表
- 删除返送申请
API 数据更改服务
客户可以使用 API 自行办理“数据更改”服务。
- 检查创建数据更改申请的可能性
- 创建数据更改申请(部分)
- 删除申请
- 获取申请列表
API 重定向服务
客户可以使用 API 自行办理“重定向”服务。此服务适用于发送方和接收方客户。
- 检查创建重定向申请的可能性
- 创建重定向申请(部门/地址)
- 删除申请
- 获取申请列表
API 快递单据
处理快递单据
- 计算服务费用
- 预测货物交付日期
- 创建快递单据
- 按地址创建快递单据
- 按部门创建快递单据
- 按“诺瓦波什塔”邮政信箱创建快递单据
- 创建带逆向运输的快递单据
- 编辑快递单据(未测试)
- 获取完整快递单据信息
- 获取快递单据列表
- 删除快递单据
- 生成获取完整快递单据报告的请求
- 生成创建带额外服务的快递单据的请求
- 生成创建带不同类型货物的快递单据的请求
跳过的功能(没有看到需求或无法测试)
- 以法人或第三方类型创建合作者
- 未添加
CityRef
指定功能
- 未添加
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
始终欢迎支持、错误指示和PR!
有关详细信息,请参阅贡献指南。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件。