Gestion de Codes promotions (gift voucher)

Voila rapidement ce que je veux faire :

Créer des codes promotions à la volé, lorsque un utilisateur le
rentre, cela lui permet d’obtenir un téléchargement gratuit…
Je pensais utiliser une table code_promo… et générer des code promo
avec un random…
cela vous semble le bon choix ?

Sinon je vais aussi avoir besoin d’une fonction qui permet d’envoyer
un mail à plusieurs centaines de personnes (du mailing), mais surtout
que dedans il y ai un code promo unique par personne… il faut donc
que pour chaque destinataire un code promo soit générer et inclus dans
le texte du mail… le tout le plus simplement possible pour l’admin
qui fait le mailing…

faisable ?
de quel façon ?

Merci de m’aider un peu

Guillaume.

Bonjour Guillaume,

Je ne vais pas pouvoir te guider sur la partie technique (pas assez
d’expérience en Rails pour me le permettre) par contre j’ai une certaine
expérience des générations d’offres promotionnelles:

L’important dans une offre promotionnelle à code, c’est qu’il soit
compréhensible par le prospecté: LDLC a dans ce sens de bons codes car
ils
reprennent le thème de l’offre (par exemple un code XGAME5 pour une
offre
sur des jeux: le GAME cible l’offre, la lettre et le chiffre de part et
d’autre permettent à la fois de multiplier les possibilités d’offres sur
ce
thème, mais donne aussi l’impression au prespecté qu’il est “unique” et
que
ce code n’est pas “pour tout le monde”).
Des codes comme X5Y343B ont l’effet contraire: pas de cible, ils sont
difficiles à lire donc le prospecté ne prendra pas la peine de le lire
et du
coup… Ne sera pas tenté par l’offre. Et tant bien même il serait
intéressé, au moment de saisir le code avant de donner son n° de CB, il
sera
épuisé par les aller/retour entre son mail et le site et abandonnera sa
commande…
Les deux derniers points contre les numéros générés “vraiment random”
c’est
qu’ils risquent de peser dans les détecteur de spam, et que les
administrateurs de l’ERP sera bien plus heureux de pouvoir comprendre Ã
quel
offre se rapportait tel code, sans avoir à lier le champ descriptif du
code…

L’autre point de ton message concerne l’unicité: si tu génères
aléatoirement
des codes à usage unique (comme les téléchargement gratuit valable une
fois), mieux vaut s’assurer que deux clients ne recevront pas le même,
parce
que le deuxième à tenter d’utiliser le code risque de ne pas faire bonne
presse à la compagnie :slight_smile:
Dans ce cas, il faut soit utiliser une génération de code dont la
fonction
est bijective (voir injective… à confirmer par les matheux), (là la
complexité de la génération est en o(1) ), soit générer aléatoirement ta
chaîne et la comparer à toutes les chaînes précédemment générée pour
vérifier si elle n’a pas déjà été générée, mais là tu tapes ton o(2^n)
et tu
te suicides avant la fin de la génération si tu as un gros volume cible
ou
si tu n’as vraiment pas de chance.

Non, définitivement, une bonne fonction bijective fera ton bonheur:
c’est la
plus simple à mettre en oeuvre techniquement, mais la plus compliquée
mathématiquement (en tout cas, pour un nul en maths comme moi).

HTH

PS: Bah finalement, j’ai donné un conseil technique aussi :slight_smile:

Tom.

Le 30/05/07, Differenthink [email protected] a écrit :

Deja merci de tout ces avis…

Premièrement c est une bonne idée d’utiliser des code qui veulent un
peu près dire quelque chose… il est vraie que d’avoir EUYQ65DJH387
c’est l’horreur pour les clients…
Donc je vais réflechire plus en detail sur ce point…

Concernant la remarque du point de vue de l’Admin system, dans son
interface il aura toujours le code lié avec sa description (deux
requetes SQL)… donc la je pense que c’est un vrai faux problème…

Après le fait de verifier que l’on ai pas génerer deux codes
équivalent c’est effectivement extremement important… mais perso
j’aurais utilisé un générateur qui à comme seed le temps (à la
millieconde pret), ce qui fait qu’en pratique c’est presque impossible
de retomber sur un code deja généré…

En tout cas déjà merci de toutes ces info,

et si qqun à aussi un avis plus technique :wink: ?

Guillaume.

Si tu as une question spécifique à Rails, je veux bien y répondre.
Sinon, je peux établir des factures. Comprenne qui pourra.

++

yk

Le 30/05/07, Differenthink[email protected] a écrit :

Dsl si j’ai été un peu évasif…

En gros une question sur rails,
En utilisant Action Mail, est-il possible de faire un mail massif, et
de dire en meme temps que l’un des champs du mail est génerer
aléatoirement (code promo) pour chaque destinataire ?

merci,

Guillaume/

On 5/30/07, Differenthink [email protected] wrote:

Dsl si j’ai été un peu évasif…

En gros une question sur rails,
En utilisant Action Mail, est-il possible de faire un mail massif, et
de dire en meme temps que l’un des champs du mail est génerer
aléatoirement (code promo) pour chaque destinataire ?

Ne t’en fais pas pour ActionMailer, il a été pensé pour faire de
l’envoi de mail en tout genre et notamment des envois de mails
massifs. La limitation viendra plus rapidement du serveur SMTP à mon
avis et pour ça tu trouvera sur le wiki un article sur la distribution
sur plusieurs serveur smtp[1].

Sinon pour ton body de mail, il n’y a rien de plus simple pour le
généré. Tu crée un “model” avec une zone défini par un marqueur où
tu
veux mettre ton code et ensuite à chaque itération tu utilises la
méthode String#sub pour remplacer ton code par le vrai code :). Il y a
peut-être un peu plus élégant, mais je n’ai pas l’idée de bon matin.

[1] : Index of /blog


Cyril M.

Ca m’à l’air parfait tout ca… je te remercie beaucoup !