daika7ana / fancourier

FanCourier API 客户端

0.0.11 2022-11-01 15:30 UTC

This package is auto-updated.

Last update: 2024-09-19 12:42:03 UTC


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()