Start here
Core concepts
Projects, test and live environments, link hosts and API keys.
Organizations and projects#
An organization holds people and billing. A project is one product of yours (usually one app, available on Android and iOS). People have a role in the organization: owner, admin, developer, marketer, analyst or viewer; what each can do is shown in the dashboard.
Test and live environments#
Every project has two environments with separate data:
| Test | Live | |
|---|---|---|
| Link host | {slug}-test.becklinks.com | {slug}.becklinks.com |
| Publishable key | pk_test_… | pk_live_… |
| Secret key | sk_test_… | sk_live_… |
| Use for | Development, staging builds | Released apps |
A test key never works on live links and the other way round (the SDK and the API answer with a hint when you mix them up). Apps, domains, links, campaigns and templates are configured per environment, so a change in test cannot break live.
Link hosts and domains#
Links live on a host. By default that is the shared host of your project, {slug}.becklinks.com.
Beck Links serves the apple-app-site-association and assetlinks.json files for every host it
answers, which is what lets iOS and Android open your app instead of the browser. The slugs www,
app, api, docs, status, admin, mail, help, cdn, static and assets are reserved, and so is
any slug ending in -test.
API keys#
| Key | Looks like | Where it belongs | What it can do |
|---|---|---|---|
| Publishable | pk_test_…, pk_live_… | Inside your app | SDK calls only: open and first-open reporting, events, links created from the app |
| Secret | sk_test_…, sk_live_… | Your servers and scripts | The REST API, within the scopes you gave the key (links:read, links:write, analytics:read, events:write, …) |
A secret key belongs to one project environment. Only a hash is stored, so a key is shown once when it is created; revoke and replace it if it leaks. See the API overview.
Links#
- A link has a short path on a host (
/summer), an in-app route (/product/123), optional custom data, campaign and UTM fields, per-platform destinations, an expiry and a status. - A URL template is a pattern such as
/c/{id}that gives every item a link without creating one per item. See Links for every item.
What happens on a click#
- The request reaches Beck Links. A person on a phone with your app and a verified host never gets here: the system opens the app directly.
- Otherwise Beck Links classifies the client (Android, iOS, desktop, in-app browser, link-preview bot) and sends it to the store, your web page, an interstitial for in-app browsers, or a preview page for bots.
- The click is recorded. After an install, the first open reports back and the install is matched to a click when the platform allows it. See Deferred deep linking.