feat(admin): canaux IA par palier (z.ai/DeepSeek directs), emails generes par IA, reductions Stripe
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m40s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m40s
- Chaque modele d'un palier devient une route {canal, modele} : openrouter,
deepseek direct, zhipu (z.ai, nouveau canal), minimax, openai, xai ;
repli automatique sur la route suivante si la cle manque, compatibilite
ascendante avec les anciens reglages a chaines
- Page Fournisseurs refondue en sections ; interrupteurs et chaine de
secours retablis ; tests de connexion avec delai d'attente
- Emails de relance generes par IA (canal au choix, prompt construit depuis
le plan marketing, HTML sane, RTL arabe/persan, jamais d'envoi automatique)
- Codes promo : validation locale avant Stripe, Coupon+PromotionCode avec
double plafond, comptage par session (webhook+sync=1 fois), ecriture
atomique, relier-a-Stripe, suppression, validation publique au checkout
- Page Tarifs : champ code promo (?promo=) avec verification traduite
- Tests : 1357 verts (facturation par palier testee dans le worker,
point de contact providers/available, promos, generation)
This commit is contained in:
30
.env.example
30
.env.example
@@ -71,6 +71,36 @@ OPENAI_HEALTH_CHECK_TIMEOUT=5
|
||||
OPENROUTER_API_KEY=
|
||||
OPENROUTER_MODEL=deepseek/deepseek-chat
|
||||
|
||||
# DeepSeek Configuration (API directe, compatible OpenAI). Optional. If absent: provider disabled.
|
||||
# NOTE: pour le routage par palier (page « Modèles & abonnements ») et la
|
||||
# génération d'emails, la clé API seule suffit (réglage admin ou DEEPSEEK_API_KEY).
|
||||
# Les bascules *_ENABLED ne concernent que l'ancienne chaîne de secours du registre.
|
||||
# Get API key from: https://platform.deepseek.com/api_keys
|
||||
DEEPSEEK_ENABLED=false
|
||||
DEEPSEEK_API_KEY=
|
||||
DEEPSEEK_MODEL=deepseek-chat
|
||||
# DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
|
||||
|
||||
# z.ai / Zhipu Configuration (modèles GLM — API directe compatible OpenAI). Optional. If absent: provider disabled.
|
||||
# NOTE: la clé API seule suffit pour le routage par palier et la génération
|
||||
# d'emails ; ZHIPU_ENABLED ne concerne que l'ancienne chaîne de secours.
|
||||
# Get API key from: https://z.ai/manage-apikey/apikey-list
|
||||
ZHIPU_ENABLED=false
|
||||
ZHIPU_API_KEY=
|
||||
ZHIPU_MODEL=glm-5.3
|
||||
# Base par défaut ; l'API internationale z.ai est compatible OpenAI.
|
||||
# ZHIPU_BASE_URL=https://api.z.ai/api/paas/v4
|
||||
|
||||
# Minimax Configuration (API publique compatible OpenAI). Optional. If absent: provider disabled.
|
||||
# NOTE: la clé API seule suffit pour le routage par palier et la génération
|
||||
# d'emails ; MINIMAX_ENABLED ne concerne que l'ancienne chaîne de secours.
|
||||
# Get API key from: https://www.minimax.io/ (MINIMAX_GROUP_ID requis selon le compte)
|
||||
MINIMAX_ENABLED=false
|
||||
MINIMAX_API_KEY=
|
||||
MINIMAX_MODEL=MiniMax-M3
|
||||
# MINIMAX_BASE_URL=https://api.minimax.io/v1
|
||||
MINIMAX_GROUP_ID=
|
||||
|
||||
# Mistral OCR — translation of SCANNED PDFs (image-only pages).
|
||||
# Optional. If absent: scanned PDFs are rejected with an explicit error.
|
||||
# Get API key from: https://console.mistral.ai/ (~$1 / 1000 pages)
|
||||
|
||||
Reference in New Issue
Block a user