PHPackages                             abm/wasabi - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. abm/wasabi

ActiveLibrary[HTTP &amp; Networking](/categories/http)

abm/wasabi
==========

Prestashop websocket tool

0.3.1(10y ago)123GPL-3.0PHPCI failing

Since Feb 8Pushed 3y ago1 watchersCompare

[ Source](https://github.com/absalomedia/wasabi)[ Packagist](https://packagist.org/packages/abm/wasabi)[ RSS](/packages/abm-wasabi/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (4)Versions (5)Used By (0)

Wasabi
======

[](#wasabi)

A Websocket loosely coupled tool for Prestashop carts, products &amp; combinations

[![Code Climate](https://camo.githubusercontent.com/1d8cd544f343134ecdce006e033b4829514c3f76dfb044dc895cb90ef447d26f/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f616273616c6f6d656469612f7761736162692f6261646765732f6770612e737667)](https://codeclimate.com/github/absalomedia/wasabi) [![Codacy Badge](https://camo.githubusercontent.com/16299b0d3dd71ae4849345473de75d6ff19b9fc1056ef356a48851fbe9f95128/68747470733a2f2f6170692e636f646163792e636f6d2f70726f6a6563742f62616467652f6237343266626437363065313433623039623862633164333435306266666330)](https://www.codacy.com/app/media/wasabi) [![Build Status](https://camo.githubusercontent.com/4d7b296b1046fb0d83b1772e3ed00edde81d6a9c525f0aebb48a7fdf7321f797/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f616273616c6f6d656469612f7761736162692f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/absalomedia/wasabi/build-status/master) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/198f5188bc371b62ee2488748938c2c775ac94bdfca62136192492f459e29bba/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f616273616c6f6d656469612f7761736162692f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/absalomedia/wasabi/?branch=master) [![SensioLabsInsight](https://camo.githubusercontent.com/8105a286fa05a9d88b46cdb98fd8fcffdcbf6251e8655aef4090adbe7ec2bd33/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f66616339643336632d616439652d346665302d623438662d3737363761656263616534382f6d696e692e706e67)](https://insight.sensiolabs.com/projects/fac9d36c-ad9e-4fe0-b48f-7767aebcae48) [![HHVM Status](https://camo.githubusercontent.com/33854bdfe3c0055741df499bce44c86b5299749fb4e1263ce18e03e75ad297c1/687474703a2f2f6868766d2e683463632e64652f62616467652f61626d2f7761736162692e737667)](http://hhvm.h4cc.de/package/abm/wasabi)

[![Prestashop 1.5](https://camo.githubusercontent.com/bc5bbce3c447dfaf8ca762bfdc48500370c021c23c026c249d5b907ce6a9695a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50726573746173686f702d312e352d626c75652e737667)](https://camo.githubusercontent.com/bc5bbce3c447dfaf8ca762bfdc48500370c021c23c026c249d5b907ce6a9695a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50726573746173686f702d312e352d626c75652e737667) [![Prestashop 1.6](https://camo.githubusercontent.com/9c8aac1d90fefd8bc71c35bdde2f930e5959b5b61c0056ad6e4bf1660024406c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50726573746173686f702d312e362d7265642e737667)](https://camo.githubusercontent.com/9c8aac1d90fefd8bc71c35bdde2f930e5959b5b61c0056ad6e4bf1660024406c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50726573746173686f702d312e362d7265642e737667)

What's Wasabi?
--------------

[](#whats-wasabi)

Wasabi is a Websocket based tool, built using Composer &amp; Ratchet to expose data on a Prestashop ecommerce build. It's somewhat beta as well so expect gremlins but not dragons. Mostly tested with 1.5.6.x builds but also experimentally tested with 1.6.x. It's somewhat PSR-4 compliant as well. All database related details should be placed inside a .env file in the root directory, increasing security of the app &amp; moving it towards [12 Factor](https://12factor.net/) compliance.

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

[](#installation)

The easiest path to install is:

- Download this repo or git clone it
- Place into relevant Prestashop site in a subdirectory
- Create &amp; set up the .env file to suit. There's a env.default provided as an example.
- Run Composer in that subdirectory

    ```
      composer install

    ```
- Watch as it builds in all the dependencies
- Run a background cron job to keep the index.php file running as a server
- Open port 8787 on the internal firewall if you haven't already
- Profit

Usage
-----

[](#usage)

Wasabi was originally designed to get product combination data from large scale / enterprise Prestashop ecommerce stores. It has since matured to allow cart &amp; product data to also be captured via websockets.

As of the 0.1 release, there is 1 websocket server that can negotiate carts, products &amp; combinations. How does it do this?

The basic code notation works as follows, and must be passed as a concatenated string (for obvious reasons):

```
type|data as comma seperated variables
```

The various types available are:

- cart
- prod
- comb

The 'cart' variable, used in finding related carts for a customer, requires the cart ID followed by the customer ID. Wasabi will return a JSON string with the other cart IDs that customer has along with the time they were created.

The 'prod' variable, used in finding basic product details via Websocket, operates two ways. When the first variable in the data string is not set to 0, it considers that variable the category &amp; then looks in the specific category ID for that product. When that variable is set to 0, it ignores it &amp; just looks at the second variable. In both cases, the second variable is always the product ID. Wasabi will return a JSON string with the same standard variables as a Prestashop product.

The 'comb' variable allows you to find specific combination data, including pricing for a specific product. The data from this variable is used inside most Prestashop product.js files inside the findCombination(firstTime) loop. The first variable in the data stream for this setting is the product ID, followed by each individual combination variable IDs for that product (taken from the product Attributes &amp; Values area). You need to refactor the findCombination(firstTime) function &amp; the data in it to talk to the Wasabi websocket server before you can use it. Wasabi will return a JSON string with the same variables as the Prestashop combinations.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.5% 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 ~3 days

Total

4

Last Release

3742d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f2134a0412e72f5202e95f6a0c1da344e0049b481e0758131c11f1db7f876315?d=identicon)[absalomedia](/maintainers/absalomedia)

---

Top Contributors

[![absalomedia](https://avatars.githubusercontent.com/u/3776787?v=4)](https://github.com/absalomedia "absalomedia (187 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (12 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1 commits)")

---

Tags

websocketcombinationecommercecartproductprestashop

### Embed Badge

![Health badge](/badges/abm-wasabi/health.svg)

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

###  Alternatives

[gos/web-socket-bundle

Symfony Web Socket Bundle

6202.2M8](/packages/gos-web-socket-bundle)[pixelpeter/laravel5-woocommerce-api-client

Laravel 5 wrapper for the Woocommerce REST API

125103.4k](/packages/pixelpeter-laravel5-woocommerce-api-client)[consik/yii2-websocket

Yii2 websocket server component

9275.9k2](/packages/consik-yii2-websocket)[takielias/codeigniter-websocket

CodeIgniter Websocket using Ratchet Websocket technology. Inspired by https://github.com/romainrg/ratchet\_client

609.1k](/packages/takielias-codeigniter-websocket)[joni-jones/yii2-wschat

Online chat based on web sockets and ratchet php

981.3k](/packages/joni-jones-yii2-wschat)[romainrg/ratchet_client

CodeIgniter library who allow you to make powerfull applications with realtime interactions by using Websocket technology

396.6k](/packages/romainrg-ratchet-client)

PHPackages © 2026

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