Starter Package

Important Note!

We do not recommend performing any installations or upgrades Fridays or before the holidays. Our support team is only available during the regular business hours. Off business hours assistance has to be scheduled with the support team in advance.

See Magento 2 Connector for the list of the latest versions.


Latest Versions (Adobe Commerce 2.4.3 or under)

ModuleVersion

tnw/salesforce

2.9.63

Latest Versions (Adobe Commerce 2.4.4 and Newer)

ModuleVersion

tnw/salesforce

2.10.67

Installation/Upgrade Instructions.



STEP 1 - Install Magento extension

1.1. Install by the composer manager:

After you get the free version from the Magento Marketplace, use the following command to install the extension:


Adobe Commerce 2.4.3 or under

Composer command

composer require tnw/salesforce=2.9.63

Adobe Commerce 2.4.4 and Newer

Composer command

composer require tnw/salesforce=2.10.67

1.2. Alternative installation:

Use this path ONLY if you cannot use the composer in your environment. We advise against this path, use it at your own risk!

 i understand and acknowledge that. Show me instruction...

1.2.1: Upload modules to your server

git clone git@github.com:PowerSync/TNW_Salesforce.git app/code/TNW/Salesforce

git clone git@github.com:PowerSync/TNW_Marketing.git app/code/TNW/Marketing

git clone git@github.com:PowerSync/tnw-soap-client.git vendor/tnw/soap-client

You can also create the following folders manually app/code/TNW/Salesforceapp/code/TNW/Marketing and vendor/tnw/soap-client and clone GIT repos to each respectively:

1.2.2: Modify autoloading files:

  • Open the composer.json file in your Magento folder, find the "psr-0"  section and add the following line:

    "Tnw\\SoapClient\\": ["vendor/tnw/soap-client/src"]
    

    Example:
     

  • Open the vendor/composer/autoload_namespaces.php file, add our soap library to the returned array:

    'Tnw\\SoapClient\\' => array($vendorDir . '/tnw/soap-client/src'),
    

    Example:

  • Open the vendor/composer/autoload_static.php file, add our soap library to the $prefixesPsr0 property array:

            'T' =>
            array (
                'Tnw\\SoapClient\\' =>
                array (
                    0 => __DIR__ . '/..' . '/tnw/soap-client/src',
                ),
            ),

    Example:


The final DIFF is below for your reference:

diff --git a/composer.json b/composer.json
index 02f4db050..679df170d 100644
--- a/composer.json
+++ b/composer.json
@@ -42,7 +42,8 @@
             "": [
                 "app/code/",
                 "generated/code/"
-            ]
+            ],
+                       "Tnw\\SoapClient\\": ["vendor/tnw/soap-client/src"]
         },
         "files": [
             "app/etc/NonComposerComponentRegistration.php"
diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php
index 615206498..c8d043ae5 100644
--- a/vendor/composer/autoload_namespaces.php
+++ b/vendor/composer/autoload_namespaces.php
@@ -9,6 +9,7 @@ return array(
     'org\\bovigo\\vfs\\' => array($vendorDir . '/mikey179/vfsstream/src/main/php'),
     'Zend_' => array($vendorDir . '/magento/zendframework1/library'),
     'Yandex' => array($vendorDir . '/allure-framework/allure-codeception/src', $vendorDir . '/allure-framework/allure-php-api/src', $vendorDir . '/allure-framework/allure-php-api/test', $vendorDir . '/allure-framework/allure-phpunit/src'),
+    'Tnw\\SoapClient\\' => array($vendorDir . '/tnw/soap-client/src'),
     'PhpCollection' => array($vendorDir . '/phpcollection/phpcollection/src'),
     'PHPMD\\' => array($vendorDir . '/phpmd/phpmd/src/main/php'),
     'OAuth\\Unit' => array($vendorDir . '/lusitanian/oauth/tests'),
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 8b0193df4..7fcae7317 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -2391,6 +2391,13 @@ class ComposerStaticInitda276fee84442e1e42cff33a09c39d5e
                 3 => __DIR__ . '/..' . '/allure-framework/allure-phpunit/src',
             ),
         ),
+        'T' =>
+        array (
+            'Tnw\\SoapClient\\' =>
+            array (
+                0 => __DIR__ . '/..' . '/tnw/soap-client/src',
+            ),
+        ),
         'P' =>
         array (
             'PhpCollection' =>

STEP 2 - Compile & clear cache

The follwing commands are usually executed for each Magento deployment.

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento indexer:reindex

Re-deploy static content

rm -rf pub/static/frontend/ pub/static/deployed_version.txt  pub/static/adminhtml/
bin/magento setup:static-content:deploy -f

Clear / Clean Magento cache

bin/magento cache:clean

Last but not least, disable the Magento maintenance mode

bin/magento maintenance:disable

If you run into any issues, try executing the following command and try again

rm -rf var/generation/* generated/*

STEP 3 - Install Salesforce Managed package

Install PowerSync Core managed package next.

IMPORTANT: You only need PowerSync Core managed package for this version and other managed packages will not give you anything extra w/o additional Magento code and they will also expire if you don't purchase them.

Also, see Salesforce fields access level setup to make confirm your field permission settings in Salesforce.

STEP 4 - Generating Enterprise WSDL File

See Generating the WSDL file for details. After you downloaded the file onto your computer, save it and we will need this file later.

We recommend using a naming convention for your WSDL files to match your environments. Each separate Magento installation will require its own WSDL file and must be connected to a separate Salesforce Org.

File Name Examples: