オンラインショップでは、クーポンコード(「プロモーションコード」または「バウチャーコード」とも呼ばれます)を配布しています。
現在、これらのコードは、狂った開発者がフォーマットを設計したように見えます:
FCF4A803-18F0-46BE-A14D-6F26101C9E01
実際、その狂った開発者は私でした。 GUIDを使用しました。
今、私は(少なくとも少し)より使いやすいフォーマットを探しています。
YouTubeビデオのURLのようなものが想像できます。
BROWqjuTM0g
または、ティックの現在のタイムスタンプのみ:
635507907277936690
または現在のUNIXエポック時間:
1415200070
または、製品を識別するための接頭辞はありますか?例:
PROD1415200070
私の質問:
クーポンコードのフォーマット/構文をどのように「設計」しますか?
更新1:
私は言及するのを忘れていました:私たちは複数の異なるクーポンを配っています。したがって、「BUYIT」などの意味のある文字列は適合しません。ランダムな部分が必要だと思います。
多数の異なる一意のコードが必要な場合は、ユーザーが手動で入力する必要があるかどうかが重要であり、アルゴリズムによって生成する必要があります。
手動で入力
ユーザーが入力する必要があるものについては、それでも十分にランダムですが、以前はGHJ5-JKG4
のような文字列を生成することでこれを行いました。
まず、0から31までの乱数を選択します(A〜Z、0〜9、および1、0、I、Oを削除)。その文字を文字列に追加します。したがって、g
、次にh
、次にj
などとなります。上記の例を使用すると、ghj5jkg4
になります。
その文字列に不適切な言語がないか確認してください。 1fuck3r5のようなものをランダムに生成する必要はありません。コメントで提案されているように、特に数字を使用しない場合は、母音だけを削除するだけで十分な場合があります。
大文字GHJ5JKG4
に変換し、DBに保存します。ユーザーに表示するときは、文字列をハイフンGHJ5-JKG4
で区切って半分に分割します。これは、4文字を超えることを覚えるのが難しいためです。
有効かどうかを確認するときは、英数字以外の文字を削除し、DBでGHJ5JKG4
を検索してください。
メール内の一意のコード
より長いストリングで逃げることができます。たとえば、現在のUNIXタイムスタンプのMD5ハッシュの最初の10文字をキーワードに追加します。
FREE8CD89BAB45
非固有コード
何が素敵に見える!
@RomCからのFREESHIPPINGは良い例です。
100万のコードトップが必要だとします。ミリアール/十億の可能な組み合わせがあるフレンドリーなスキームを使用しますが、簡単にスケールアップできるため、すべての可能な組み合わせが有効なクーポンコードを生成したわけではありません。
できれば同じカテゴリから、1000の短くて頻繁な下品でない単語のリストを取得します。名詞だけ。順序をランダム化します。 0から999までのゼロが埋め込まれた一意の3桁の番号をそれぞれに割り当てます(テキストファイルの行番号を1つ減らすことができます)。
1000のうち1つだけを有効にするパターンを定義します。 4桁ごとが前の3桁のチェックディジットです。数字トリプレットで再グループ化します。これらの番号で識別されるシークレットリストから単語を選択します。
123_456_789_ – 1+2+3=6; 4+5+6=15, 1+5=6; 7+8+9=24, 2+4=6
123645667896
123 645 667 896
rabbit tennis engine water
これらの単語は、乱数よりも覚えやすく、入力(およびスペル修正)が簡単です。
同じ番号を任意にコーディングした他の言語のWordリストを使用してこれを国際化することもできます。
Garten Waage Müll Norden
大文字で単語を受け入れます。数字と句読点を捨てます。
これは頭のてっぺんからです。単一のチェックディジットで十分かどうか、小さいリストまたは大きいリストを使用する必要があるかどうか、またはワード番号がワードの位置に依存する必要があるかどうか(つまり、000000000は4つの異なるワードになる)を数学者に尋ねます。私の唯一のポイントは、ランダムな文字と数字のシーケンスを単純な単語に変更することです。非常に短い単語のリストに、サイトのビジネスにとって意味のある単語を入力できます。
クーポンコード(または制限)に使用できる値を定義する追加のルールがなければ、(1)覚えやすく、(2)可能な割引の種類を説明するものをお勧めします得られた。
例:
割引25%OFF
送料無料
WIDGET123(提案したような製品名-少なくとも、クーポンコードはその特定の製品のみを対象としています)。