PHPackages                             swisscat/salesforce-bundle - 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. [Framework](/categories/framework)
4. /
5. swisscat/salesforce-bundle

ActiveSymfony-bundle[Framework](/categories/framework)

swisscat/salesforce-bundle
==========================

A Salesforce bundle for Sylius framework

21[1 issues](https://github.com/swisscat/SalesforceBundle/issues)PHP

Since Oct 31Pushed 8y ago1 watchersCompare

[ Source](https://github.com/swisscat/SalesforceBundle)[ Packagist](https://packagist.org/packages/swisscat/salesforce-bundle)[ RSS](/packages/swisscat-salesforce-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

\[WORK IN PROGRESS\] - SalesforceBundle
=======================================

[](#work-in-progress---salesforcebundle)

(Yet another) Salesforce synchronization tool, using a RabbitMQ engine to defer and bulk synchronization. Using Streaming API to fetch back records from Salesforce.

Installation
============

[](#installation)

Require the bundle:

```
composer require swisscat/salesforce-bundle

```

Register the bundle:

```
// app/AppKernel.php

public function registerBundles()
{
    $bundles = [
        // ... ,
        new \OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
        new \Swisscat\SalesforceBundle\SalesforceBundle(),
    ];
}

```

[Generate a Salesforce Enterprise WSDL](https://www.google.ch/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0ahUKEwj1iIaG4urWAhVLOMAKHbmLB8IQFggtMAE&url=https%3A%2F%2Fdeveloper.salesforce.com%2Fdocs%2Fatlas.en-us.api_meta.meta%2Fapi_meta%2Fmeta_quickstart_get_WSDLs.htm&usg=AOvVaw3b146uriu3vh1Jhv5Gnt4p)

Fill in basic config

```
salesforce:
    soap_client:
        wsdl: "%kernel.root_dir%/config/sf.wsdl"
        username:
        password:
        token:

```

Update schema:

```
bin/console doctrine:migrations:diff
bin/console doctrine:migrations:migrate

```

Configuration
=============

[](#configuration)

Edit config.yml

```
salesforce:
    soap_client:
        wsdl: "%kernel.root_dir%/config/sf.wsdl"
        username:
        password:
        token:

old_sound_rabbit_mq:
    connections:
        default:
            host:     'localhost'
            port:     5672
            user:     'guest'
            password: 'guest'
            vhost:    '/'
            lazy:     true
            connection_timeout: 60
            keepalive: true
            use_socket: false # default false
    producers:
        sync_salesforce:
            connection:       default
            exchange_options: {name: 'sync-salesforce', type: direct}
            service_alias:    sync_salesforce # no alias by default
    consumers:
        salesforce_back:
            connection:       default
            exchange_options: {name: 'salesforce', type: direct}
            queue_options:    {name: 'salesforce'}
            callback:         sylius.consumer.salesforce_back
    batch_consumers:
        sync_salesforce:
            connection:       default
            exchange_options: {name: 'sync-salesforce', type: direct}
            queue_options:    {name: 'sync-salesforce'}
            callback:         sylius.consumer.salesforce
            qos_options:      {prefetch_size: 0, prefetch_count: 2, global: false}

```

Run the command to process records

```
bin/console rabbitmq:batch:consumer sync_salesforce

```

Run the command to fetch Topic Updates (See )

```
bin/console rabbitmq:consumer salesforce_back

```

Roadmap
=======

[](#roadmap)

- Refactor / cleanup
- Complete tests
- Improve RabbitMQ exchange configuration
- Provide queue configurability on ecommerce
- Handle failures on ecommerce publish
- Generalize bundle for other providers (i.e magento)
- Authentication with Token for Java API
- Implement bundle logic for reconciliation (Master: SF/ECOM/storing conflicts)
- Improve mapping definition (custom functions)
- Implement mapping associations (entity relations)

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/77cd9d74e3db0053a409854db9bf9b88e185142dc0c088eea6db9150575ca3f7?d=identicon)[swisscat](/maintainers/swisscat)

---

Top Contributors

[![swisscat](https://avatars.githubusercontent.com/u/10150603?v=4)](https://github.com/swisscat "swisscat (22 commits)")

---

Tags

amqpsalesforcesalesforce-synchronizationstreaming-apisyliussymfonysymfony-bundle

### Embed Badge

![Health badge](/badges/swisscat-salesforce-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/swisscat-salesforce-bundle/health.svg)](https://phpackages.com/packages/swisscat-salesforce-bundle)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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