Інтеграція email-рассилки (Mailchimp)
Mailchimp — міжнародний лідер email-маркетингу з потужним редактором шаблонів, автоматизаціями та розвиненим API. Підходить для проектів, орієнтованих на західні ринки.
Додавання підписника через Marketing API
// composer require mailchimp/marketing
$mailchimp = new \MailchimpMarketing\ApiClient();
$mailchimp->setConfig([
'apiKey' => env('MAILCHIMP_API_KEY'),
'server' => env('MAILCHIMP_SERVER_PREFIX') // 'us1', 'eu2', etc.
]);
try {
$mailchimp->lists->addListMember(env('MAILCHIMP_LIST_ID'), [
'email_address' => $email,
'status' => 'subscribed', // або 'pending' для double opt-in
'merge_fields' => [
'FNAME' => $firstName,
'LNAME' => $lastName
],
'tags' => ['website', 'organic']
]);
} catch (\GuzzleHttp\Exception\ClientException $e) {
// 400 — якщо email вже існує, перевірити статус
}
Upsert підписника
Якщо контакт вже існує — використовується MD5-хеш email:
$subscriberHash = md5(strtolower($email));
$mailchimp->lists->setListMember(env('MAILCHIMP_LIST_ID'), $subscriberHash, [
'email_address' => $email,
'status_if_new' => 'subscribed',
'merge_fields' => ['FNAME' => $firstName]
]);
Трансакційні листи через Mandrill (Mailchimp Transactional)
Mandrill — трансакційний email-сервіс Mailchimp. Шаблони зберігаються в Mandrill, листи відправляються через API:
$mandrill = new \Mandrill(env('MANDRILL_API_KEY'));
$mandrill->messages->sendTemplate('order-confirmation', [
['name' => 'ORDER_ID', 'content' => $orderId],
['name' => 'ORDER_TOTAL','content' => $orderTotal]
], [
'to' => [['email' => $to]],
'subject' => "Замовлення #{$orderId} підтверджено"
]);
События та автоматизації
Mailchimp Customer Journeys запускаються через API-события:
$mailchimp->lists->createListMemberEvent(
env('MAILCHIMP_LIST_ID'),
md5(strtolower($email)),
['name' => 'purchase', 'properties' => ['amount' => 1500]]
);
Тривалість інтеграції: 1 робочий день для базової підписки + трансакційних листів.







