This page acts as a replacement for Netmarble's coupon redemption pages. This is mainly for convenience but also because those pages straight up do not work for some people.
If you would prefer to use the original coupon redemption sites, the links are below.
To redeem the coupon to your account, this form needs you to enter your PID (Player ID), which is a unique 32-long string tied to your in-game account. While your PID data gets processed on the server-side, it is not stored anywhere.
You can find your PID by going to the home page, clicking on your IGN in the top left, going to the "INFO" tab, and copying the "ID" under the version number.
There is an option to save your PID(s) into your browser's localStorage
, which is opt-in only. localStorage
is browser-specific storage.
If you would like to flush your stored PID data, you can use either of the buttons below.
While nothing bad will happen (probably) if your PID is stolen, it is understandable if you do not want to enter your data below.
If you don't trust this form with your data and the Netmarble sites aren't working for you, an alternative is to POST the request yourself.
Requests should be sent to the following URLs:
Event Coupon | https://couponview.netmarble.com/coupon/mherosgb/1056/apply |
One-Time Coupon | https://couponview.netmarble.com/coupon/mherosgb/1280/apply |
Payload needs to consist of the following:
{ "pid": "<YOUR_PID_HERE>", "channelCode": 100, "couponCode": "<COUPON_CODE_HERE>" }
Example Python script (requires the requests
library):
import requests sites = [{"name": "Event Coupon", "url": "https://couponview.netmarble.com/coupon/mherosgb/1056/apply"}, {"name": "One-Time Coupon", "url": "https://couponview.netmarble.com/coupon/mherosgb/1280/apply"}] pid = input("Enter PID\n\t") code = input("Enter coupon code\n\t") for site in sites: print(f"\nTrying {site['name']}") payload = {"pid": pid, "channelCode": 100, "couponCode": code} response = requests.post(site['url'], data=payload) if not response.ok: print(f"Something went wrong, server sent {response.status_code}.") continue response = response.json() if response["resultCode"] != "SUCCESS": print(f"Unsuccessful: {response['resultCode']}") else: print(f"Success, claimed {response['rewardItem']['rewardTitle']}! Check your inbox in-game for your rewards.")
hasn't actually been added yet.
The "Multiple" tab allows you to store and redeem codes for multiple PIDs at once. This can be alt accounts, claiming for your mates or alliance members, whatever.
- The form rows above, and the multi-line text box below, are both representations of your "multiple PID" data.
- You can edit either one of them and the other will update. The multi-line is good for transferring between devices (since the "save" feature is browser-specific) or backing up your data.
- To edit the multi-line data, enter each PID on its own line followed by two pipes (||). You can then put a label after the two pipes.
- You can label each PID so you know what it is for (e.g. write the account name).
- When ready, hit "Claim All" and it will try to claim the given coupon code for all PIDs. This only works for Event Coupons (as One-Time Coupons obviously can't be claimed by multiple accounts).
Theme Switcher
Click on the icons on the right to switch theme.
-
one in a million (recommended light mode) palette
-
tequila sunrise (recommended dark mode) palette
-
fancy ouu palette
-
summer days palette
-
risky risky wiggy wigi palette
-
electricity tonight bebe palette
-
pop pop pop uh uh palette
-
poop poop poop ugh ugh palette
-
dub dub dub dub dub dub dub palette
-
HOT PERSON AT WORK palette
-
ddu-du ddu-du jonny palette
-
trying to let you know palette
-
wanna wanna wanna make it shine palette
-
mrs clord palette
-
Staul Drad palette
-
wavegang#9999 palette
Modal Header
A bunch of text
Modal Header
A bunch of text
Modal Header
A bunch of text
Modal Header
A bunch of text