PHPackages                             erkineren/shopwarebot - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. erkineren/shopwarebot

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

erkineren/shopwarebot
=====================

Shopware Backend Bot

v1.1(7y ago)13GPL-3.0+PHP

Since Feb 6Pushed 7y ago1 watchersCompare

[ Source](https://github.com/erkineren/ShopwareBot)[ Packagist](https://packagist.org/packages/erkineren/shopwarebot)[ RSS](/packages/erkineren-shopwarebot/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (3)Used By (0)

Shopware Bot
============

[](#shopware-bot)

Shopware Bot is library that make your backend turn into like a restapi. With this library, you can do some stuff that built-in shopware rest api does not support.

- Creating invoice and shipping labels
- Managing pickware plugin stock activities
- Searching orders, articles, users etc.

For now, these modules are available:

- ArticleModule
- CustomerModule
- DhlModule
- DpdModule
- ImportExportModule
- LogModule
- OrderModule
- PickwareModule
- PluginsModule

### Installation

[](#installation)

```
$ composer require erkineren/shopwarebot
```

### Quick Start

[](#quick-start)

```
use ShopwareBot\ShopwareBot;

require_once 'vendor/autoload.php';

$shop_url = "http://shopware.dev";
$username = 'user';
$password = 'password';

$bot = ShopwareBot::getInstance($shop_url);

try {
    // login to backend
    $bot->login($username, $password);
} catch (\ShopwareBot\Exceptions\CsrfException $e) {
    die($e->getMessage());
}

// Orders
$order = $bot->getOrderModule()->getOrderByNumber('12345');
$orders = $bot->getOrderModule()->getList($filter);

// Document
$bot->getOrderModule()->generateDocumentInvoice($orderId);
$bot->getOrderModule()->generateDocumentDeliveryNote($orderId);
$bot->getOrderModule()->generateDocumentCreditNote($orderId);
$bot->getOrderModule()->generateDocumentReversalInvoice($orderId);
$bot->getOrderModule()->generateDocument($orderId, $documentType); // custom document

// Customers
$bot->getCustomerModule()->getCustomerById($id);
$bot->getCustomerModule()->getCustomerByNumber($number);
$bot->getCustomerModule()->getCustomersByEmail($email);
$bot->getCustomerModule()->getCustomersByFirstname($firstname);
$bot->getCustomerModule()->getCustomersByFirstname($firstname);
$bot->getCustomerModule()->getCustomersByCustomerGroup($groupName);
$bot->getCustomerModule()->getCustomersByNumber($customernumbers);
$bot->getCustomerModule()->search($q);
$bot->getCustomerModule()->getBy($property, $value);
$bot->getCustomerModule()->getList($filter);
$bot->getCustomerModule()->getDetail($customerID);
$bot->getCustomerModule()->getUserAddressList($customerId);
$bot->getCustomerModule()->getUserOrders($customerID);
$bot->getCustomerModule()->getOrderChart($customerID);
$bot->getCustomerModule()->getUserPickwareArticles($customerID);
$bot->getCustomerModule()->delete($userId);

// Cache
$bot->getCacheModule()->clearShopCache();

// Logs
$bot->getLogModule()->createLog('Some logged data');

// ImportExport Plugin
$bot->getImportExportModule()->getProfiles();
$bot->getImportExportModule()->getProfiles();
$bot->getImportExportModule()->prepareExport($data);
$bot->getImportExportModule()->exportPartially(ImportExportModule::ARTICLES_COMPLETE, $limit); // for big data
$bot->getImportExportModule()->download($filename, 'files/saveto.csv');

// Pickware DPD,DHL adapters plugins
$bot->getDpdModule()->getShippingOrderData($orderId);
$bot->getDpdModule()->getAllLabels($orderId);
$bot->getDpdModule()->getTrackingUrls($trackingCodes);
$bot->getDpdModule()->getCountries();
$bot->getDpdModule()->getAllConfigurations();
$bot->getDpdModule()->getProducts();
$bot->getDpdModule()->getOrderConfigData($shopId);
$bot->getDpdModule()->calculateShippingWeight($orderId);
$bot->getDpdModule()->getMergedLabelsForOrder($orderId);
$bot->getDpdModule()->getLabelPdf($code);
$bot->getDpdModule()->getReturnLabelPdf($code);
// create shipping label
$bot->getDpdModule()->createLabel([
                'orderId' => $orderId,
                'detailsFirstName' => $address['firstname'],
                'detailsLastName' => $address['lastname'],
                'detailsStreet' => $address['street'],
                'detailsStreetNumber' => $address['no'],
                'detailsZipCode' => $address['postalcode'],
                'detailsCity' => $address['city'],
                'detailsStateId' => 0,
                'detailsCountryId' => $country['id'],
                'detailsEmail' => $address['email'],
                'packagingWeight' => 5
            ]);

// get shipping label that created from DPD plugin
ob_clean();
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename=" . $code . ".pdf");
echo $bot->getDpdModule()->getLabelPdf($code);
die;

// Pickware ERP Plugin
$bot->getPickwareModule()->saveIncomingStock($articleDetailId,$binLocationId,$warehouseId,$incomingStock);
$bot->getPickwareModule()->saveIncomingStock($articleDetailId,$binLocationId,$warehouseId,$incomingStock);
$bot->getPickwareModule()->getStockList();
$bot->getPickwareModule()->getStockListByOrderDetailId();
$bot->getPickwareModule()->getStockListByUserId();
$bot->getPickwareModule()->getStockListByComment();
$bot->getPickwareModule()->getStockListByType();

// Plugins
$bot->getPluginsModule()->isPluginActive($technicalName_or_Label);
$bot->getPluginsModule()->getActivePlugins();
$bot->getPluginsModule()->getLocalList();

// Articles
$bot->getArticleModule()->deleteProduct($Detail_id);
```

### Todos

[](#todos)

- Add more modules

License
-------

[](#license)

GPL-3.0+

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~5 days

Total

2

Last Release

2646d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/16518847?v=4)[Erkin Eren](/maintainers/erkineren)[@erkineren](https://github.com/erkineren)

---

Top Contributors

[![erkineren](https://avatars.githubusercontent.com/u/16518847?v=4)](https://github.com/erkineren "erkineren (10 commits)")

---

Tags

botshopwareshopwarebot

### Embed Badge

![Health badge](/badges/erkineren-shopwarebot/health.svg)

```
[![Health](https://phpackages.com/badges/erkineren-shopwarebot/health.svg)](https://phpackages.com/packages/erkineren-shopwarebot)
```

###  Alternatives

[botman/botman

Create messaging bots in PHP with ease.

6.2k1.5M97](/packages/botman-botman)[jaybizzle/laravel-crawler-detect

A Laravel package to detect web crawlers via the user agent

3232.6M17](/packages/jaybizzle-laravel-crawler-detect)[botman/driver-web

Web driver for BotMan

86658.7k7](/packages/botman-driver-web)[botman/tinker

BotMan tinker command for your Laravel BotMan project

102201.2k4](/packages/botman-tinker)[crwlr/crawler

Web crawling and scraping library.

37214.8k2](/packages/crwlr-crawler)[botman/driver-facebook

Facebook Messenger driver for BotMan

71301.6k6](/packages/botman-driver-facebook)

PHPackages © 2026

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