daika7ana / fancourier
FanCourier API 客户端
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^6|^7
README
为 Laravel 实现的简单 FanCourier。
安装
通过 Composer 安装包。
从终端运行 Composer require 命令
composer require daika7ana/fancourier
现在,您只需将包的服务提供者和别名添加到您的 config/app.php
文件中。
向 providers
数组添加新行
SeniorProgramming\FanCourier\Providers\ApiServiceProvider::class,
可选地,向 aliases
数组添加新行
'FanCourier' => SeniorProgramming\FanCourier\Facades\FanCourier::class,
重要,在 .env 中添加 FanCourier 凭据
FANCOURIER_USERNAME= FANCOURIER_PASSWORD= FANCOURIER_CLIENT_ID=
现在您就可以在您的应用程序中使用 FanCourier API 客户端了。
概述
查看以下主题以了解有关 FanCourier API 客户端的更多信息
使用方法
FanCourier API 客户端为您提供以下方法来使用:
FanCourier::city()
根据指定的县或其他信息检索城市。
FanCourier::city()
该 city()
方法将返回一个对象数组,包含:judet、localitate、agentie、km、cod_rutare、id_localitate_fan。
FanCourier::streets()
根据指定的县或城市或其他信息检索街道。
FanCourier::streets()
该 streets()
方法将返回一个对象数组,包含:judet、localitate、strada、de_la、pana_la、paritate、cod_postal、tip、cod_cartare、numar_depozite。
FanCourier::price()
根据服务、包裹和距离检索价格。
FanCourier::price()
该 price()
方法将返回一个双精度浮点数。
FanCourier::trackAwb()
使用 AWB 码跟踪快递。
FanCourier::trackAwb()
该 trackAwb()
方法将返回纯文本。
FanCourier::generateAwb()
发送订单以生成 AWB。
FanCourier::generateAwb()
该 generateAwb()
方法将返回一个包含:line、awb、send_params、error_message 的对象数组。
FanCourier::order()
向 FanCourier 代理商下单。代理商将在请求的小时当天来取包裹。
FanCourier::order()
**如果请求成功,则 order()
方法将返回纯文本消息**
FanCourier::exportAwbErrors()
所有有错误的 FanCourier AWB。
FanCourier::exportAwbErrors()
该 exportAwbErrors()
方法将返回一个空数组或包含以下内容的对象:nume、judet、localitate、telefon、plicuri、colete、greutate、descriere。
FanCourier::deleteAwb()
仅当运输过程未完成时才删除 AWB。
FanCourier::deleteAwb()
如果请求成功,则 deleteAwb()
方法将返回一个整数或错误消息。
FanCourier::getAwb()
返回包含运输详情的文件。
FanCourier::getAwb()
如果请求成功,则 getAwb()
方法将返回一个包含可打印文档的 HTML 页面或错误消息。
FanCourier::downloadAwb()
以 jpg 格式返回 AWB 文档。
FanCourier::downloadAwb()
如果请求成功,则 downloadAwb()
方法将返回一个 jpg 文件或错误消息。
FanCourier::exportOrders()
通过 FanCourier::order
方法在所选日期内制作的全部订单。
FanCourier::exportOrders()
该 exportOrders()
方法将返回一个空数组或包含以下内容的对象:nr._crt.、data_ridicare_comanda、ora_de_la、ora_pana_la、persoana_contact、telefon、email、colete、numar_comanda、status。
FanCourier::exportBorderou()
通过 FanCourier::generateAwb
方法在所选日期内制作的全部订单。
FanCourier::exportBorderou()
该 exportBorderou()
方法将返回一个空数组或包含以下内容的对象:nr._crt.、awb、ridicat、status、data_confirmarii、restituire、tip_serviciu、continut...
FanCourier::exportReports()
返回所有在所选日期内将总金额存入银行转账账户的探险。
FanCourier::exportReports()
exportReports()
方法将返回一个空数组或包含以下对象的数组:oras_destinatar、dat_awb、suma_incasata、numar_awb、numar_awb、expeditor、destinatar、continut、persoanaD、data_virament、persoanaE、ramburs_la_awb、awb_retur
FanCourier::exportObservations()
返回在请求探险时可以设置的观察结果。
FanCourier::exportObservations()
exportObservations()
方法将返回一个空数组或包含以下对象的数组:observatii_fan_courier
FanCourier::endBorderou()
将关闭所有当天制作的订单。
FanCourier::endBorderou()
**endBorderou()
方法将返回一个 HTML **
异常
FanCourier 包在发生错误时将抛出异常。这样,在调试使用 FanCourier 包的代码或根据异常类型处理错误时更容易。FanCourier 包可以抛出以下异常
示例
FanCourier::city() 用于获取特定县
FanCourier::city(['judet'=>'Constanta', 'language'=>'RO'])
或获取所有县
FanCourier::city()
FanCourier::streets() 用于获取特定县
FanCourier::streets(['judet'=>'Bucuresti', 'localitate'=>'Bucuresti', 'language'=>'RO'])
或从罗马尼亚获取所有街道
FanCourier::streets()
FanCourier::price() 内部服务
FanCourier::price([ 'serviciu' => 'standard', 'localitate_dest' => 'Targu Mures', 'judet_dest' => 'Mures', 'plicuri' => 1, 'colete' => 2, 'greutate' => 5, 'lungime' => 10, 'latime' => 10, 'inaltime' => 10, 'val_decl' => 600, 'plata_ramburs' => 'destinatar', 'plata_la' => 'destinatar', ])
外部服务
FanCourier::price([ 'serviciu' => 'export', 'modtrim' => 'rutier', //aerian 'greutate' => 10.22, 'pliccolet' => 3, 's_inaltime' => 50, 's_latime' => 67, 's_lungime' => 48, 'volum' => 400, 'dest_tara' => 'Bulgaria', 'tipcontinut' => 1, 'km_ext' => 400, 'plata_la' => 'destinatar', ])
FanCourier::order() 内部服务
FanCourier::generateAwb(['fisier' => [ [ 'tip_serviciu' => 'standard', 'banca' => '', 'iban' => '', 'nr_plicuri' => 1, 'nr_colete' => 0, 'greutate' => 1, 'plata_expeditie' => 'ramburs', 'ramburs_bani' => 100, 'plata_ramburs_la' => 'destinatar', 'valoare_declarata' => 400, 'persoana_contact_expeditor' => 'Test User', 'observatii' => 'Lorem ipsum', 'continut' => '', 'nume_destinar' => 'Test', 'persoana_contact' => 'Test', 'telefon' => '123456789', 'fax' => '123456789', 'email' => 'example@example.com', 'judet' => 'Galati', 'localitate' => 'Tecuci', 'strada' => 'Lorem', 'nr' => '2', 'cod_postal' => '123456', 'bl' => '', 'scara' => '', 'etaj' => '', 'apartament' => '', 'inaltime_pachet' => '', 'lungime_pachet' => '', 'restituire' => '', 'centru_cost' => '', 'optiuni' => '', 'packing' => '', 'date_personale' => '' ], [ 'tip_serviciu' => 'Cont colector', 'banca' => 'Test', 'iban' => 'XXXXXX', 'nr_plicuri' => 0, 'nr_colete' => 1, 'greutate' => 1, 'plata_expeditie' => 'ramburs', 'ramburs_bani' => 400, 'plata_ramburs_la' => 'destinatar', 'valoare_declarata' => 400, 'persoana_contact_expeditor' => 'Test User', 'observatii' => 'Lorem ipsum', 'continut' => 'Fragil', 'nume_destinar' => 'Test', 'persoana_contact' => 'Test', 'telefon' => '123456789', 'fax' => '123456789', 'email' => 'example@example.com', 'judet' => 'Galati', 'localitate' => 'Tecuci', 'strada' => 'Lorem', 'nr' => '2', 'cod_postal' => '123456', 'bl' => '', 'scara' => '', 'etaj' => '', 'apartament' => '', 'inaltime_pachet' => '', 'lungime_pachet' => '', 'restituire' => '', 'centru_cost' => '', 'optiuni' => '', 'packing' => '', 'date_personale' => '' ] ]])
FanCourier::trackAwb()
FanCourier::trackAwb([ 'AWB'=>'2337600120003', 'display_mode' => 3 //1 – last status, 2 – last record from history route, 3 – all history of the expedition ])
FanCourier::order() 内部服务
FanCourier::order([ 'nr_colete' => 1, // or 'nr_plicuri' => 1 'pers_contact' => 'Test', 'tel' => 123456789, 'email' => 'example@example.com', 'greutate' => 1, 'inaltime' => 10, 'lungime' => 10, 'latime' => 10, 'ora_ridicare' => '18:00', 'observatii' => '', 'client_exp' => 'Test', 'strada' => 'Test', 'nr' => 1, 'bloc' => 2, 'scara' => 3, 'etaj' => 7, 'ap' => 78, 'localitate' => 'Constanta', 'judet' => 'Constanta', ])
FanCourier::exportServices()
FanCourier::exportServices()
FanCourier::exportAwbErrors()
FanCourier::exportAwbErrors()
FanCourier::getAwb()
FanCourier::getAwb([ 'nr'=>'2337600120003', //AWB ])
FanCourier::downloadAwb()
FanCourier::downloadAwb([ 'AWB'=>'2337600120003', ])
FanCourier::exportOrders()
FanCourier::exportOrders(['data'=>'09.12.2016'])
FanCourier::exportBorderou()
FanCourier::exportBorderou(['data'=>'09.12.2016', 'mode'=> 0])
FanCourier::exportReports()
FanCourier::exportReports(['data'=>'09.12.2016'])
FanCourier::exportObservations()
FanCourier::exportObservations()
FanCourier::endBorderou()
FanCourier::endBorderou()