Welcome to our QR Code demo account. You can test all functions however please note that all your generated data will be deleted every 24 hours.
I understand that this is just a demo account and all my data is deleted every 24 hoursIf you want to store your data permanently, please register an account here:
Show PlansThis is fully functional demo instance. Please note that all user generated data will be deleted every 24 hours. Register your account here
The section is for developers only, who are familiar in programming against APIs and who have basic knowledge about JavaScript, JSON, Webhooks and PHP backend programming.
With this API you are able to create, edit and list users.
Use this API to automatically synchronize user accounts between
your website and this white label instance.
This API is not intended for your users but solely
for administrators of the platform.
Please use the token only for serverside based communication and
you may not ever expose the token on a client
(e.g. doing ajax calls in a browser).
Each user has its own public API key which he can use for retrieving
statistics or managing QR Codes under his account.
If you run your scripts calling our API from public cloud services like Microsoft Azure, Amazon AWS, Google Cloud or Digital Ocean please tell us your IP-Range so we can whitelist your IPs in case your requests get blocked by our firewall.
Note: If you want to use a
&
in a variable (e.g. password),
please use the hexadecimal value
%26
instead.
If a #
is part of your request replace the char with %23
.
Each API request returns a JSON response.
The following API request generates a new user. Please provide at least a username and password. Optional you may set a
firstname
, lastname
email
phone
street
city
zip
state
company
companyurl
currency
(e.g. USD
, EUR
, SEK
,...)
measurement
(METRIC
or IMPERIAL
)
timeformat
(12
or 24
)
language
(en, de, sv, es)
region
set this parameter if you have a
custom language
(e.g. en_001, en_GB, en_US,...)
(maxcampaigns)
and landingpages (maxlandingpages)
a user is allowed to create.
https://white.qrd.by/api/admin/user/create?token=<SHOW API KEY>&loginname=adam& password=342adam$12&firstname=Adam&lastname=Sandler&[email protected]&phone=004376543210& city=NY&street=Wallstreet 1&state=NY&zip=11111&company=meine firma&companyurl=https://meinefirma.com& language=en&maxcampaigns=1000&maxlandingpages=1000
The repsonse is a JSON object containing the basic data of the created user.
{ "result":{ "loginname":"adam", "firstname": "Adam", "lastname": "Sandler", "language": "en", "company": "my company", "companyurl": "https://mycompany.com", "city": "NY", "zip": "11111", "street": "Wallstreet 1", "state": "NY", "region": "en_US", "currency": "USD", "measurement": "IMPERIAL", "timeformat": "24", "email": "[email protected]", "phone": "004376543210", "status": ACTIVE", "apikey": "7bbc9930309e0f7760462e", "secret": "e3ec2ad6ad19b03f5ecd1f", "maxcampaigns": "1000", "maxlandingpages": "1000", "creationdate": "2025-04-01 00:10:58" } }
For existing users you may change the basic data
(first-
,
lastname
,
e-mail
,
currency
,
measurement
,
timeformat
,
company
, companyurl
,
city
, zip
,
street
, state
,
phone
or
password
) retrospectively.
You may set the language
to
English en
,
German de
or
Swedish sv
or
Spanish es
.
The status may be toggled between
ACTIVE
and
INACTIVE
. Inactive users are not able to
login into the platform, but their QR Codes and landingpages
will continue to work.
Please provide an existing username to change the data:
https://white.qrd.by/api/admin/user/edit?token=<SHOW API KEY>&loginname=adam& password=newadmin2&firstname=Adam2&lastname=Sandler2&[email protected]&phone=004376543210&status=ACTIVE& measurement=METRIC¤cy=EUR
The response will contain the updated user data:
{ "result":{ "uid":"12345678", "loginname":"adam", "lastlogin":"2025-04-01 00:10:58", "firstname": "Adam2", "lastname": "Sandler2", "language": "en", "measurement": "METRIC", "timeformat": "24", "currency": "EUR", "email": "[email protected]", "phone": "004376543210", "status": ACTIVE", "apikey": "7bbc9930309e0f7760462e", "updated": "2025-04-01 00:10:58" } }
Get a user object by user name.
https://white.qrd.by/api/admin/user/get?token=<SHOW API KEY>&loginname=adam
The response will contain the user data if exists.
The lastedit
date is the date when a user has modified a landing page.
{ "result":{ "uid":"12345678", "loginname":"adam", "lastlogin": "2025-04-01 00:10:58", "lastedit": "2025-04-01 00:10:58", "firstname": "Adam2", "lastname": "Sandler2", "language": "en", "measurement": "METRIC", "timeformat": "24", "currency": "EUR", "email": "[email protected]", "phone": "004376543210", "company": "my company", "companyurl": "mycompany.url", "street": "street to mars", "city": "Marsian", "zip": "1011001", "status": ACTIVE", "apikey": "7bbc9930309e0f7760462e", "secret": "e3ec2ad6ad19b03f5ecd1f", "updated": "2025-04-01 00:10:58" } }
The following API call retrieves a list of all existing users in the platform:
https://white.qrd.by/api/admin/users?token=<SHOW API KEY>
The response contains a list of the users with their user id, loginname, firstname, lastname, language, email, phone, company, companyurl, street, city, zip, state, country, status, apikey, secret, lastlogin and creationdate.
output
If you set this optional parameter to output=xlsx
, the data will be returned as an Excel file.{ "result": { "users": [ { "uid":"12345678", "loginname":"test", "firstname": "Richard", "lastname": "Pepperoni", "language": "en", "email": "[email protected]", "phone": "0043123456789", "company": "my company", "companyurl": "mycompany.url", "street": "street to mars", "city": "Marsian", "zip": "1011001", "state": "MS", "country": "Austria", "status": ACTIVE", "apikey": "10aff990b55ddb663c10441", "secret": "e3ec2ad6ad19b03f5ecd1f", "lastlogin": "2025-04-01 00:10:58", "creationdate": "2025-04-01 00:10:58" }, { "uid":"123456789", "loginname":"test2", "firstname": "Eva", "lastname": "Mandarini", "language": "en", "email": "[email protected]", "phone": "00415555555", "company": "my company", "companyurl": "mycompany.url", "street": "street to mars", "city": "Marsian", "zip": "1011001", "state": "MS", "country": "USA", "status": ACTIVE", "apikey": "aa4922f289d5cc43ae93225", "secret": "408f75a8c0dada595208c5", "lastlogin": "2025-04-01 00:10:58", "creationdate": "2025-04-01 00:10:58" }, ] } }
You may edit the permissions for a user:
https://white.qrd.by/api/admin/user/permission?token=<SHOW API KEY>& loginname=adam&<PERMISSION>=<VALUE>
Permission | Value | Description |
---|---|---|
scheduler |
0 or 1 |
If enabled a user can create scheduled redirects. |
vanityurls |
0 or 1 |
If enabled a user can create custom shorted URL (vanity URL). |
deleteurls |
0 or 1 |
If enabled a user can delete his created campaigns. |
readonly |
0 or 1 |
If set to true a user can only read the statistics of a QR Code. He cannot create or edit QR Codes. |
import |
0 or 1 |
If enabled a user is able to import campaigns or landingpages. |
gps |
0 or 1 |
IF GPS is activated, QR Code scan may be tracked with GPS. |
api |
0 or 1 |
If enabled a user can use the API with his API key. |
sms |
0 or 1 |
If SMS notification is enabled, users may be informed if a QR Code has been scanned. A user can enable/disable SMS notification on each QR Code. |
digitalmenu |
0 or 1 |
If digital menu is enabled, the QR Code type for creating digital menus is shown when creating a QR Code. |
businesscards |
0 .. 1000 |
The maximum number of business cards a user is allowed to create. |
products |
0 .. 1000 |
The maximum number of products a user is allowed to create. |
leads |
0 .. 1000 |
The maximum number of lead forms a user is allowed to create. |
realestates |
0 .. 1000 |
The maximum number of real estates a user is allowed to create. |
coupons |
0 .. 1000 |
The maximum number of coupons a user is allowed to create. |
plain |
0 .. 1000 |
The maximum number of plain landing pages a user is allowed to create. |
social |
0 .. 1000 |
The maximum number of social landing pages a user is allowed to create. |
tracing |
0 .. 1000 |
The maximum number of digital guest lists a user is allowed to create |
Setting a landing page type (businesscards
, products
, ...) to 0
automatically deactivates that landing page type and it is not
possible for a user to create a landing page of that type.
If you set a username your can manage the Webhooks for this user.
The parameter type
must be a valid webhook type (VOUCHER_REDEEMED, VOUCHER_CREATED, VOUCHER_UPDATED, VOUCHER_EXPIRED, QR_CODE_CREATED, QR_CODE_SCANNED, QR_CODE_UPDATED, LEAD_CREATED, TRACING_CREATED, CALL_2_ACTION_BUTTON_CLICKED, JOB_FINISHED).
The parameter url
must be a public URL. If the parameter is empty the webhook is deleted.
https://white.qrd.by/api/admin/user/webhook?token=<SHOW API KEY>&loginname=adam&type=QR_CODE_CREATED&url=https://my.webhook.com/qrcodecreated
Alternatively You can chain webhooks in one request as well e.g.:
https://white.qrd.by/api/admin/user/webhook?token=<SHOW API KEY>&loginname=adam&QR_CODE_CREATED=https://my.webhook.com/qrcodecreated&QR_CODE_UPDATED=https://my.webhook.com/qrcodeupdated
With a given username you can copy that user's profile to another one.
A user's profile include:
If you set to
to ALL_USERS
, the profile of the
from
user will be applied to all existing users.
Use this value with caution, since all user profiles will be overwritten.
https://white.qrd.by/api/admin/user/copy/profile?token=<SHOW API KEY>&from=adam&to=eva
Deletes a user for the given username.
https://white.qrd.by/api/admin/user/delete?token=<SHOW API KEY>&loginname=adam
The result is a JSON object of the deleted user:
{ "result":{ "loginname":"adam", "firstname": "Adam2", "lastname": "Sandler2", "email": "[email protected]", "phone": "004376543210", "status": DELETED", "apikey": "7bbc9930309e0f7760462e", "deleted": "2025-04-01 00:10:58" } }
You can also create many users at once using the Mass User Generator.
We do not support invoicing your users through our platform. However, there are many services like fastspring.com or stripe.com that offer you reoccurring billing and subscription management.
Returns the number of all created QR codes, all scanned QR codes and the total number of all scans.
https://white.qrd.by/api/admin/stat?token=<SHOW API KEY>
{ "result": { "number_short_urls": "41", "used_shorted_urls": "17", "number_redirects": "612378" } }
With a given short url
you can duplicate a QR Code or landing page
(supported types: business card, coupons, products, lead or plain landing page).
With an optional parameter user
you can set the target user to copy the QR Code to.
You can also set a vanity URL vanityurl
for the new QR Code.
Optionally, you can also assign a different title
to the new landing page.
https://white.qrd.by/api/admin/user/copy/url?token=<SHOW API KEY>&url=abc&user=adam&vanityurl=newvanity
If you copy a business card you can optionally copy the user profile image by adding parameter
cloneuserimage=1
.
With a given code you can move a QR Code to another user.
https://white.qrd.by/api/admin/user/move/url?token=<SHOW API KEY>&url=abc&user=adam
Using a short url code
you can assign key-value pairs. A key only accepts alpha-numeric values with an underscore to separate.
https://white.qrd.by/api/admin/dataelements/push?token=<SHOW API KEY>&code=2k&key=firstname&value=Demo
If you want a user to login from your site you can do this by passing
USERNAME
and PASSWORD
to the following URL:
https://white.qrd.by/user/login?user=<USERNAME>&password=<PASSWORD>
or through a HTML form where the action of the form points to the login URL from above:
<form action="https://white.qrd.by/user/login" method="POST"> <label for="user">User: </label> <input id="user" name="user" /> <label for="password">Password: </label> <input id="password" name="password" /> <input type="submit" value="Submit" /> </form>
To create a list of all users created on the platform use the following script:
<?php $apiUrl = "https://white.qrd.by/api/admin"; $token = "<SHOW API KEY>"; $jsonurl = "$apiUrl/users?token=$token"; $json = file_get_contents($jsonurl, 0, null, null); $json_output = json_decode($json); ?> <table> <tr><th>User</th><th>API Key</th></tr> <?php foreach ($json_output->result->users as $user) { echo "<tr><td>{$user->loginname}</td><td>{$user->apikey}</td></tr>"; } ?> </table>
To create a user you can use the snippet below. When executed for the first time, the user will be created. A subsequent execution with the same parameters would lead into an error with the message that the user has already been created.
<?php $apiUrl = "https://white.qrd.by/api/admin"; $token = "<SHOW API KEY>"; $loginname = "adam"; $password = "342adam$12"; $firstname = "Adman"; $lastname = "Sandler"; $email = "[email protected]"; $phone = "004312345678"; $jsonurl = "$apiUrl/user/create?token=$token&". "loginname=$loginname&". "password=$password&". "firstname=$firstname&". "lastname=$lastname&". "email=$email&". "phone=$phone"; $json = file_get_contents($jsonurl, 0, null, null); $json_output = json_decode($json); $error = $json_output->result->error; if (isset($error)) { echo "{$error->code}, {$error->message}"; } else { $user = $json_output->result; echo "{$user->loginname}, {$user->apikey}"; } ?>
With Webhooks you can send event based information to a customized URL.
When an event e.g. QR_CODE_SCANNED
occurs, your given URL will be called (webhooked).