1. Prerequisites
To follow this guide, you will need to:2. Install and initialize the Dub Ruby SDK
1
Install
To install the Dub Ruby SDK, run the following command:
bash
2
Initialize
Initialize the Dub Ruby SDK by creating a new instance of the
Dub struct.3. Create link
Let’s create a short link using the Dub Ruby SDK.links_controller.rb
Full list of available attributes for the Link model
Full list of available attributes for the Link model
string
required
The destination URL of the short link.
string
The domain of the short link. If not provided, the primary domain for the
workspace will be used (or
dub.sh if the workspace has no domains).string
The short link slug. If not provided, a random 7-character slug will be
generated.
string | null
This is the ID of the link in your database. If set, it can be used to
identify the link in the future.
string | null
The ID of the tenant that created the link inside your system. If set, it can
be used to fetch all links for a tenant.
string
The prefix of the short link slug for randomly-generated keys (e.g. if prefix
is
/c/, generated keys will be in the /c/:key format). Will be ignored if
key is provided.boolean
default:false
Whether to track conversions for the short link.
string | null
The identifier of the short link that is unique across your workspace. If set,
it can be used to identify your short link for client-side click tracking.
boolean
default:false
Whether the short link is archived.
boolean
default:false
Whether the short link’s stats are publicly accessible.
string
The unique IDs of the tags assigned to the short link.
string | string[]
The unique name of the tags assigned to the short link (case insensitive).
string | null
The comments for the short link.
string | null
The date and time when the short link will expire at.
string | null
The URL to redirect to when the short link has expired.
string | null
The password required to access the destination URL of the short link.
boolean
default:false
Whether the short link uses Custom Social Media Cards feature.
string | null
The title of the short link generated via
api.dub.co/metatags. Will be used
for Custom Social Media Cards if proxy is true.string | null
The description of the short link generated via
api.dub.co/metatags. Will be
used for Custom Social Media Cards if proxy is true.string | null
The image of the short link generated via
api.dub.co/metatags. Will be used
for Custom Social Media Cards if proxy is true.string | null
The custom link preview video (og:video). Will be used for Custom Social Media
Cards if
proxy is true. Learn more: https://d.to/ogboolean
default:false
Whether the short link uses link cloaking.
string | null
The iOS destination URL for the short link for iOS device targeting.
string | null
The Android destination URL for the short link for Android device targeting.
boolean
default:false
Allow search engines to index your short link. Defaults to
false if not
provided. Learn more: https://d.to/noindexstring | null
The UTM source of the short link. If set, this will populate or override the
UTM source in the destination URL.
string | null
The UTM medium of the short link. If set, this will populate or override the
UTM medium in the destination URL.
string | null
The UTM campaign of the short link. If set, this will populate or override the
UTM campaign in the destination URL.
string | null
The UTM term of the short link. If set, this will populate or override the UTM
term in the destination URL.
string | null
The UTM content of the short link. If set, this will populate or override the
UTM content in the destination URL.
string | null
The referral tag of the short link. If set, this will populate or override the
ref query parameter in the destination URL.string | null
The ID of the program the short link is associated with.
string[] | null
An array of webhook IDs to trigger when the link is clicked. These webhooks
will receive click event data.
externalId field which is a unique identifier for the link in your own database to associate it with the link in Dub’s system.
links_controller.rb
externalId instead of the Dub linkId.
4. Upsert link
Dub Ruby SDK provides a method to upsert a link – where an existing link is updated if it exists, or a new link is created if it doesn’t. so you don’t have to worry about checking if the link already exists.links_controller.rb
5. Update link
Let’s update an existing link using the Dub Ruby SDK. You can do that in two ways:- Using the link’s
linkIdin Dub’s system. - Using the link’s
externalIdin your own database (prefixed withext_).
links_controller.rb
6. Retrieve analytics for link
Let’s retrieve analytics for a link using the Dub Ruby SDK.index.rb
7. Examples
Rails Example
See the full example on GitHub.