splashifypro / sdk
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,
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
This package is auto-updated.
Last update: 2026-05-03 19:17:09 UTC
README
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
-
Sign in to your Splashify Pro account at app.splashifypro.com. No account yet? Sign up free.
-
Open the Settings dialog (gear icon, top right) → click the Developer tile. Direct link: app.splashifypro.com/settings/developer
-
Under API Keys, click Generate Secret Key.
-
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. -
Use it as the
SPLASHIFY_API_KEYenvironment 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
- Issues / bug reports: github.com/splashifypro/sdk-php/issues
- Documentation: docs.splashifypro.com/public-api
- Email support: support@splashifypro.in
License
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.