REST endpoints for two product surfaces: 1. **Public API** under /public/_* — WhatsApp messaging, contacts, conversations, transactional email, Meta Conversions API. Authenticate with sk_live_… keys. 2. **Partner Email API** under /partner/email/_* — AWS-SES-shaped resold email platform: identities,

Maintainers

Package info

github.com/splashifypro/sdk-php

Homepage

pkg:composer/splashifypro/sdk

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-05-03 19:17 UTC

This package is auto-updated.

Last update: 2026-05-03 19:17:09 UTC


README

Packagist PHP docs license

Official PHP SDK for the Splashify Pro API — send WhatsApp messages, transactional emails, manage contacts and conversations, and fire Meta Conversions events from your PHP application (Laravel, Symfony, WordPress, plain PHP — all supported).

Install

composer require splashifypro/sdk

Requires PHP 8.1+.

Get your API key

  1. Sign in to your Splashify Pro account at app.splashifypro.com. No account yet? Sign up free.

  2. Open the Settings dialog (gear icon, top right) → click the Developer tile. Direct link: app.splashifypro.com/settings/developer

  3. Under API Keys, click Generate Secret Key.

  4. Copy the key shown (starts with sk_live_…) and store it somewhere secure — it's shown only once. If you lose it, generate a new one and the old one stops working.

  5. Use it as the SPLASHIFY_API_KEY environment variable in your app. Never commit it to git or paste it into client-side code — the key carries full account access.

Tip: Set up a webhook URL on the same page to receive delivery / read receipts and inbound message events.

Authentication

The SDK uses HTTP Basic with the API key as the username:

<?php
require 'vendor/autoload.php';

use Splashifypro\Configuration;
use Splashifypro\Api\MessagesApi;
use GuzzleHttp\Client;

$config = Configuration::getDefaultConfiguration()
    ->setUsername(getenv('SPLASHIFY_API_KEY'));

$messages = new MessagesApi(new Client(), $config);

Quickstart — send a WhatsApp text

$result = $messages->publicMessagePost([
    'type' => 'Text',
    'countryCode' => '+91',
    'phoneNumber' => '9999999999',
    'data' => ['message' => 'Hi! Thanks for reaching out 👋'],
]);

echo $result['id']; // message_id — use to poll status / correlate webhooks

Send a WhatsApp template

$messages->publicMessagePost([
    'type' => 'Template',
    'countryCode' => '+91',
    'phoneNumber' => '9999999999',
    'template' => [
        'name' => 'order_confirmation',
        'languageCode' => 'en',
        'bodyValues' => ['Sayan', 'ORD-1042', '₹1,499'],
        'buttonValues' => ['0' => ['https://shop.example.com/orders/1042']],
    ],
]);

Send a transactional email

Requires a verified sender domain. Set up at https://app.splashifypro.com/settings/email-domain.

use Splashifypro\Api\EmailApi;

$email = new EmailApi(new Client(), $config);

$email->publicEmailSendPost([
    'to' => 'customer@example.com',
    'subject' => 'Your receipt for Order #1042',
    'html' => '<h1>Thanks!</h1><p>Order #1042 confirmed.</p>',
    'text' => 'Thanks! Order #1042 confirmed.',
    'from_email' => 'billing@yourdomain.com',
    'from_name' => 'Acme Inc.',
]);

Available APIs

Class What it does
MessagesApi Send WhatsApp messages (text, template, media, interactive)
EmailApi Send transactional + templated emails
ContactsApi List + filter contacts
ConversationsApi Assign chats to team members
MetaConversionsApi Fire Meta Pixel / Conversions API events

Full reference, request/response shapes, and per-endpoint examples: https://docs.splashifypro.com/public-api

Laravel example

// In a service or controller
use Splashifypro\Configuration;
use Splashifypro\Api\MessagesApi;
use GuzzleHttp\Client;

class WhatsAppService
{
    private MessagesApi $messages;

    public function __construct()
    {
        $config = Configuration::getDefaultConfiguration()
            ->setUsername(config('services.splashifypro.key'));
        $this->messages = new MessagesApi(new Client(), $config);
    }

    public function sendOtp(string $phone, string $code): void
    {
        $this->messages->publicMessagePost([
            'type' => 'Template',
            'phoneNumber' => $phone,
            'template' => [
                'name' => 'verification_code',
                'languageCode' => 'en',
                'bodyValues' => [$code],
            ],
        ]);
    }
}

Add to config/services.php:

'splashifypro' => [
    'key' => env('SPLASHIFY_API_KEY'),
],

Error handling

use Splashifypro\ApiException;

try {
    $result = $messages->publicMessagePost([...]);
} catch (ApiException $e) {
    error_log("HTTP " . $e->getCode() . ": " . $e->getResponseBody());
}

Rate limits

Per-key limits depend on your plan tier. Hitting the limit returns HTTP 429 — the response body includes Retry-After. Tier and current consumption are visible at https://app.splashifypro.com/settings/developer.

Support

License

MIT

This SDK is auto-generated from the official OpenAPI specification. Pull requests for SDK-side improvements (typing, ergonomic wrappers, framework adapters, etc.) are welcome; underlying API changes should be filed against the documentation site.