𝗖𝗙𝟳 𝗕𝗿𝗲𝘃𝗼 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗜𝘀𝘀𝘂𝗲: 𝗪𝗵𝘆 𝗪𝗲𝗹𝗰𝗼𝗺𝗲 𝗘𝗺𝗮𝗶𝗹𝘀 𝗙𝗮𝗶𝗹

Contact Form 7 (CF7) Anda menambahkan kontak ke Brevo tetapi gagal mengirimkan email selamat datang. Anda sudah memeriksa segalanya. Kontak muncul di daftar Anda. Tim dukungan Brevo tidak melihat adanya permintaan email dari situs Anda.

Masalahnya bukan karena konflik plugin. Ini adalah keterbatasan dari integrasi bawaan.

CF7 menggunakan satu panggilan API untuk menambahkan kontak ke Brevo. Ini mengakses endpoint kontak. Hal ini berjalan dengan baik.

Mengirim email selamat datang memerlukan panggilan API yang berbeda. Ia harus mengakses endpoint email transaksional. CF7 tidak melakukan panggilan kedua ini. Integrasi bawaannya memang tidak memiliki fitur ini.

Kotak centang "Send a welcome email" di pengaturan CF7 menyesatkan. Kemungkinan besar ini hanya memicu email konfirmasi tingkat daftar (list-level) milik Brevo. Ini tidak memicu template transaksional kustom Anda.

Anda memiliki dua cara untuk memperbaikinya.

Opsi 1: Gunakan fungsi PHP

Anda dapat menggunakan hook pada event pengiriman CF7. Ini memungkinkan Anda untuk mengirimkan panggilan API yang diperlukan secara manual.

Gunakan struktur kode ini:

add_action('wpcf7_before_send_mail', 'send_brevo_welcome_email');

function send_brevo_welcome_email($contact_form) {
    if ((int) $contact_form->id() !== YOUR_FORM_ID) return;

    $submission = WPCF7_Submission::get_instance();
    if (!$submission) return;

    $data = $submission->get_posted_data();
    $email = sanitize_email($data['your-email'] ?? '');
    $name = sanitize_text_field($data['your-name'] ?? '');

    if (empty($email)) return;

    $api_key = defined('BREVO_API_KEY') ? BREVO_API_KEY : '';
    $template_id = 12; 

    wp_remote_post('https://api.brevo.com/v3/smtp/email', [
        'headers' => [
            'api-key' => $api_key,
            'Content-Type' => 'application/json',
        ],
        'body' => wp_json_encode([
            'templateId' => $template_id,
            'to' => [['email' => $email, 'name' => $name]],
            'params' => ['FIRSTNAME' => $name],
        ]),
        'timeout' => 15,
    ]);
}

Opsi 2: Gunakan plugin khusus

Jika Anda tidak ingin mengelola kode, gunakan plugin seperti Contact Form to API. Plugin ini menghubungkan CF7 secara langsung ke endpoint transaksional Brevo melalui dashboard Anda. Anda dapat memetakan field dan mengatur template ID tanpa menulis PHP.

Satu pemeriksaan terakhir: Pastikan status template Brevo Anda adalah "Active". Brevo tidak akan mengirim email untuk template yang berstatus draft.

Sumber: https://dev.to/rahul_sharma_15bd129bc69e/cf7-brevo-integration-adds-contacts-but-never-sends-the-welcome-email-here-is-why-1e18