sendmux / core
Shared runtime helpers for Sendmux PHP SDK packages.
v2.1.0
2026-09-11 03:22 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.10
- psr/http-message: ^2.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-11 03:23:11 UTC
README
Shared runtime helpers for Sendmux PHP SDK packages.
Read the PHP SDK guide at sendmux.ai/docs/sdks/php.
Requirements
- PHP 8.2 or newer.
- Composer.
Installation
composer require sendmux/core:^2.1
Upgrading from 1.x? Read the PHP 2.0 migration guide before changing your Composer constraint.
Usage
Use sendmux/core directly when you need the shared helper layer without a generated API client.
<?php require __DIR__ . '/vendor/autoload.php'; use Sendmux\Core\ApiKeySurface; use Sendmux\Core\Auth; use Sendmux\Core\Headers; use Sendmux\Core\RetryOptions; $apiKey = getenv('SENDMUX_MAILBOX_API_KEY') ?: ''; Auth::assertApiKeySurface($apiKey, ApiKeySurface::Mailbox); $headers = array_merge( Headers::idempotency('order-123'), Headers::conditional(ifMatch: '"mailbox-etag"') ); $retryOptions = new RetryOptions(maxAttempts: 3);
Features
Authvalidatessmx_root_prefixes for root clients, send-capablesmx_mbx_prefixes or owner-approved Sending-resourcesmx_agent_tokens for Sending clients, and mailbox-compatiblesmx_mbx_orsmx_agent_prefixes for Mailbox clients.HeadersbuildsIdempotency-Key,If-Match, andIf-None-Matchheader arrays.Pagination::iterate()streams cursor-paginated responses.Auth::accessTokenMiddleware()validates a bare OAuth token or callable provider and adds the bearer header per attempt.RetryMiddlewarehonoursRetry-After,X-RateLimit-Resetand expliciterror.retryable: false.maxDelayMillisecondscaps local backoff only;RetryOptions(maxElapsedMilliseconds: 5000)stops retries that would exceed the budget and returns the last response with its retry metadata. The budget does not interrupt an in-flight request; configure transport timeouts separately.ErrorMappermaps generated exceptions intoSendmuxApiError.
Package map
| Package | Use it for |
|---|---|
sendmux/sending |
Sending API client. |
sendmux/mailbox |
Mailbox API client. |
sendmux/management |
Management API client. |
sendmux/sdk |
Umbrella package that installs all PHP SDK surfaces. |
Support
For help, include the package name, version, API surface, and sanitised request details. Do not include API keys, tokens, passwords, webhook secrets, customer data, or private account details.
- SDK docs: sendmux.ai/docs/sdks/php
- API keys guide: sendmux.ai/docs/guides/api-keys
- Source repository: github.com/Sendmux/sendmux-sdk
License
MIT. See LICENSE.