PHPackages                             patryk-sawicki/inpost-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. patryk-sawicki/inpost-laravel

ActiveLibrary[API Development](/categories/api)

patryk-sawicki/inpost-laravel
=============================

InPost ShipX API client for laravel.

1.0.5(10mo ago)99.2k↓44.6%5MITPHPPHP ^7.4 || ^8.0

Since Aug 10Pushed 10mo ago2 watchersCompare

[ Source](https://github.com/patryk-sawicki/inpost-laravel)[ Packagist](https://packagist.org/packages/patryk-sawicki/inpost-laravel)[ RSS](/packages/patryk-sawicki-inpost-laravel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (7)Used By (0)

InPost ShipX API Client
=======================

[](#inpost-shipx-api-client)

InPost ShipX API client for laravel.

Based on aPaczka api [doc](https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/622754/API+ShipX).

Requirements
------------

[](#requirements)

- PHP 7.4 or higher with json extensions.

Installation
------------

[](#installation)

The recommended way to install is through [Composer](http://getcomposer.org).

```
composer require patryk-sawicki/inpost-laravel
```

Usage
-----

[](#usage)

Add to env:

```
INPOST_API_KEY = 'your_api_key'
```

Import class:

```
use PatrykSawicki\InPost\app\Classes\InPost;
```

### Organizations

[](#organizations)

#### List

[](#list)

Get organizations list.

```
InPost::organizations()->list(array $options = [], bool $returnJson = false);
```

#### Get

[](#get)

Get organizations details.

```
InPost::organizations()->get(int $id, bool $returnJson = false);
```

#### Statistics

[](#statistics)

Get organizations statistics.

```
InPost::organizations()->statistics(int $id, bool $returnJson = false);
```

### Services

[](#services)

Get a list of the available services.

```
InPost::services()->list(bool $returnJson = false);
```

### Points

[](#points)

#### List

[](#list-1)

Get a list of the available points.

```
InPost::points()->list(array $options = [], bool $returnJson = false);
```

#### Get

[](#get-1)

Get a point details.

```
InPost::points()->get(string $name, bool $returnJson = false);
```

### Shipment

[](#shipment)

#### Send

[](#send)

Send a new shipment.

```
use PatrykSawicki\InPost\app\Classes\InPost;
use PatrykSawicki\InPost\app\Models\Cash as InPostCash;
use PatrykSawicki\InPost\app\Models\Dimensions as InPostDimensions;
use PatrykSawicki\InPost\app\Models\Weight as InPostWeight;
use PatrykSawicki\InPost\app\Models\Address as InPostAddress;
use PatrykSawicki\InPost\app\Models\Parcel as InPostParcel;
use PatrykSawicki\InPost\app\Models\Parcels as InPostParcels;
use PatrykSawicki\InPost\app\Models\Receiver as InPostReceiver;
use PatrykSawicki\InPost\app\Models\Sender as InPostSender;

$shipment = InPost::shipment();

/*Set organization*/
$shipment->setOrganizationId(123);

/*Receiver*/
$receiverAddress = new InPostAddress('street', 'building_number', 'city', 'post_code', 'PL');
$receiver = new InPostReceiver('name', 'company name', 'first name', 'last name', 'e-mail', 'phone', $receiverAddress);
$shipment->setReceiver($receiver);

/*Sender - Optional*/
$senderAddress = new InPostAddress('street', 'building_number', 'city', 'post_code', 'PL');
$sender = new InPostSender('name', 'company name', 'first name', 'last name', 'e-mail', 'phone', $senderAddress);
$shipment->setSender($sender);

/*Parcels*/
$dimensions = new InPostDimensions(10, 10, 10, 'mm');
$weight = new InPostWeight(10, 'kg');
$firstParcel = new InPostParcel($dimensions, $weight, 'parcel 1');

/*Second parcel is optional.*/
$dimensions = new InPostDimensions(20, 20, 20, 'mm');
$weight = new InPostWeight(5, 'kg');
$secondParcel = new InPostParcel($dimensions, $weight, 'parcel 2');

$shipment->setParcels(new InPostParcels($firstParcel, $secondParcel));

/*Insurance - Optional*/
$insurance = new InPostCash(100, 'PLN');
$shipment->setInsurance($insurance);

/*Cod - Optional*/
$cod = new InPostCash(100, 'PLN');
$shipment->setCod($cod);

/*Additional Services - Optional*/
$shipment->setAdditionalServices(['sms', 'email']);

/*Reference - Optional*/
$shipment->setReference('reference');

/*Comments - Optional*/
$shipment->setComments('comments');

/*External customer id - Optional*/
$shipment->setExternalCustomerId('external customer id');

/*MPK - Optional*/
$shipment->setMpk('mpk');

/*Is return - Optional*/
$shipment->setIsReturn(false);

/*Service*/
$shipment->setService('inpost_locker_standard');

/*Custom attributes - Optional*/
$shipment->setCustomAttributes(['target_point' => 'xxx']);

/*Only choice of offer - Optional*/
$shipment->setOnlyChoiceOfOffer(true);

/*Send shipment*/
$shipment->send(bool $returnJson = false);
```

#### Cancel

[](#cancel)

Cancellation of a shipment.

```
InPost::shipment()->cancel(int $id, bool $returnJson = false);
```

#### Label

[](#label)

Get label for a shipment.

```
return InPost::shipment()->label(int $id, string $format = 'pdf', string $type = 'normal');
```

### Tracking

[](#tracking)

Get a tracking details.

```
InPost::tracking()->get(string $tracking_number, bool $returnJson = false);
```

### Statuses

[](#statuses)

Get a list of the available statuses.

```
InPost::statuses()->list(bool $returnJson = false);
```

### Dispatch orders

[](#dispatch-orders)

#### Create

[](#create)

Create a new dispatch orders.

```
use PatrykSawicki\InPost\app\Classes\InPost;
use PatrykSawicki\InPost\app\Models\Address as InPostAddress;

$dispatchOrders = InPost::dispatchOrders();

/*Set organization*/
$dispatchOrders->setOrganizationId(2324);

/*Set shipments*/
$dispatchOrders->setShipments(1, 2, 3, 4);

/*Set comments - Optional*/
$dispatchOrders->setComments('Test');

/*Set address*/
$dispatchOrders->setAddress(new InPostAddress('street', 'building_number', 'city', 'post_code', 'PL'));

/*Set office hours - Optional*/
$dispatchOrders->setOfficeHours('09:00 - 18:00');

/*Set name*/
$dispatchOrders->setName('Patryk Sawicki');

/*Set phone*/
$dispatchOrders->setPhone('+48793202257');

/*Set email - Optional*/
$dispatchOrders->setEmail('patryk@patryksawicki.pl');

/*Create a new dispatch orders.*/
$dispatchOrders->create(bool $returnJson = false);
```

#### Cancel

[](#cancel-1)

Cancellation of a dispatch orders

```
InPost::dispatchOrders()->cancel(int $id, bool $returnJson = false);
```

#### List

[](#list-2)

Get dispatch orders list.

```
$dispatchOrders = InPost::dispatchOrders();

/*Set organization*/
$dispatchOrders->setOrganizationId(2324);

$dispatchOrders->list(bool $returnJson = false);
```

#### Get

[](#get-2)

Get dispatch orders details.

```
$dispatchOrders->get(int $id, bool $returnJson = false);
```

#### Add comment

[](#add-comment)

Add comment to dispatch orders.

```
$dispatchOrders = InPost::dispatchOrders();

/*Set organization*/
$dispatchOrders->setOrganizationId(123456);

$dispatchOrders->addComment(int $dispatch_order_id, string $comment, bool $returnJson = false);
```

#### Update comment

[](#update-comment)

Update comment in dispatch orders.

```
$dispatchOrders = InPost::dispatchOrders();

/*Set organization*/
$dispatchOrders->setOrganizationId(123456);

$dispatchOrders->updateComment(int $dispatch_order_id, int $comment_id, string $comment, bool $returnJson = false);
```

#### Update comment

[](#update-comment-1)

Update comment in dispatch orders.

```
$dispatchOrders = InPost::dispatchOrders();

/*Set organization*/
$dispatchOrders->setOrganizationId(123456);

$dispatchOrders->removeComment(int $dispatch_order_id, int $comment_id, bool $returnJson = false);
```

Changelog
---------

[](#changelog)

Changelog is available [here](CHANGELOG.md).

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance55

Moderate activity, may be stable

Popularity34

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~215 days

Recently: every ~269 days

Total

6

Last Release

300d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e2276e6082c07c002d8b66093671feaf3f1306bd8aa6ced5c0769a46a7bb9ff6?d=identicon)[patryk-sawicki](/maintainers/patryk-sawicki)

---

Top Contributors

[![patryk-sawicki](https://avatars.githubusercontent.com/u/30780444?v=4)](https://github.com/patryk-sawicki "patryk-sawicki (8 commits)")[![mtlukaszczyk](https://avatars.githubusercontent.com/u/5895802?v=4)](https://github.com/mtlukaszczyk "mtlukaszczyk (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/patryk-sawicki-inpost-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/patryk-sawicki-inpost-laravel/health.svg)](https://phpackages.com/packages/patryk-sawicki-inpost-laravel)
```

###  Alternatives

[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[echolabsdev/prism

A powerful Laravel package for integrating Large Language Models (LLMs) into your applications.

2.3k388.3k10](/packages/echolabsdev-prism)[sburina/laravel-whmcs-up

WHMCS API client and user provider for Laravel

271.3k](/packages/sburina-laravel-whmcs-up)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
