Bonjour,
Je suis débutant, désolé si ma question n’est pas très pertinente.
Je voudrais appeler un point de terminaison Brevo à partir d’un plug in personnalisé en PHP sous OVH.
A l’exécution de la première instruction, OVH me retourne une erreur : « La réponse n’est pas une réponse JSON valide. »
require_once DIR . ‹ /vendor/autoload.php › ;
Mon plug in se trouve dans le répertoire root /vvr /wp-content /plugins mais je ne vois pas de répertoire /vendor
Merci de votre aide.
<?php
/*
* Plugin Name: Notif Publish
* Description: Notifie les abonnés des nouvelles publications
* Author: Bertrand
* Version: 2.0
*/
// Notification automatique aux abonnés lorsqu'un article passe au statut Publié
function wpr_AbonnesNotification($post_id) {
$post = get_post($post_id);
$mytype = $post->post_type;
// on envoie une notif pour les articles mais pas pour les pages et autres
if($mytype == 'post') {
$message = "
Bonjour,
Un nouvel article intitulé \"".$post->post_title."\" vient d'être publié sur le site des VVR.
Bonne lecture !
https://vieillesvoilesderhuys.org/
";
// envoi 1 email sur mon gmail
wp_mail('abc@gmail.com', 'VVR - Nouvel article publié', $message);
// envoi de la campagne Brevo aux abonnés de la liste
require_once(__DIR__ . '/vendor/autoload.php');
// Nom de la clé générée : Key_API_BREVO_Notif
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', 'mykey');
$apiInstance = new SendinBlue\Client\Api\EmailCampaignsApi(
new GuzzleHttp\Client(),
$config
);
$campaignId = 5;
try {
$apiInstance->sendEmailCampaignNow($campaignId);
} catch (Exception $e) {
echo 'Erreur sur appel EmailCampaignsApi->sendEmailCampaignNow: ', $e->getMessage(), PHP_EOL;
}
}; // end if
}; // end function
add_action('new_to_publish', 'wpr_AbonnesNotification'); // créé à publié
add_action('draft_to_publish', 'wpr_AbonnesNotification'); // brouillon à publié
add_action('pending_to_publish', 'wpr_AbonnesNotification'); // en attente à publié
?>