Spaces:
Runtime error
Runtime error
Download scripts/verifier_brevo.sh from rahim237cm/jurix-api: direct link, hf CLI and curl.
- Browser
- Download file 3.13 kB
-
https://huggingface.co/spaces/rahim237cm/jurix-api/resolve/main/scripts/verifier_brevo.sh
- Command line
-
hf download hf://spaces/rahim237cm/jurix-api/scripts/verifier_brevo.sh
-
curl -L -o verifier_brevo.sh https://huggingface.co/spaces/rahim237cm/jurix-api/resolve/main/scripts/verifier_brevo.sh
3.13 kB
| # Verifie que la configuration Brevo fonctionne, SANS jamais afficher la cle. | |
| # | |
| # Lit .env (chmod 600, ignore par git). N'ecrit rien, n'envoie aucun message : | |
| # il interroge le compte et la liste des expediteurs, et dit ce qui manque. | |
| # | |
| # Usage : bash scripts/verifier_brevo.sh | |
| set -uo pipefail | |
| cd "$(dirname "$0")/.." || exit 1 | |
| [ -f .env ] || { echo "✗ Aucun fichier .env ici."; exit 1; } | |
| # shellcheck disable=SC1091 | |
| set -a; . ./.env; set +a | |
| if [ -z "${BREVO_API_KEY:-}" ]; then | |
| echo "✗ BREVO_API_KEY est vide dans .env." | |
| echo " Tableau de bord Brevo : Settings > SMTP & API > API Keys > Generate a new API key" | |
| exit 1 | |
| fi | |
| echo "✓ BREVO_API_KEY presente (${#BREVO_API_KEY} caracteres, non affichee)" | |
| # ---- 1. La cle est-elle acceptee ? ---- | |
| compte=$(curl -s -w '\n%{http_code}' https://api.brevo.com/v3/account \ | |
| -H "api-key: ${BREVO_API_KEY}" -H 'accept: application/json') | |
| code=$(printf '%s' "$compte" | tail -1) | |
| corps=$(printf '%s' "$compte" | sed '$d') | |
| case "$code" in | |
| 200) echo "✓ Cle acceptee par Brevo" ;; | |
| 401) echo "✗ Cle refusee (401). Elle n'est visible qu'a la creation : si elle a ete perdue, il faut en generer une autre."; exit 1 ;; | |
| *) echo "✗ Reponse inattendue ($code) : $(printf '%s' "$corps" | head -c 200)"; exit 1 ;; | |
| esac | |
| # Credits restants du jour, s'ils sont exposes. | |
| restants=$(printf '%s' "$corps" | grep -o '"credits":[0-9]*' | head -1 | cut -d: -f2) | |
| [ -n "$restants" ] && echo " credits annonces : $restants" | |
| # ---- 2. L'expediteur est-il VERIFIE ? ---- | |
| # C'est le point qui bloque le plus souvent : la cle est bonne, mais l'envoi | |
| # echoue parce que l'adresse d'expedition n'a jamais ete validee par son lien. | |
| if [ -z "${BREVO_SENDER_EMAIL:-}" ]; then | |
| echo "✗ BREVO_SENDER_EMAIL est vide. Sans expediteur, rien ne peut partir." | |
| exit 1 | |
| fi | |
| expediteurs=$(curl -s https://api.brevo.com/v3/senders \ | |
| -H "api-key: ${BREVO_API_KEY}" -H 'accept: application/json') | |
| if printf '%s' "$expediteurs" | grep -qiF "\"${BREVO_SENDER_EMAIL}\""; then | |
| echo "✓ Expediteur ${BREVO_SENDER_EMAIL} declare dans Brevo" | |
| # `active: true` signifie que le lien de validation a bien ete clique. | |
| if printf '%s' "$expediteurs" | tr '}' '\n' | grep -iF "${BREVO_SENDER_EMAIL}" | grep -q '"active":true'; then | |
| echo "✓ Expediteur VERIFIE — l'envoi est possible" | |
| else | |
| echo "✗ Expediteur declare mais NON verifie." | |
| echo " Brevo a envoye un lien de validation a ${BREVO_SENDER_EMAIL} : il faut cliquer dessus." | |
| fi | |
| else | |
| echo "✗ ${BREVO_SENDER_EMAIL} n'est pas dans la liste des expediteurs." | |
| echo " Brevo : Senders, Domains & Dedicated IPs > Senders > Add a sender" | |
| printf ' Adresses declarees : %s\n' "$(printf '%s' "$expediteurs" | grep -o '"email":"[^"]*"' | cut -d'"' -f4 | paste -sd', ')" | |
| fi | |
| # ---- 3. Le lien des courriels pointe-t-il quelque part ? ---- | |
| if [ -z "${FRONTEND_BASE_URL:-}" ]; then | |
| echo "✗ FRONTEND_BASE_URL est vide : aucun message porteur d'un lien ne partira." | |
| echo " C'est voulu — mieux vaut ne rien envoyer qu'expedier un lien mort." | |
| else | |
| echo "✓ FRONTEND_BASE_URL = ${FRONTEND_BASE_URL}" | |
| fi | |