webidentity / laravel-gls-printing-service

该包最新版本(dev-master)没有提供许可证信息。

Laravel 框架的 GLS 打印标签服务。

dev-master 2023-02-02 13:15 UTC

This package is auto-updated.

Last update: 2024-09-17 20:07:38 UTC


README

步骤 1: 安装包

通过执行以下命令在 composer.json 中添加包。

composer require webidentity/laravel-gls-printing-service

步骤 2: 配置

首先通过以下命令初始化配置文件

php artisan vendor:publish

使用此命令初始化配置并修改位于 config/gls-printing-service.php 下的创建的文件。

配置

return [
    'logger' => Webidentity\GLSPrintingService\BaseLogger::class,
    'log-http-communication' => true,
    'credentials' => [
        'username' => '...',
        'password' => '...',
        'senderid' => '...',
    ],
    'printer_templates' => [
        'A6' => 'A6 format, blank label',
        'A6_PP' => 'A6 format, preprinted label',
        'A6_ONA4' => 'A6 format, printed on A4',
        'A4_2x2' => 'A4 format, 4 labels on layout 2x2',
        'A4_4x1' => 'A4 format, 4 labels on layout 4x1',
    ],
    'url' => 'SK',
    'soap_urls' => [
        'HU' => 'https://online.gls-hungary.com/webservices/soap_server.php?wsdl',
        'SK' => 'http://online.gls-slovakia.sk/webservices/soap_server.php?wsdl',
        'CZ' => 'http://online.gls-czech.com/webservices/soap_server.php?wsdl',
        'RO' => 'http://online.gls-romania.ro/webservices/soap_server.php?wsdl',
        'SI' => 'http://connect.gls-slovenia.com/webservices/soap_server.php?wsdl',
        'HR' => 'http://online.gls-croatia.com/webservices/soap_server.php?wsdl',
    ]
];

示例

您可以通过 wsdl 文件中提供的 GLS API 的任何端点进行调用。您需要传递一个数组参数,其中键是参数名称,值是对应的值。

GLSPrintingService::printlabel([
    'parameter_name' => 'value'
]);

打印标签

$data = array_merge(config('gls-printing-service.credentials'), [
        'sender_name' => '...',
        'sender_address' => '...',
        'sender_city' => '...',
        'sender_zipcode' => '...',
        'sender_country' => '...',
        'sender_contact' => '...',
        'sender_phone' => '...',
        'sender_email' => '...',
        'consig_name' => '...',
        'consig_address' => '...',
        'consig_city' => '...',
        'consig_zipcode' => '...',
        'consig_country' => '...',
        'consig_contact' => '...',
        'consig_phone' => '...',
        'consig_email' => '...',
        'pcount' => 1,
        'pickupdate' => '...',
        'content' => '',
        'clientref' => '',
        'codamount' => '',
        'codref' => '',
        'services' => [],
        'printertemplate' => 'A4_2x2',
        'printit' => true,
    ], ['timestamp' => GLSPrintingService::getTimestamp()]
);
$data['hash'] = GLSPrintingService::getglshash($data);

$response = GLSPrintingService::printlabel($data)

//pdfdata
echo base64_decode($response->pdfdata)

删除标签

GLSPrintingService::deletelabels(array_merge(
    config('gls-printing-service.credentials'), ['pclids' => $pclids]
));

日志 Http 通信

默认情况下已启用日志记录(请求和响应)。您可以通过执行以下命令来跟踪这些日志

tail -f storage/logs/laravel.log

待办事项

  • XML 序列化器,用于需要与 xml 一起工作的端点