- How do I install ae/salesforce-rest-sdk in a Laravel app?
- Install the package with Composer using composer require ae/salesforce-rest-sdk. In Laravel, register a service provider or container binding for the Salesforce REST client and configure OAuth credentials through your .env file. You can instantiate the Client with OAuthProvider or CachedOAuthProvider and inject it into your services.
- Does ae/salesforce-rest-sdk work with Laravel?
- Yes, it is a native PHP package installed through Composer, so it can be bound into Laravel's service container and wrapped in a service provider or facade. There is no official Laravel-specific integration, so you should isolate raw SObject CRUD calls behind application services rather than mixing them directly with Eloquent models. This keeps API boundaries clear and makes testing and maintenance easier.
- Which Salesforce API versions does ae/salesforce-rest-sdk support?
- The Client constructor accepts an optional Salesforce API version, with the README showing version 46.0 and noting a default of 44.0. The package has not been actively updated since 2020, so compatibility with newer Salesforce API versions such as v58+ is not guaranteed. Pin a version you have validated and test against a Salesforce sandbox before production use.
- How does authentication work in ae/salesforce-rest-sdk?
- The package provides an OAuthProvider supporting username/password credentials and authorization code grants, plus a CachedOAuthProvider that stores tokens using a PSR-6 cache pool. Modern Salesforce auth methods such as JWT Bearer Flow or certificate-based authentication are not built in, so enterprise setups may need custom extension. Use the cached provider to avoid authenticating with Salesforce on every request.
- Can I use Bulk API and Composite API with ae/salesforce-rest-sdk?
- Yes, the SDK covers Bulk API and Composite API operations including batch, tree, and SObject collections. These features reduce round-trips for complex or high-volume Salesforce operations, but the package is synchronous in design. For large Bulk API jobs in Laravel, run work through queued jobs or Horizon rather than blocking web requests.
- How do I handle Streaming API or Change Data Capture events with ae/salesforce-rest-sdk?
- The package supports the Salesforce Streaming API over Bayeux, and the client app name argument can be used when filtering Change Data Capture events. Documentation for advanced event processing is limited, so you will likely need custom code for subscription handling, reconnects, and event dispatch. If real-time processing is not required, polling may be simpler and more resilient.
- Does ae/salesforce-rest-sdk include retry logic for Salesforce throttling?
- No, the SDK does not provide built-in retry logic for Salesforce governor limits or transient failures. In Laravel, wrap calls with Illuminate\Support\Facades\Retry, custom middleware, or a circuit breaker around a service class. Keep retries and backoff logic outside the SDK so you can tune behavior without forking package code.
- Is ae/salesforce-rest-sdk actively maintained?
- The assessment notes the last release was in 2020, with no dependents and limited documentation, which raises maintenance and compatibility concerns. Salesforce deprecates APIs aggressively, so audit the package against your target API version and security requirements. For long-term use, consider forking and modernizing it or isolating it behind a wrapper layer you control.
- How should I test ae/salesforce-rest-sdk integrations in Laravel?
- Use a Salesforce sandbox for integration tests and mock the SDK or HTTP layer for unit tests so your Laravel test suite stays fast and deterministic. Because the package has no official Laravel test helpers, place it behind your own service classes and assert behavior at that boundary. Also validate the configured Salesforce API version against the operations you depend on.
- What are alternatives to ae/salesforce-rest-sdk for Laravel?
- You can evaluate actively maintained Salesforce PHP SDKs or build a lightweight wrapper around Laravel's HTTP client for the REST endpoints you actually need. The right choice depends on whether you need Bulk API, Composite API, Streaming API, and OAuth2 out of the box or only basic SObject CRUD. If you keep ae/salesforce-rest-sdk, wrap it behind a Laravel service so you can swap implementations later.