Download the PHP package glueful/conversa without Composer

On this page you can find all versions of the php package glueful/conversa. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package conversa

Conversa (SMS & WhatsApp) for Glueful

๐Ÿš€ Version 0.1.0 โ€” sms/whatsapp notification channels with swappable provider drivers (Twilio, Meta WhatsApp Cloud, log), a message log, delivery webhooks, idempotent direct sends, WhatsApp template send, and message-lifecycle events. Pre-release: the API is stable but not yet battle-tested in production.

Overview

Conversa is Glueful's phone-based messaging layer โ€” it registers sms and whatsapp notification channels and sends through swappable provider backends (Twilio and Meta WhatsApp Cloud API, with more to come). Applications send alerts, reminders, order updates, and customer messages without caring which provider is wired up underneath.

It completes Glueful's multi-channel notification story:

Extension Channel(s) Handles
glueful/email-notification email Transactional & notification email
glueful/notiva push Mobile & web push (FCM, APNs, Web Push)
glueful/conversa sms, whatsapp Phone-based messaging

Conversa provides the delivery means, not workflow logic. Just as email-notification registers an email channel for the framework's notification system to use, Conversa registers sms/whatsapp channels โ€” your application code decides what to send and when; Conversa delivers it and tracks the result (see Notification-system integration).

Why phone messaging

Features

Conversa is the delivery channel, not the workflow. Conversational features (inbound replies, threads, campaigns, contact lists, opt-in management) are tracked on the Roadmap.

Requirements

Installation

In production, manage the enabled list in config and run php glueful extensions:cache in your deploy step (production boots only from the compiled manifest).

Configuration

Conversa is configured via config/conversa.php (merged from the extension) and environment variables. Each channel selects a default driver; you can run SMS and WhatsApp on different providers.

Provider credentials

Only the drivers you actually use need credentials. When the driver selected for a channel is unavailable (missing credentials/sender), the send is recorded as a failed message and a MessageFailed event is dispatched โ€” the send path never crashes, and you can see the failure in the message log.

Provider drivers

Every provider implements one driver interface, so application code never depends on a specific vendor. Conversa ships with:

Driver key Provider SMS WhatsApp
twilio Twilio โœ… โœ…
whatsapp_cloud Meta WhatsApp Cloud API โ€” โœ…
log Logs the message instead of sending (dev/test default) โœ… โœ…

Driver availability is channel-aware: Twilio reports whatsapp as available only when CONVERSA_TWILIO_WHATSAPP_FROM is set, and sms only when CONVERSA_TWILIO_SMS_FROM is set โ€” so a one-channel Twilio setup never advertises the other channel.

More providers (e.g. Africa's Talking, Vonage) are planned behind the same interface โ€” see Roadmap.

Switching providers is a config change (CONVERSA_SMS_DRIVER / CONVERSA_WHATSAPP_DRIVER) โ€” no code changes. Adding a new provider means implementing the driver interface and registering it; the channels and public API are unchanged.

Notification-system integration

Conversa plugs into Glueful's notification system the same way email-notification does. It implements NotificationChannel for sms and whatsapp and registers both with the ChannelManager during boot, so anything that dispatches to those channels is delivered by Conversa:

Any NotificationDispatcher::send(..., ['sms']) (or ['whatsapp']) call โ€” from your own code or elsewhere in the framework โ€” routes through Conversa, which sends via the configured driver and records the result.

Endpoints

Base prefix: /conversa. Application endpoints require auth, explicit Conversa permissions, and rate limiting; webhook endpoints are public but signature/verify-token protected.

Method & path Purpose
POST /conversa/messages Send an SMS or WhatsApp message directly; requires conversa.messages.send and honours a user-scoped Idempotency-Key header
GET /conversa/messages Query the message log; requires conversa.messages.read, filterable by status / channel / to, paginated via page / per_page
GET /conversa/webhooks/{provider} Provider webhook handshake (e.g. Meta verify token)
POST /conversa/webhooks/{provider} Provider delivery-status callbacks

Direct HTTP sends require to to be an E.164 phone number such as +15551234567. HTTP idempotency keys are scoped to the authenticated user, so two users may safely use the same visible key without replaying each other's message.

Usage (PHP)

Via the notification system (preferred)

Because Conversa registers sms and whatsapp channels, any Notifiable that routes those channels receives phone messages through the same dispatcher used for email and push:

Direct send (one-off messages)

ConversaService::send() takes the channel, recipient, a payload array (exactly one of body or template), and optional opts (idempotency_key, from, meta). It returns a DriverResult (->ok, ->providerMessageId, ->error).

Delivery tracking

Every send is recorded in a conversa_messages table (created by the extension's migration), capturing at least:

Delivery webhooks (POST /conversa/webhooks/{provider}) update the stored state as providers report sent / delivered / failed, giving you an auditable record for support and reconciliation. The message-log API (GET /conversa/messages) queries this table.

Webhooks

Point each provider's status-callback / webhook URL at the matching path and Conversa reconciles delivery state automatically.

Roadmap

Conversa today is the sending + tracking core. Planned follow-ups:

Security considerations

Metadata

Troubleshooting


All versions of conversa with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package glueful/conversa contains the following files

Loading the files please wait ...