Random Alphanumeric Coupon Code Generator

Generate your coupon code in a single step :+1:

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 the 6 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.

  1. Copy the JSON code below by clicking the copy button when you mouseover the top-right of the code block
    Screenshot_2024-01-17_200117

  2. Enter your scenario editor. Press ESC to close any dialogs. Press CTRLV to paste in the canvas.

  3. 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)

13 Likes