Jomashop Universal Deep Link Server

Version, currently main branch1 version
  • main branchlatestMay 8, 2026

github.com/jomashopio/universal-deeplink-server-jomashop

Universal Deep Links enables you to seamlessly deep link users from emails, SMS, push notifications, and in-app messages directly into the most relevant parts of your app.

0 stars
0 dependents
License: not declared

Installation

# Add this to your shard.yml
dependencies:
  Jomashop Universal Deep Link Server:
    github: jomashopio/universal-deeplink-server-jomashop
    branch: main

main is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
1.19.2
Authors
Fernando Valverde <https://github.com/fdocr>, Jomashop <https://www.jomashop.com>
Target
  • udl-server from src/server.cr

Dependencies

Runtime Dependencies

Development Dependencies

  • ameba~> 1.5.0github: crystal-ameba/amebadev

README

Jomashop UDL Server

A simplified, production-ready fork of fdocr/udl-server — stripped down to a single-purpose path-passthrough redirect server for Jomashop mobile app deep linking.

How it works

Bounces traffic through a separate domain so iOS Universal Links and Android App Links trigger correctly — even when users are browsing inside webviews (Instagram, TikTok, etc).

flowchart TD
    A["📱 User taps link in Instagram/TikTok\nudl.jomashop.com/rolex.html"] --> B{"OS checks AASA / assetlinks\non udl.jomashop.com"}
    B -- "App installed" --> C["🟢 Jomashop App opens directly\nDeep links to /rolex.html"]
    B -- "App not installed" --> D["⚡ UDL Server\nudl.jomashop.com"]
    D -- "302 Redirect" --> E["🌐 www.jomashop.com/rolex.html"]

    style A fill:#dbeafe,stroke:#2563eb
    style B fill:#fef3c7,stroke:#d97706
    style C fill:#d1fae5,stroke:#059669
    style D fill:#fef3c7,stroke:#d97706
    style E fill:#e5e7eb,stroke:#6b7280

Usage

All paths are forwarded to DEFAULT_DESTINATION:

  • https://udl.jomashop.com/ → redirects to DEFAULT_DESTINATION
  • https://udl.jomashop.com/watches/rolex → redirects to DEFAULT_DESTINATION/watches/rolex

Smart App Store Link

/home detects the visitor's OS via user-agent and instantly redirects:

DeviceDestination
iPhone / iPadApp Store
AndroidGoogle Play
Desktop / Otherjomashop.com/app/

The redirect fires in <script> before the page renders, so it's effectively instant. If JS is disabled or the redirect stalls, users see a polished fallback page with manual store buttons.

Use it as a single link in email campaigns, QR codes, social bios, etc:

https://udl.jomashop.com/home

Environment Variables

VariableDescriptionExample
DEFAULT_DESTINATIONTarget site for all redirectshttps://www.jomashop.com
PORTServer port (default 3000)3000

Performance

Crystal + Kemal — microsecond response times.

performance