Back to Docs

Php SDK

Official MailPass SDK for Php

Installation

composer require mailpass/mailpass-php

Quick Start — OTP Send & Verify

<?php
use MailPass\Client;

$client = new Client('mp_live_your_api_key_here');

// Send OTP
$response = $client->otp->send([
    'email' => 'user@example.com',
    'purpose' => 'login',
]);
echo $response['request_id'];

// Verify OTP
$result = $client->otp->verify([
    'request_id' => $response['request_id'],
    'otp' => '123456',
]);

if ($result['success']) {
    echo 'Verified! ' . $result['email'];
}

Subscribers — List & Create

// List subscribers
$subscribers = $client->subscribers->list([
    'list_id' => 1,
    'page' => 1,
    'per_page' => 20,
]);
foreach ($subscribers['data'] as $sub) {
    echo $sub['email'] . ' ' . $sub['status'] . "\n";
}

// Create subscriber
$newSub = $client->subscribers->create([
    'email' => 'new@example.com',
    'name' => 'Jane Doe',
    'list_id' => 1,
    'tags' => ['newsletter'],
    'double_optin' => true,
]);
echo $newSub['data']['uuid'];

Error Handling

use MailPass\Exception\ApiException;
use MailPass\Exception\ValidationException;
use MailPass\Exception\RateLimitException;

try {
    $response = $client->otp->send(['email' => 'user@example.com']);
} catch (ValidationException $e) {
    echo "Validation: " . $e->getMessage() . "\n";
    print_r($e->getDetails());
} catch (RateLimitException $e) {
    echo "Rate limited. Retry after " . $e->getRetryAfter() . "s\n";
} catch (ApiException $e) {
    echo "API error [{$e->getErrorCode()}]: {$e->getMessage()}\n";
}

For the full API reference, see the API Documentation or the interactive Swagger UI.

Nous utilisons des cookies

Nous utilisons des cookies pour améliorer votre expérience. Vous pouvez choisir les catégories de cookies à autoriser. En savoir plus