sendpulse/rest-api
Official PHP client for the SendPulse REST API, supporting API key and OAuth auth. Manage bulk email campaigns, transactional SMTP, SMS, CRM contacts and chatbots through a typed, ergonomic service layer with optional PSR-18 and PSR-16 adapters. Requires PHP 8.3+ and ext-curl/ext-json.
new Sendpulse\RestApi\Client(apiKey: '...') instead of the old ApiClient class.clientId + clientSecret) and API key (apiKey) are now named constructor arguments; the old positional (API_USER_ID, API_SECRET, $storage) signature is gone.get()/post()/put()/patch()/delete() calls replaced by typed facades (emailService(), smtpService(), etc.).ApiClientException replaced by a typed hierarchy: AuthException, RateLimitException, ApiException, NetworkException, ProtocolException.FileStorage/SessionStorage/MemcachedStorage removed; use FileTokenStorage, InMemoryTokenStorage, or bring your own via TokenStorage interface.emailService(), smtpService(), smsService(), crmService(), chatbotService().TokenStorage interface with FileTokenStorage (atomic, flock-based) and InMemoryTokenStorage.Psr16TokenStorage) and PSR-18 HTTP adapter (Http\Adapter\Psr18Adapter).401 — cached token is invalidated and a fresh one is fetched before retrying once.Add usage example
fixed resend SMTP
add new @param string $sendDate for createCampaing()
Add re-try for SMTP send method
Fix issue with sendRequest
Authentication fix
Add response headers for debugging purposes
Refactor smtpSendMail
Add removing from file storage
SMTP: list unsubscribed emails
Method for changing email variables
Fix smtpListEmails method to include required 'country' parameter
How can I help you explore Laravel packages today?