Demo Account

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 hours

If you want to store your data permanently, please register an account here:

Show Plans

This is fully functional demo instance. Please note that all user generated data will be deleted every 24 hours. Register your account here

Administrative API

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.

Your Secret API Key is <SHOW API KEY>

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.

User Management

Create User

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,...)
  • the number of maximum QR Codes (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"
   }
}

Edit User

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&currency=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 User

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"
   }
}

Show all users

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.

Optional parameters

  • 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"
                
            },
        ]
    }
}

Permissions

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.

Manage Webhooks

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

Copy User's Profile

With a given username you can copy that user's profile to another one.

A user's profile include:

  • Max. Campaigns
  • Max. Landing Pages
  • Scheduling
  • Vanity URLs
  • API
  • Import
  • Language
  • Delete QR Codes
  • Create/Edit QR Codes (readonly)
  • Sticker Shop
  • SMS Alerts
  • Currency
  • Measurement
  • External Tracking
  • Permissions
  • Landing Page Types
  • GPS Tracking Dialog
  • Webhooks

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

Delete User

Deletes a user for the given username.

Caution: Please be aware that by using this method all QR Codes, tracking data and landing pages of this user will be deleted.
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"
   }
}

Mass User Generator

You can also create many users at once using the Mass User Generator.

Invoicing User

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.

Statistic

Overall statistics of QR Codes

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"
  }
}

QR Code and Landing Pages management

Duplicate a QR Code or Landing Page

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.

Move a QR Code to another user

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

Assign Custom Variables

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

Code Examples

Remote Login

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>

Using the API with PHP

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}";
}   
?>
            

Webhooks

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

Learn Webhooks