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

Contact Form 7 (CF7) yako inaongeza mawasiliano kwenye Brevo lakini inashindwa kutuma barua pepe za karibu (welcome emails). Umeangalia kila kitu. Mawasiliano yanaonekana kwenye orodha yako. Timu ya msaada ya Brevo haioni maombi yoyote ya barua pepe kutoka kwenye tovuti yako.

Tatizo si mgongano wa plugin. Ni ukomo wa muunganisho uliomo ndani (built-in integration).

CF7 hutumia API call moja kuongeza mawasiliano kwenye Brevo. Inatumia contacts endpoint. Hii inafanya kazi vizuri.

Kutuma barua pepe ya karibu kunahitaji API call tofauti. Lazima itumie transactional email endpoint. CF7 haifanyi API call hii ya pili. Muunganisho uliomo ndani unakosa kipengele hiki.

Kitufe cha "Send a welcome email" kwenye mipangilio ya CF7 kinachanganya. Inaelekea kinawasha tu barua pepe za uthibitisho za kiwango cha orodha (list-level confirmation emails) za Brevo. Hakichochei template yako maalum ya transactional.

Una njia mbili za kurekebisha hili.

Chaguo la 1: Tumia function ya PHP

Unaweza kuunganisha (hook) kwenye tukio la CF7 submission. Hii inakuwezesha kutuma API call inayohitajika kwa njia ya mkono.

Tumia muundo huu wa kodi:

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,
    ]);
}

Chaguo la 2: Tumia plugin maalum

Ikiwa hutaki kusimamia kodi, tumia plugin kama Contact Form to API. Hii inaunganisha CF7 moja kwa moja na Brevo transactional endpoint kupitia dashboard yako. Unapanga (map) sehemu zako (fields) na kuweka template ID yako bila kuandika PHP.

Ukaguzi wa mwisho: Hakikisha hali ya template yako ya Brevo ni "Active." Brevo haitatuma barua pepe kwa template ambazo zipo kwenye hali ya rasimu (draft).

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