magdv / kontur-logistics
Kontur.Logistics API implementation
Installs: 4 295
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=8.0
- ext-curl: *
- ext-json: *
- ext-simplexml: *
- jms/serializer: ^3.21
- nyholm/psr7: ^1.5
- php-http/multipart-stream-builder: ^1.2
- psr/http-client: ^1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.5
- overtrue/phplint: ^2.0
- phpunit/phpunit: ^8.5
- ramsey/uuid: 4.2
- rector/rector: ^0.15.7
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^3.8
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;
Сделаны и протестированы методы
v1/mintransgateway/uuid
v1/documents/waybill
v1/documents/waybill/draft
v1/transportations
v1/transportations/{id}
v1/transportations/{id}/print-form
v1/organizations/requisites