Skip to main content
Use a secret key client for segments methods.
<?php

use Mailrify\Mailrify;

$client = new Mailrify($_ENV['MAILRIFY_SECRET_KEY']);

List segments (segments->list)

<?php

$segments = $client->segments->list();
echo count($segments) . PHP_EOL;

Create a segment (segments->create)

<?php

$segment = $client->segments->create([
    'name' => 'Premium users',
    'description' => 'Users on paid plans',
    'condition' => [
        'logic' => 'AND',
        'groups' => [
            [
                'filters' => [
                    ['field' => 'data.plan', 'operator' => 'equals', 'value' => 'premium'],
                ],
            ],
        ],
    ],
    'trackMembership' => true,
]);

echo $segment->id . PHP_EOL;
echo $segment->memberCount . PHP_EOL;

Get one segment (segments->get)

<?php

$existing = $client->segments->get($segment->id);
echo $existing->name . PHP_EOL;

Update a segment (segments->update)

<?php

$updated = $client->segments->update($segment->id, [
    'name' => 'VIP users',
    'condition' => [
        'logic' => 'AND',
        'groups' => [
            [
                'filters' => [
                    ['field' => 'subscribed', 'operator' => 'equals', 'value' => true],
                ],
            ],
        ],
    ],
]);

echo $updated->name . PHP_EOL;

List segment contacts (segments->listContacts)

<?php

$members = $client->segments->listContacts($segment->id, [
    'page' => 1,
    'pageSize' => 20,
]);

echo $members['total'] . PHP_EOL;
echo $members['page'] . PHP_EOL;
echo count($members['contacts']) . PHP_EOL;

Delete a segment (segments->delete)

<?php

$client->segments->delete($segment->id);
See full details in the Segments API reference.