Record an in-app store sheet tap and get what keeps the deep link

Record an in-app store sheet tap and get what keeps the deep link (new).

THE CALL, PART BY PART

method

POST

host

strait.link

version

/v1

resource

/store-sheet

POST /v1/store-sheet

Auth: publishable key as publishableKey in the JSON body. Safe in apps and websites.

Request

New. Called by the SDKs (Strait.openStoreSheet) just before an app shows the app store inside itself: Google Play inline install on Android, SKOverlay / SKStoreProductViewController on iPhone. Records a tap with sent_to 'store_sheet' (not billed while the store sheet is new). Android gets the Play Install Referrer string (strait_link + strait_click, matched exactly by /v1/referrer); iPhone gets the App Store id, the link's campaign as the ct token and, with Paste handoff on, a one-time handoff link. This works inside your own app only; a link tapped inside another company's app cannot open a store sheet there.

Body (JSON)

publishableKey required string
url required string
A short link of the key's workspace
deviceClass "phone" | "tablet"
What the app runs on (iPad = tablet); phone when not sent
platform required "android" | "ios"

Response

  • 200 ok:true with the store details, or ok:false with reason (not_found, disabled, expired, not_live, password_protected)
  • 400 Bad url or platform
  • 401 Missing or invalid publishable key
Request · curl
curl -X POST https://strait.link/v1/store-sheet \
  -H "Content-Type: application/json" \
  -d '{
    "publishableKey": "st_pub_live_…",
    "url": "https://hilltop.strait.link/summer",
    "platform": "android"
  }'

The response, printed

Response 200
{
  "ok": true,
  "beta": true,
  "clickId": "9a1c7e52-4b3d-4f8e-a6d1-0c2b5e7f9a34",
  "linkId": "lnk_5f0c2a8e-3b1d-4f6a-9c7e-2d8b1a0e4f63",
  "android": {
    "package": "shoes.hilltop.app",
    "referrer": "strait_link=lnk_5f0c2a8e-3b1d-4f6a-9c7e-2d8b1a0e4f63&strait_click=9a1c7e52-4b3d-4f8e-a6d1-0c2b5e7f9a34"
  }
}