Generate your coupon code in a single step
Notes:
-
I used
ABCDEFGHJKMNPQRSTUVWXYZ23456789!@#$%^&
repeated 4 times to allow for repeated characters in the code, and to make it way less likely that a duplicate is generated. You can have more times but there are diminishing returns -
I removed ambiguous characters
1ILO0
-
I used a triple shuffle - you could add more shuffles to randomise the array more but there are diminishing returns
-
I used substring
0;6
, but you can change the6
to however long you want your output to be
Module Export
You can copy and paste this module export into your scenario. This will paste the modules shown in my screenshots above.
-
Copy the JSON code below by clicking the copy button when you mouseover the top-right of the code block
-
Enter your scenario editor. Press ESC to close any dialogs. Press CTRLV to paste in the canvas.
-
Click on each imported module and save it. You may need to remap some variables.
JSON
{
"subflows": [
{
"flow": [
{
"id": 1,
"module": "util:SetVariable2",
"version": 1,
"parameters": {},
"mapper": {
"name": "Coupon",
"scope": "roundtrip",
"value": "{{substring(join(shuffle(shuffle(shuffle(split(\"ABCDEFGHJKMNPQRSTUVWXYZ23456789!@#$%^&ABCDEFGHJKMNPQRSTUVWXYZ23456789!@#$%^&ABCDEFGHJKMNPQRSTUVWXYZ23456789!@#$%^&ABCDEFGHJKMNPQRSTUVWXYZ23456789!@#$%^&\"; emptystring)))); emptystring); 0; 6)}}"
},
"metadata": {
"designer": {
"x": 0,
"y": 0,
"name": "Generate random code"
},
"restore": {
"expect": {
"scope": {
"label": "One cycle"
}
}
},
"expect": [
{
"name": "name",
"type": "text",
"label": "Variable name",
"required": true
},
{
"name": "scope",
"type": "select",
"label": "Variable lifetime",
"required": true,
"validate": {
"enum": [
"roundtrip",
"execution"
]
}
},
{
"name": "value",
"type": "any",
"label": "Variable value"
}
],
"interface": [
{
"name": "Coupon",
"type": "any",
"label": "Coupon"
}
]
}
}
]
}
],
"metadata": {
"version": 1
}
}
Blueprint
blueprint.json (2.8 KB)