chimpmatic/mailchimp-api-key-validator
最新稳定版本:v1.0.0
Composer 安装命令:
composer require chimpmatic/mailchimp-api-key-validator
包简介
Validate Mailchimp API key format, detect common errors (whitespace, missing datacenter suffix), and verify connectivity.
README 文档
README
Validate Mailchimp API key format, detect common errors, and optionally verify connectivity — all without hitting the Mailchimp API until you're ready.
Author: Chimpmatic
Why This Exists
The most common support request for any Mailchimp integration is "Invalid API Key." The causes are always the same:
- Extra whitespace when pasting
- Missing datacenter suffix (
-us4) - Truncated key (copied only part of it)
- Revoked or disabled key
This library catches all of these before making an API call, giving your users clear error messages instead of a generic failure.
Need to get your Mailchimp API key first? See How to Get Your Mailchimp API Key for a one-click shortcut.
Installation
composer require chimpmatic/mailchimp-api-key-validator
Quick Start
use Chimpmatic\MailchimpKeyValidator\ApiKeyValidator; $validator = new ApiKeyValidator(); // Format validation (no network call) $result = $validator->validate('aaaaaaaaaabbbbbbbbbbccccccccccdd-us4'); if ($result->isValid()) { echo $result->getDatacenter(); // "us4" echo $result->getHash(); // "aaaaaaaaaabbbbbbbbbbccccccccccdd" } else { foreach ($result->getErrors() as $error) { echo $error; } }
Connectivity Verification
Optionally verify the key works against the Mailchimp API (requires curl):
$result = $validator->verifyConnectivity('aaaaaaaaaabbbbbbbbbbccccccccccdd-us4'); if ($result->isValid()) { echo 'Connected to Mailchimp!'; echo $result->getHttpStatus(); // 200 }
What It Catches
| Issue | Detection | Message |
|---|---|---|
| Empty key | Format check | API key is empty. |
| Leading/trailing whitespace | Format check | Warning + auto-trim |
| Internal whitespace | Format check | Key contains whitespace characters. |
Missing -us4 suffix |
Format check | Missing datacenter suffix. |
| Wrong hash length | Format check | Key hash is N characters, expected 32. |
| Non-hex characters | Format check | Key hash contains non-hexadecimal characters. |
| Invalid datacenter format | Format check | Datacenter "X" does not match expected format. |
| Unknown datacenter | Format check | Warning (may be newer DC) |
| Revoked/disabled key | Connectivity check | API key is rejected by Mailchimp. |
| Insufficient permissions | Connectivity check | API key lacks sufficient permissions. |
ValidationResult API
$result->isValid(); // bool — true if no errors $result->getErrors(); // string[] — list of error messages $result->getWarnings(); // string[] — list of warning messages $result->hasWarnings(); // bool — true if warnings exist $result->getSanitizedKey(); // string — trimmed key $result->getHash(); // ?string — 32-char hex hash or null $result->getDatacenter(); // ?string — datacenter ID or null $result->getHttpStatus(); // ?int — HTTP status from connectivity check $result->getSummary(); // string — human-readable summary
Requirements
- PHP 7.4 or higher
curlextension (only forverifyConnectivity())
Testing
composer test
Or run PHPUnit directly:
vendor/bin/phpunit
Links
License
MIT License. Copyright (c) 2026 Chimpmatic.
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-17