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

Sdk Laravel Package

esendex/sdk

PHP 8.3+ SDK for Esendex SMS messaging. Install via Composer and authenticate with your account to send SMS and retrieve inbox messages. Includes dispatch and inbox services, uses cURL, and supports autoloading via Composer or bundled loader.

View on GitHub
Deep Wiki
Context7

Esendex PHP Client

Build Status Latest Stable Version Latest Unstable Version License

Installation

Requirements

  • PHP >= 8.3
  • ext-curl enabled

The esendex-php-sdk is available to install through several methods as well as from source.

Composer

{
    "require": {
        "esendex/sdk": "3.*.*"
    }
}

Composer is not included within the repository, so you will need to retrieve it using the following command:

curl -sS https://getcomposer.org/installer | php

For installation on other platforms see getcomposer.org

We're in the default Packagist repository so just run

$ php composer.phar require esendex/sdk:3.*.*

or add the package above to your composer.json

Then just include Composer's generated autoload.php somewhere in your code;

require_once 'path/to/vendor/autoload.php';

GZIP

Download the current version here

Our autoloader may be included somewhere in your application;

require_once 'path/to/downloaded/sdk/src/Esendex/AutoLoad.php';

Getting Started

Sending SMS

$message = new \Esendex\Model\DispatchMessage(
    "WebApp", // Send from
    "01234567890", // Send to any valid number
    "My Web App is SMS enabled!",
    \Esendex\Model\Message::SmsType
);
$authentication = new \Esendex\Authentication\LoginAuthentication(
    "EX000000", // Your Esendex Account Reference
    "user@example.com", // Your login email address
    "password" // Your password
);
$service = new \Esendex\DispatchService($authentication);
$result = $service->send($message);

print $result->id();
print $result->uri();

Retrieving Inbox Messages

$authentication = new \Esendex\Authentication\LoginAuthentication(
    "EX000000", // Your Esendex Account Reference
    "user@example.com", // Your login email address
    "password" // Your password
);
$service = new \Esendex\InboxService($authentication);

$result = $service->latest();

print "Total Inbox Messages: {$result->totalCount()}";
print "Fetched: {$result->count()}";
foreach ($result as $message) {
    print "Message from: {$message->originator()}, {$message->summary()}";
}

Track Message Status

$authentication = new \Esendex\Authentication\LoginAuthentication(
    "EX000000", // Your Esendex account reference
    "user@example.com", // Your login email
    "password" // Your password
);
$headerService = new \Esendex\MessageHeaderService($authentication);
$message = $headerService->message("messageId");
print_r($message->status());

Retrieving Full Message Body

$messageId = "unique-id-of-message";
$authentication = new \Esendex\Authentication\LoginAuthentication(
    "EX000000", // Your Esendex Account Reference
    "user@example.com", // Your login email address
    "password" // Your password
);
$service = new \Esendex\MessageBodyService($authentication);

$result = $service->getMessageBodyById($messageId);

print $result;

Would you like to know more?

Full REST API documentation can be found @ developers.esendex.com

Testing

Unit Tests

You will need to install composer in order to acquire the pre-requisites. This can be achieved by the following command:

$ curl -sS https://getcomposer.org/installer | php

To retrieve said pre-requisites execute the following:

$ composer.phar install

A suite of tests can be found in the test directory. To run them use the phing build utility. e.g.

$ php vendor/bin/phing

Credentials Test

You can check your account credentials using a phing task we have provided. First, ensure dependencies have been installed with composer:

$ composer.phar install

Run the check-access script:

$ vendor/bin/phing check-access
Buildfile: /home/developer/esendex-php-sdk/build.xml

EsendexSDK > check-access:

Esendex Username ? user@example.com
Esendex Password ? secret
Account Reference? EX000000

    Account credentials OK!

BUILD FINISHED

Total time: 10.0000 seconds

Issues

We hope you don't run into any issues but if you should please make use of the issue tracker on github or send an email to support@esendex.com

Feedback

Let us know what you think @esendex

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