PHPackages                             carropublic/carromessenger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. carropublic/carromessenger

ActiveLibrary

carropublic/carromessenger
==========================

:package\_description

3.0.0(9mo ago)073.6k↓69.9%1MITPHP

Since Aug 7Pushed 9mo ago7 watchersCompare

[ Source](https://github.com/carro-public/carro-messenger)[ Packagist](https://packagist.org/packages/carropublic/carromessenger)[ Docs](https://github.com/carropublic/carromessenger)[ RSS](/packages/carropublic-carromessenger/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (6)Versions (34)Used By (0)

CarroMessenger
==============

[](#carromessenger)

[![Latest Version on Packagist](https://camo.githubusercontent.com/71c0463c244fd04475cc488340c63a9bd5cff45f4cc68892c463db36a5b8a564/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636172726f7075626c69632f636172726f6d657373656e6765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/carropublic/carromessenger)[![Total Downloads](https://camo.githubusercontent.com/c0f8b7e6736a89f640affed3de3cca34c78df362d2c7d4e9ad8f70eea4428bc7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636172726f7075626c69632f636172726f6d657373656e6765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/carropublic/carromessenger)

You can send WhatsApp messages and template message using [Message bird](https://www.messagebird.com) and [Twilio](https://www.twilio.com/), SMS messages using [Twilio](https://www.twilio.com/) and [Telerivet](https://telerivet.com/) using this package. You can create webhooks for programmable webhooks of [Toky](https://toky.co/en) to handle incoming phone calls.

You need to prepare an array with service and channel (WhatsApp, SMS, etc) which you would like to use. Then call the `sendMessage()`. You can see an example in the following

```
$data = [
    'to'        => '+959XXXXXXXX',
    'message'   => 'Testing',
    'service'   => 'twilio',
    'channel'   => 'whatsapp',
    'image_url' => 'www.example.com/example.jpg'
];
CarroMessenger::sendMessage($data);
```

Installation
------------

[](#installation)

Via Composer

```
$ composer require carropublic/carromessenger
```

Usage
-----

[](#usage)

You need to set `.env` values for each service that you would like to use.

```
#For Message Bird
MESSAGE_BIRD_ACCESS_KEY                     = message_bird_key
MESSAGE_BIRD_WHATS_APP_CHANNEL_ID           = whatsapp_channel_from_message_bird
MESSAGE_BIRD_WHATSAPP_TEMPLATE_NAMESPACE    = whatsapp_tempalate_namespace (only needed it you would like to send template message)
MESSAGE_BIRD_WHATSAPP_REPORT_URL            = whatsapp_message_status_report_url (optional)
MESSAGE_BIRD_WHATSAPP_PHONE                 = whatsapp_message_bird_phone // (optional)

#For Twilio
TWILIO_ACCOUNT_SID              = twilio_account_sid
TWILIO_AUTH_TOKEN               = twilio_auth_token

#For Telerivet
TELERIVET_API_KEY               = telerivet_api_key
TELERIVET_PROJECT_ID            = telerivet_project_id

#For Toky
TOKY_APP_KEY                    = toky_app_key
TOKY_APP_URL                    = toky_app_url

```

Then, create an array to send out the message like the following. It's as simple as that.

```
$data = [
    'to'        => '+959XXXXXXXX',
    'message'   => 'Testing',
    'service'   => 'twilio',
    'channel'   => 'whatsapp',
    'image_url' => 'www.example.com/example.jpg'
];
CarroMessenger::sendMessage($data);
```

The following services support for the error message and status report with programmable webhooks. You can read about each individual one by clicking the following list.

- [MessageBird](docs/message-bird.md)
- [Twilio](docs/twilio.md)
- [Telerivet](docs/telerivet.md)
- [Toky](docs/toky.md)

For other services that are not listed above, you may need to rely on events.

### Events

[](#events)

We are extending the Laravel's Notification to sent messages. Therefore, you can't see the success/error with an immediate response. In order to resolve this, we added an event name call `MessageWasSent`. The package will be sent to an event every time you sent the messages. But, you have to set `EVENT_IS_CALLED` as `true` in your `.env`. Then, you create a listener for that event and handle the result as your needs. You can also use [Laravel's Notification Event](https://laravel.com/docs/7.x/notifications#notification-events) as well.

Security
--------

[](#security)

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits
-------

[](#credits)

- [author name](https://github.com/carropublic)
- [All Contributors](../../contributors)

License
-------

[](#license)

license. Please see the [license file](license.md) for more information.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance55

Moderate activity, may be stable

Popularity30

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 86.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~116 days

Recently: every ~426 days

Total

17

Last Release

298d ago

Major Versions

1.0.3 → 2.0.02020-10-26

2.1.0 → 3.0.0-beta2021-06-07

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5352704?v=4)[Si Thu Aung](/maintainers/sithuaung)[@sithuaung](https://github.com/sithuaung)

![](https://www.gravatar.com/avatar/157df3dda57b84fda6cf5c2da53974dc7eb9299ce8e27fffb6b0b88112358491?d=identicon)[setkyar](/maintainers/setkyar)

![](https://www.gravatar.com/avatar/02779007c1c12011f139028969142b28581328997648153cdcc317fd2b9bd8cb?d=identicon)[aungkoko96](/maintainers/aungkoko96)

![](https://www.gravatar.com/avatar/b0bc8b5edf29364378ce6409db415a1ce7d0a181adc40ab6c3603d83806ffb8b?d=identicon)[danielnguyen1612](/maintainers/danielnguyen1612)

![](https://avatars.githubusercontent.com/u/169651273?v=4)[carro-tech](/maintainers/carro-tech)[@carro-tech](https://github.com/carro-tech)

![](https://www.gravatar.com/avatar/f2a97fcbee13f9514081883ddbd05ea295dfe71f62fa4b78421ad1a9f4e2d90f?d=identicon)[datpm.carro](/maintainers/datpm.carro)

---

Top Contributors

[![aungkoko](https://avatars.githubusercontent.com/u/9390795?v=4)](https://github.com/aungkoko "aungkoko (19 commits)")[![datpmwork](https://avatars.githubusercontent.com/u/9279315?v=4)](https://github.com/datpmwork "datpmwork (1 commits)")[![mgcsky](https://avatars.githubusercontent.com/u/23204906?v=4)](https://github.com/mgcsky "mgcsky (1 commits)")[![setkyar](https://avatars.githubusercontent.com/u/4435358?v=4)](https://github.com/setkyar "setkyar (1 commits)")

---

Tags

laravelCarroMessenger

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/carropublic-carromessenger/health.svg)

```
[![Health](https://phpackages.com/badges/carropublic-carromessenger/health.svg)](https://phpackages.com/packages/carropublic-carromessenger)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M194](/packages/laravel-ai)[moonshine/moonshine

Laravel administration panel

1.3k253.1k81](/packages/moonshine-moonshine)[api-platform/laravel

API Platform support for Laravel

58171.5k14](/packages/api-platform-laravel)[erag/laravel-lang-sync-inertia

A powerful Laravel package for syncing and managing language translations across backend and Inertia.js (Vue/React/Svelte) frontends, offering effortless localization, auto-sync features, and smooth multi-language support for modern Laravel applications.

4925.3k](/packages/erag-laravel-lang-sync-inertia)[ublabs/blade-simple-icons

A package to easily make use of Simple Icons in your Laravel Blade views.

1963.4k](/packages/ublabs-blade-simple-icons)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
