{"id":19009324,"date":"2026-09-02T08:12:58","date_gmt":"2026-09-02T08:12:58","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/frominator-send-entry-to-brevo\/"},"modified":"2026-09-02T08:47:28","modified_gmt":"2026-09-02T08:47:28","slug":"frominator-send-entry-to-brevo","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/frominator-send-entry-to-brevo\/","title":{"rendered":"Frominator send entry to brevo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hello i try to send entry to brevo (no integration dommage)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">but my custom code doesn&#8217;t works &#8230; i don&#8217;t understand why<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">add_action(&#8216;forminator_form_after_save_entry&#8217;, function($entry, $form) {<br \/>\/\/ Configuration<br \/>$form_id = 32; \/\/ My FORM<br \/>$api_key = &#8216;MYAPIKEY&#8217;; \/\/ \u00c0 remplacer<br \/>$list_id = 36; \/\/MY brevo list<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ R\u00e9cup\u00e8re les donn\u00e9es du formulaire<br \/>$meta_data = $entry-&gt;meta_data;<br \/><br \/>error_log('Forminator Entry Meta Data (Debug): ' . print_r($meta_data, true));<br \/><br \/>\/\/ V\u00e9rifie si la checkbox est coch\u00e9e<br \/>$checkbox_checked = isset($meta_data&#091;'checkbox-1']) &amp;&amp; !empty($meta_data&#091;'checkbox-1']);<br \/><br \/>if (!$checkbox_checked) {<br \/>    error_log('Brevo: Checkbox non coch\u00e9e, abandon');<br \/>    return;<br \/>}<br \/><br \/>\/\/ Extraction et sanitisation des champs CORRIG\u00c9S<br \/>$email = isset($meta_data&#091;'email-1']) ? sanitize_email($meta_data&#091;'email-1']) : '';<br \/>$prenom = isset($meta_data&#091;'name-1']) ? sanitize_text_field($meta_data&#091;'name-1']) : '';<br \/>$nom = isset($meta_data&#091;'name-2']) ? sanitize_text_field($meta_data&#091;'name-2']) : '';<br \/><br \/>if (!is_email($email)) {<br \/>    error_log('Brevo: Email invalide - ' . $email);<br \/>    return;<br \/>}<br \/><br \/>error_log('Brevo: Traitement - Email: ' . $email . ', Pr\u00e9nom: ' . $prenom . ', Nom: ' . $nom);<br \/><br \/>\/\/ Pr\u00e9pare le payload pour l'API Brevo<br \/>$payload = array(<br \/>    'email'           =&gt; $email,<br \/>    'firstName'       =&gt; $prenom,<br \/>    'lastName'        =&gt; $nom,<br \/>    'listIds'         =&gt; array((int)$list_id),<br \/>    'updateEnabled'   =&gt; true, \/\/ Mettre \u00e0 jour si le contact existe<br \/>);<br \/><br \/>\/\/ Appel API Brevo<br \/>$response = wp_remote_post('https:\/\/api.brevo.com\/v3\/contacts', array(<br \/>    'method'  =&gt; 'POST',<br \/>    'headers' =&gt; array(<br \/>        'api-key'      =&gt; $api_key,<br \/>        'Content-Type' =&gt; 'application\/json',<br \/>    ),<br \/>    'body'    =&gt; wp_json_encode($payload),<br \/>    'timeout' =&gt; 15,<br \/>));<br \/><br \/>\/\/ Traitement de la r\u00e9ponse<br \/>if (is_wp_error($response)) {<br \/>    error_log('Brevo API Error: ' . $response-&gt;get_error_message());<br \/>    return;<br \/>}<br \/><br \/>$status_code = wp_remote_retrieve_response_code($response);<br \/>$response_body = wp_remote_retrieve_body($response);<br \/><br \/>if ($status_code &gt;= 200 &amp;&amp; $status_code &lt; 300) {<br \/>    \/\/ Succ\u00e8s<br \/>    error_log('\u2705 Brevo: Contact ajout\u00e9\/mis \u00e0 jour - ' . $email);<br \/>} else {<br \/>    \/\/ Erreur API<br \/>    error_log('\u274c Brevo API Error (' . $status_code . '): ' . $response_body);<br \/>}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}, 10, 2);<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But i don&#8217;t understand nothing was sended to brevo and i didn&#8217;t have anything in wplog &#8230;.<br \/>thanks for any help<\/p>\n","protected":false},"template":"","class_list":["post-19009324","topic","type-topic","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19009324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":1,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19009324\/revisions"}],"predecessor-version":[{"id":19009327,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19009324\/revisions\/19009327"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=19009324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}