Skip to content
Last updated

Install & test your app before moderation

Get your draft application onto a test location you control and make your first authenticated calls — before submitting for moderation. This is a supported, self-serve flow. You should not need to read any source code to finish it.

What you'll have at the end

  • Your application linked to your test location with status active.
  • A system-user token authorized to read that test location's data.
  • A repeatable way to reinstall on any location you own — no moderation required.

Before you start

You needWhere to get it
Application ID and Partner IDDeveloper console — the console labels both clearly on your application's General info page
Partner TokenMarketplace → Account settings (appears automatically after registration). See How to Get API Keys
System User TokenIn the application's API Access settings, enter the system user's User ID, save, and copy the generated User Token. Configure the required credentials and application access rights before installation
Owner login on a test location you controlAny location where your user has the Manage user rights permission

Throughout this guide the examples use application 2391 and test location 4564. Replace tokens with your own — never commit them.

How installation works

Installing an app on a location is a two-step handshake. Neither step alone installs the app:

  owner grants access            partner confirms (within 1 hour)
uninstalled ─────────────▶ pending ─────────────────────────────▶ active

                              └── no confirm within 1h ──▶ stays pending (reconnect)
StatusMeaning
pendingOwner connected the app; waiting for the partner to confirm
activePartner confirmed; system user linked, data calls allowed
freezedPreviously active, frozen (e.g. non-payment)

Draft apps are installable but hidden. The public app-store card for a draft returns 404. That is expected — install via the API below, or via the console “Link to request a review” (see Test from the console).

Step 1 — Owner connects the app (grant_access)

The location owner grants the app access. This creates the link in pending.

  • Host: https://api.alteg.io/api/v1 (main API)
  • Auth: combined partner + owner user token
  • Permission: the user must have Manage user rights on the location
curl -X POST \
  'https://api.alteg.io/api/v1/company/4564/marketplace/applications/2391/grant_access' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <PARTNER_TOKEN>, User <OWNER_USER_TOKEN>'

Expected: 201 Created. The link is now pending (or immediately active for non-public/whitelisted apps — fast install).

Reference: Connect an Application to a Location.

Step 2 — Partner confirms (installation callback)

Confirm the installation with your Partner Token. This moves the link to active, links the system user, and delivers your integration settings.

  • Host: https://app.alteg.ioroot, not https://api.alteg.io/api/v1
  • Auth: Partner Token only
  • Deadline: within 1 hour of Step 1
curl -X POST \
  'https://app.alteg.io/marketplace/partner/callback' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <PARTNER_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"salon_id": 4564, "application_id": 2391}'

Expected: 201. The link is now active.

The salon_id body field and the /marketplace/salon/… path segment are the Location ID and Location scope — legacy identifier names kept for backwards compatibility.

Reference: Application Installation for a Location.

Step 3 — Verify

Check the installation status:

curl -X GET \
  'https://app.alteg.io/marketplace/salon/4564/application/2391' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <PARTNER_TOKEN>'

You're done when data.connection_status.status is active.

You can also confirm the location shows up for your system user:

curl -X GET \
  'https://api.alteg.io/api/v1/companies?my=1' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <PARTNER_TOKEN>, User <SYSTEM_USER_TOKEN>'

The system-user token is the token in the application's API Access → User Token field; use it as User <...> for data calls against installed locations. For how system-user rights work, see Access to the API.

Reference: Application Status Data for Any Location.

Test from the console (no API)

If you just want to place a draft on your own location through the UI:

  1. In the developer console open your application's General info.
  2. Copy the “Link to request a review”.
  3. Open it while signed in as an admin of your test location.
  4. Press Connect.

This runs Step 1 for you. Full walkthrough: Step-by-step guide to placement in the marketplace.

If something goes wrong

SymptomCauseFix
Step 1 returns 403User lacks Manage user rights, or install is blocked for the locationUse an owner/admin login; contact your account manager if blocked
Link stuck in pendingStep 2 never sent, or sent after the 1-hour windowReconnect (Step 1), then send the callback within 1 hour
Callback returns 404Wrong host — you called api.alteg.io/api/v1/...Use the https://app.alteg.io root: https://app.alteg.io/marketplace/partner/callback
Data calls return 401Missing or wrong User <...> tokenUse the system-user token from the application's API Access → User Token field