Looking to hire Laravel developers? Try LaraJobs

laravel-salesforce maintained by supportkbz

Description
Package CRUD connexion with Salesforce
Author
Last update
2026/07/27 15:41 (dev-main)
License
Downloads
7

Comments
comments powered by Disqus

Package CRUD pour interagir avec Salesforce via des classes sObject Eloquent-like.

Installation

composer require supportkbz/laravel-salesforce

Publie la configuration :

php artisan vendor:publish --tag="laravel-salesforce-config"

Renseigne les variables d'environnement :

SF_URL=https://your-instance.salesforce.com
SF_CONSUMER_KEY=
SF_CONSUMER_SECRET=
SF_USERNAME=
SF_PASSWORD=
SF_VERSION=v59.0
SF_OWNER_ID=

# Cache du token OAuth : `default` (Cache Laravel / CACHE_DRIVER) ou `file`
SF_CACHE_DRIVER=default
# SF_CACHE_PATH=   # mode file uniquement
# SF_CACHE_KEY=    # mode default uniquement

Cache du token

Driver Comportement
default Utilise Cache::get/put/forget avec le CACHE_DRIVER de l'app
file Persiste un fichier chiffre via file_put_contents (+ Crypt)

Usage

Creer une classe sObject

php artisan make:sobject Lead
# ou avec un nom d'API custom :
php artisan make:sobject Address --table=Adresse__c

Exemple genere / manuel :

namespace App\Salesforce;

use SupportKBZ\SObject\SObject;

class Lead extends SObject
{
    protected string $table = 'Lead';

    protected array $fillable = [
        'Id',
        'Email',
        'FirstName',
        'LastName',
    ];

    protected array $map = [
        'Id' => 'id',
        'Email' => 'email',
        'FirstName' => 'first_name',
        'LastName' => 'last_name',
    ];
}

Requetes

$lead = (new Lead)->find('00Q...');
$lead = (new Lead)->find('email', 'john@example.com');
$lead = (new Lead)->where('Status', 'Open')->first();

$leads = (new Lead)
    ->where(function ($q) {
        $q->where('Status', 'Open')->orWhere('Status', 'Pending');
    })
    ->whereIn('LeadSource', ['Web', 'Partner'])
    ->get();

Ecriture

$lead = new Lead;
$lead->email = 'john@example.com';
$lead->first_name = 'John';
$lead->last_name = 'Doe';
$lead->save();

$lead->status = 'Qualified';
$lead->save();

(new Lead)->insert(['Email' => 'jane@example.com', 'LastName' => 'Doe']);
(new Lead)->update('00Q...', ['Status' => 'Closed']);

Les cles acceptees par insert / update / les setters peuvent etre des noms Salesforce (Email) ou des noms mappes (email).

Upload / download

Le trait UploadsAndDownloads est inclus sur SObject :

(new Lead)->upload('/path/to/file.pdf', $linkedEntityId);
(new Lead)->download($contentVersionId, storage_path('app/sf_file'));

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Thank you for considering contributing to Laravel Salesforce! Please review our contributing guide to get started.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

Laravel Salesforce is open-sourced software licensed under the MIT license.