magdv/kontur-logistics 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

magdv/kontur-logistics

最新稳定版本:1.0.14

Composer 安装命令:

composer require magdv/kontur-logistics

包简介

Kontur.Logistics API implementation

README 文档

README

Внимание!!!

Библиотека пока активно редактируется и могут быть несовместимые изменения. Учтите этот момент.

Пример отправки ТРН

Надо сделать свой локальный класс для сериализатора

declare(strict_types=1);

use GuzzleHttp\Client;
use MagDv\Logistics\ClientConfig;

class LocalConfig extends ClientConfig
{
    public function getCachePath(): ?string
    {
        return 'dfdf/df/df/df'; // здесь указываем путь, куда кешируем. Не обязательно, но желательно. Влияет на скорость
    }

    public function getIsDebug(): bool
    {
        return false; // тут надо указать, включать ли дебаг в дев режиме можете включить, чтобы видеть ошибки
    }

    public function getUrl(): string
    {
        return 'URL к апи';
    }

    public function getApiKey(): string
    {
        return 'apiKey';
    }

    public function getClient(): HttpClientInterface
    {
         // PSR-18 совместимый клиент
        return new Client();
    }
}
        $request = new SendWaybillRequest();
        $request->waybill = 'xml content';
        $request->waybillFileName = 'name.xml';
        $request->waybillSignFileName = 'sign_name.sig';
        $request->waybillSign = 'sig_content';

        $logistics = new LogisticsDocuments(new LocalConfig());
        $response = $logistics->sendWaybill($request);

        // Текущий статус ответа
        echo $response->statusCode;
        // Проверка, что удачный запрос
        echo $response->isOk();

        // Проверка статуса и вывод ошибки
        if (!$response->isOk()) {
         echo $response->error->message;
        }

        $response->transportationId;

Сделаны и протестированы методы

Минтранс

  • GET v1/mintransgateway/uuid

Документы (Транспортные накладные)

  • POST v1/documents/waybill — Отправка ТРН
  • POST v1/documents/waybill/draft — Черновик документа

Перевозки

  • GET v1/transportations — Список перевозок
  • GET v1/transportations/{id} — Информация о перевозке
  • GET v1/transportations/{id}/print-form — Печатная форма ТРН
  • GET v1/transportations/{id}/titles/{titleId} — Титул грузополучателя
  • GET v1/transportations/{id}/full-docflow — Полный документооборот перевозки
  • PUT v1/transportations/{id}/archive — Архивация/разархивация перевозки
  • POST v1/transportations/documents/draft — Черновик документов для перевозки

Организации

  • GET v1/organizations/requisites — Реквизиты организации

Работа с ошибками

Класс Error содержит метод getAllErrorMessagesByJsonString(), который возвращает полный список ошибок в JSON-формате:

if (!$response->isOk()) {
    // Отдельное сообщение
    echo $response->error->message;
    
    // Все ошибки в JSON
    echo $response->error->getAllErrorMessagesByJsonString();
}

统计信息

  • 总下载量: 5.68k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-11-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固