- Typed exceptions: LeadMailException base with LeadMailRequestException (structured statusCode/errorCode/logId/validationErrors) and LeadMailConnectionException; sendEmail/getDomains now throw these instead of raw Guzzle exceptions, and a malformed body is no longer a silent null. - Automatic retry with exponential backoff on idempotent calls (getDomains, verifyEmail); sends are never retried to avoid duplicates. - Webhook receiver: auto-registered route + LeadMailWebhookController that verifies the HMAC signature, logs failures, and dispatches a LeadMailWebhookReceived event. WebhookSignature/WebhookEvent/LeadMailWebhook helpers for manual handling. - Webhook self-registration client methods (registerWebhook/getWebhook/ deleteWebhook) and a promptless `leadmail:install` command that registers the URL and writes LEADMAIL_WEBHOOK_SECRET to .env. - Null-safe client binding when LEADMAIL_TOKEN is unset. - Test suite (Pest + Testbench) covering all of the above.
57 lines
1.5 KiB
JSON
57 lines
1.5 KiB
JSON
{
|
|
"name": "leadm/leadmail",
|
|
"description": "Laravel SDK for leadMail email sending and verification service",
|
|
"type": "library",
|
|
"license": "MIT",
|
|
"homepage": "https://git.leadmagnet.dev/LeadMagnet/leadmail-sdk",
|
|
"authors": [
|
|
{
|
|
"name": "Lead Magnet Oy",
|
|
"homepage": "https://leadmagnet.fi"
|
|
}
|
|
],
|
|
"support": {
|
|
"issues": "https://git.leadmagnet.dev/LeadMagnet/leadmail-sdk/issues",
|
|
"source": "https://git.leadmagnet.dev/LeadMagnet/leadmail-sdk"
|
|
},
|
|
"require": {
|
|
"php": "^8.2",
|
|
"guzzlehttp/guzzle": "^7.0",
|
|
"illuminate/console": "^11.0|^12.0|^13.0",
|
|
"illuminate/http": "^11.0|^12.0|^13.0",
|
|
"illuminate/mail": "^11.0|^12.0|^13.0",
|
|
"illuminate/support": "^11.0|^12.0|^13.0"
|
|
},
|
|
"require-dev": {
|
|
"orchestra/testbench": "^9.0|^10.0|^11.0",
|
|
"pestphp/pest": "^3.0|^4.0"
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"LeadM\\LeadMail\\": "src/"
|
|
}
|
|
},
|
|
"autoload-dev": {
|
|
"psr-4": {
|
|
"LeadM\\LeadMail\\Tests\\": "tests/"
|
|
}
|
|
},
|
|
"extra": {
|
|
"laravel": {
|
|
"providers": [
|
|
"LeadM\\LeadMail\\LeadMailServiceProvider"
|
|
],
|
|
"aliases": {
|
|
"LeadMail": "LeadM\\LeadMail\\LeadMailFacade"
|
|
}
|
|
}
|
|
},
|
|
"minimum-stability": "dev",
|
|
"prefer-stable": true,
|
|
"config": {
|
|
"allow-plugins": {
|
|
"pestphp/pest-plugin": true
|
|
}
|
|
}
|
|
}
|