Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Managesend Php

Managesend Php Laravel Package

dreamcampaigns/managesend-php

PHP client library for the DreamCampaigns (Managesend) API. Authenticate with API key/secret and send transactional “Smart” emails via the REST client. Install with Composer or manually with the included autoloader. Supports PHP 5.3–7.4.

View on GitHub
Deep Wiki
Context7

A php library which implements the complete functionality of the DreamCampaigns API.

Frequently asked questions about Managesend Php
How do I install the `dreamcampaigns/managesend-php` package in a Laravel project?
Use Composer to install the package by running `composer require dreamcampaigns/managesend-php` in your Laravel project directory. The package supports PHP 5.3–7.4, but ensure your Laravel environment meets these requirements. After installation, include the autoloader if not using Composer’s autoloading.
Does this package support Laravel’s service container for dependency injection?
Yes, you can manually register the `RestClient` as a singleton or context-bound service in Laravel’s `AppServiceProvider`. This allows you to leverage Laravel’s dependency injection system for cleaner and more maintainable code. Example: Bind the client in the `register` method of your service provider.
Can I use Laravel’s HTTP client instead of the package’s `RestClient`?
Absolutely. Laravel’s `Http` facade provides more flexibility, including middleware, retries, and caching. You can replace the package’s `RestClient` with `Http::withBasicAuth()` or a custom service that wraps the API calls, making it easier to integrate with Laravel’s ecosystem.
How do I authenticate with the DreamCampaigns API in Laravel?
The package uses Basic authentication with an API key and secret. Store these credentials in your `.env` file (e.g., `MANAGESEND_API_KEY`, `MANAGESEND_API_SECRET`) and retrieve them in Laravel’s config. Pass these values to the `RestClient` constructor or use Laravel’s `Http` facade with `withBasicAuth()` for a more Laravel-native approach.
Is there built-in support for Laravel Queues to send emails asynchronously?
No, the package does not natively support Laravel Queues. However, you can wrap the package’s methods in a Laravel Job class (e.g., `SendSmartEmailJob`) and dispatch it to a queue. This allows you to send emails asynchronously without blocking HTTP requests.
What Laravel versions are compatible with this package?
The package supports PHP 5.3–7.4, but Laravel requires PHP 8.0+. You may need to use polyfills or adjust your Laravel configuration to ensure compatibility. Test thoroughly, as some modern Laravel features (e.g., type hints) may not work seamlessly with older PHP versions.
How do I handle errors or failed API requests in Laravel?
The package returns a `Result` object for responses, but you should layer Laravel’s exception handling (e.g., `throw_if`) or use try-catch blocks to manage errors. Log errors using Laravel’s `Log` facade or integrate with monitoring tools like Sentry for observability.
Are there any alternatives to this package for Laravel?
Yes, you can use Laravel’s built-in `Http` client to interact directly with the DreamCampaigns API, bypassing this package entirely. Alternatively, consider Guzzle HTTP client, which offers more customization and is widely used in Laravel projects for API integrations.
How frequently is the package updated to match DreamCampaigns API changes?
The package lacks a visible changelog or versioning system, so updates may not reflect API changes promptly. Monitor the [GitHub repository](https://github.com/dreamcampaigns/managesend-php) for updates or consider forking the package to maintain compatibility with DreamCampaigns’ API evolution.
Can I cache API responses in Laravel to improve performance?
Yes, you can cache API responses using Laravel’s `Cache::remember` or `Cache::forever` methods. Wrap the package’s API calls in a cached closure to reduce redundant requests, especially for read-heavy operations like fetching subscriber lists or campaign analytics.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky