Skip to content
View in the app

A better way to browse. Learn more.

shookout

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
API and Integrations — Help Center shookout
0%

API and Integrations

Developer features built into shookout — License Key API, Update Check endpoint, Install URL, Prerequisites, and External Purchase

Overview

shookout includes several integration features that allow sellers to connect their products to external systems — automating licence validation, update checks, and buyer onboarding. These features are configured per-product during submission or in the creator panel.

License Key API

Programmatic activation, validation, and management of per-purchase licence keys.

Update Check

A public JSON endpoint your software can poll to detect when a new version is available.

Install URL

Collect the buyer's website URL at download time — used as a licence identifier or for seller records.

External Purchase

Replace file delivery with an external URL — redirect buyers to your own download or checkout system.

Prerequisites

Require buyers to own one or more other marketplace products before they can purchase or download.

License Key API

The License Key API allows your software to programmatically activate, validate, and inspect per-purchase licence keys issued by shookout. It is enabled per-software in the product settings and exposes a standalone PHP endpoint.

API endpoint

Base URL
https://shookout.com/applications/softwaremarketplace/interface/licenses/index.php

Actions

GET ?activate
Activates a licence key and returns a usage_id for subsequent checks. Required parameters: key, identifier (if the licence uses an identifier mode). Optional: setIdentifier=1 for first-time manual binding, extra (JSON payload stored on the activation record).
GET ?check
Validates an existing activation. Required parameters: key, identifier, usage_id. If IP enforcement is enabled, the request must originate from the same IP used during activation.
GET ?info
Returns full details about a licence — licence record, purchase, customer, and usage information. Required parameters: key, identifier.
POST ?updateExtra
Updates the extra JSON payload stored on a specific activation record. Required parameters: key, identifier, usage_id, extra (URL-encoded JSON).

Example requests

Activate
https://shookout.com/applications/softwaremarketplace/interface/licenses/index.php?activate&key=XXXX-XXXX-XXXX&identifier=YOUR-IDENTIFIER
Activate — first-time manual identifier binding
https://shookout.com/applications/softwaremarketplace/interface/licenses/index.php?activate&key=XXXX-XXXX-XXXX&identifier=YOUR-IDENTIFIER&setIdentifier=1
Check
https://shookout.com/applications/softwaremarketplace/interface/licenses/index.php?check&key=XXXX-XXXX-XXXX&identifier=YOUR-IDENTIFIER&usage_id=1
Info
https://shookout.com/applications/softwaremarketplace/interface/licenses/index.php?info&key=XXXX-XXXX-XXXX&identifier=YOUR-IDENTIFIER
updateExtra
https://shookout.com/applications/softwaremarketplace/interface/licenses/index.php?updateExtra&key=XXXX-XXXX-XXXX&identifier=YOUR-IDENTIFIER&usage_id=1&extra=%7B%22version%22%3A%221.0.1%22%7D

Common parameters

Parameter Required for Description
keyAll actionsThe licence key string
identifierAll actions (when identifier mode is set)The value used to bind and validate the licence
usage_idcheck, updateExtraThe activation record ID returned by activate
setIdentifier=1activate (first-time manual binding only)Binds the identifier on first activation
extraactivate, updateExtraURL-encoded JSON payload stored on the activation record

Error codes

Code Meaning
1101Bad key or identifier
1102Inactive key
1103Expired key
1201Maximum uses reached
1301Bad usage ID
1302Bad IP
1901Bad method
1902API disabled
1903Internal error

Licence key types

  • Standard — segmented alphanumeric key (e.g. ABCD-EFGH-IJKL-MNOP-QRST). Segment count (2–10) and length (4–8 characters) are configurable in the ACP.
  • MD5 — MD5-based key format for compatibility with systems that expect a hash-style key.

Licence identifier modes

The identifier mode controls how the API validates which buyer is activating a key:

  • None — no identifier required. Key alone is sufficient to activate.
  • Manual binding via API — the client sets an identifier on first activation using setIdentifier=1. Subsequent checks must match this value.
  • Email, Name, and Username — the identifier is resolved from the buyer's shookout account details.
  • Purchase ID — the identifier is the shookout purchase ID for this product.
  • Install URL — the identifier is the buyer's registered Install URL (see below).

ℹ️ The License Key API must be enabled by the seller in the product's ACP settings. It is disabled by default. IP enforcement and IP override are optional settings configurable per-platform.

Update Check Endpoint

The Update Check endpoint is a public, unauthenticated JSON endpoint your software can poll to detect whether a newer version is available on shookout. The response format is compatible with the IPS update-check task.

Endpoint

GET https://shookout.com/software/updatecheck/{id}
Returns JSON for the latest published release of the product with the given id. No authentication required. The product must be approved and publicly visible.

Response format

JSON response
{ "version": "1.2.0", "longversion": 10200, "released": 1746000000, "updateurl": "https://shookout.com/item/123-my-product/", "releasenotes": "https://shookout.com/item/123-my-product/" }

Use case

Include the Update Check URL in your software's settings or configuration file. On each launch, your software can call this endpoint and compare the returned longversion with its own installed version number. If the remote value is higher, prompt the user to download the new release from shookout.

Find your product's numeric id in the URL of your product page on shookout: shookout.com/item/123-product-name/

Install URL

Install URL is a feature that requires buyers to register the URL of the website where they will install your software before they can download it. It can also serve as the licence identifier when used with the License Key API.

How it works for buyers

  1. After purchasing, when the buyer clicks Download, a form appears asking for their website URL
  2. They enter a valid HTTP or HTTPS URL (e.g. https://example.com)
  3. The URL is stored against the purchase and shared only with the seller
  4. If the seller has locked the Install URL, it cannot be changed after initial submission

How it works for sellers

  • Enable Require Install URL Before Download in the product's ACP settings
  • Optionally customise the label text shown to buyers on the URL input form
  • Optionally add a privacy notice explaining how the URL will be used
  • Choose whether buyers can edit their URL after initial submission
  • View submitted Install URLs per-purchase in Store Manager → Customers

ℹ️ Install URL integrates with the License Key API — set the identifier mode to Install URL to use the buyer's registered URL as the licence identifier automatically.

External Purchase

External Purchase replaces shookout's file delivery with a redirect to a URL you control. When enabled, buyers who click Buy Now or Download are sent to your external URL instead of receiving files from shookout.

Use cases

  • Products hosted on your own server or CDN
  • Software delivered via your own licensing or download portal
  • Services or access-based products with no downloadable file
  • Products that require account creation on an external system before delivery

How to set it up

  1. In the product submission wizard, go to Step 2 — Upload & Version
  2. For the file type, select External Purchase instead of Uploaded file
  3. Enter the external URL buyers will be sent to
  4. The URL is shown as a button on the product page after purchase

You are responsible for availability and access control of the external URL. shookout does not verify or monitor external delivery systems.

Prerequisites

Prerequisites allow you to require that buyers already own one or more other shookout products before they can purchase or download your product. This is enforced on both the purchase action and the download action.

Configuration

Set up prerequisites in the product's Prerequisites tab in the creator panel:

  • Select one or more required marketplace products
  • Choose the match rule:
    • Require all — buyer must own every selected product
    • Require any — buyer must own at least one of the selected products

What buyers see

  • On the product page, missing prerequisites are listed with their status (Requirement met / Requirement missing)
  • The Buy Now and Download buttons are replaced with a Prerequisites Required button when requirements are not met
  • Signed-out visitors see a prompt to sign in to check their prerequisite status

ℹ️ Prerequisites are useful for add-ons, themes, or plugins that depend on a base product. They ensure buyers have the required software before purchasing an extension.

Frequently Asked Questions

How do I enable the License Key API for my product?

The License Key API is enabled in the product's ACP settings. Contact shookout support if you need the API enabled for your product — it is off by default.

Where do I find my product ID for the Update Check URL?

Look at your product's URL on shookout: shookout.com/item/123-product-name/. The number immediately after /item/ is your product ID.

Can a buyer change their Install URL after submitting it?

Only if the seller has enabled Allow Buyers to Edit Install URL in the product settings. If the URL has been locked by the seller, it cannot be changed — the buyer would need to contact the seller directly.

What does error 1201 mean?

Error 1201 means the licence key has reached its maximum activation limit set by the seller. The buyer should contact the seller to increase the limit or deactivate an old activation.

Can I use External Purchase and License Keys at the same time?

Yes. External Purchase controls where buyers are sent after purchase. The License Key API operates independently and can still issue and validate keys for externally delivered products.

Do prerequisites affect buyers who purchased before the requirement was added?

Prerequisites are enforced at the time of purchase and download. Buyers who already own the product before prerequisites were added retain their access — they are not retroactively blocked.

Need help setting up an integration?

Open a support ticket and the shookout team will help you configure your product correctly.

Contact Support

Account

Categories

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.