API referenceStore onboarding

Store onboarding

3 operations. Every schema and example on this page is generated from the platform contract.

A store's first-time customer onboarding steps.

Public, pre-membership read for the customer app: the config-driven onboarding steps a first-time customer sees when joining a store (café / salon / retail / general). Resolves the family default set (selected from the store's category) overlaid with any merchant edits, returned enabled-only and in order. Separate from the gym member fitness-profile flow. Only publicly displayable step definitions are returned, never PII.

auth none, publicop getStoreOnboardingrate limitederrors

Parameters

store_idstring · uuidqueryrequired

Store whose onboarding flow to fetch.

Response, 200

versionnumberrequired
storeobjectrequired
2 child fields
idstringrequired
namestring, nullablerequired
familyenumrequired
food_drinkbeautyretailfitnessgeneral
stepsarray of objectrequired
6 child fields
kindenumrequired
welcomenamenotificationsmarketing_opt_interms_privacycelebrate
enabledbooleanrequired
requiredbooleanrequired
ordernumberrequired
copyobjectoptional
3 child fields
titlestringoptional
bodystringoptional
ctastringoptional
mediaobjectoptional
6 child fields
heroRefstringoptional

Legacy media_assets reference. Kept for installed binaries; new clients use the resolved URLs below.

imageUrlstringoptional

Full-bleed still for this step, from the store's own media.

videoUrlstringoptional

Silent looping video for this step. Clients must respect Reduce Motion and fall back to posterUrl/imageUrl.

posterUrlstringoptional

First-frame still for videoUrl, shown while the video loads and instead of it under Reduce Motion.

blurhashstringoptional

Tiny blurred placeholder so a slow image never renders as a grey box.

focusenumoptional

Crop anchor when the asset is cropped to fill. Defaults to center.

centertopbottom
config_hashstringrequired

Stable hash of the resolved steps, the completion/seen key: a merchant edit changes it and re-triggers onboarding once.

landingenumoptional

Which of the store's surfaces to open when onboarding completes, derived from what the store can actually do.

menuschedulecardchat
finaleanyoptional

What the celebration screen can honestly show this customer, computed from real store data.

curl -G "https://www.membber.com/api/v1/store-onboarding" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"
Response, 200
{
  "version": 1,
  "store": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "name": "Example name"
  },
  "family": "food_drink",
  "steps": [
    {
      "kind": "welcome",
      "enabled": true,
      "required": true,
      "order": 1,
      "copy": {
        "title": "Morning class",
        "body": "<body>",
        "cta": "<cta>"
      },
      "media": {
        "heroRef": "<heroRef>",
        "imageUrl": "https://example.com/image.jpg",
        "videoUrl": "https://example.com/image.jpg",
        "posterUrl": "https://example.com/image.jpg",
        "blurhash": "<blurhash>",
        "focus": "center"
      }
    }
  ],
  "config_hash": "<config_hash>",
  "landing": "menu",
  "finale": "<finale>"
}

Record that the customer finished a store's onboarding.

Persists a per-customer-per-store completion (with the completed config hash) so the welcome flow dedupes across devices and reinstalls, and a merchant edit (new hash) re-triggers it once.

Request body

store_idstring · uuidrequired

Store whose onboarding the customer finished.

config_hashstringrequired

The config_hash the customer completed (from getStoreOnboarding).

Response, 200

recordedbooleanrequired
curl -X POST "https://www.membber.com/api/v1/store-onboarding/complete" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "store_id": "6659c139-0000-4000-8000-d0c500000066",
    "config_hash": "<config_hash>"
  }'
Response, 200
{
  "recorded": true
}

Has the customer completed this store's onboarding?

auth customer:readop getStoreOnboardingStatusrate limitederrors

Parameters

store_idstring · uuidqueryrequired

Store to check.

Response, 200

completedbooleanrequired

True when the customer completed onboarding at the CURRENT config hash.

config_hashstringrequired

The current config hash (also returned by getStoreOnboarding).

curl -G "https://www.membber.com/api/v1/store-onboarding/status" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"
Response, 200
{
  "completed": true,
  "config_hash": "<config_hash>"
}
WhatsApp
Book a Call
Start Free